ESP32 学习笔记 - 环境搭建
一、安装软件包
打开终端
输入命令(以下命令都是Ubuntu系统的)
sudo apt-get install git wget libncurses-dev flex bison gperf python python-click python-pip python-setuptools python-serial python-cryptography python-future python-pyparsing python-pyelftools cmake ninja-build ccache
会提示需要输入密码

输入密码后有可能会提示

使用下面的命令解锁一下就行了
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
成功以后就是下面的界面

二、安装工具链
乐鑫是默认将工具链安装在 ~/esp/ 目录的,我也将工具链安装到这里吧。
先创建并进入该目录:
mkdir -p ~/esp
cd ~/esp

使用 wget 命令下载 64 位的工具链:

下载过程

将工具链解压:
tar -xzf xtensa-esp32-elf-gcc8_2_0-esp32-2019r1-linux-amd64.tar.gz

解压后的工具链位于路径~/esp/xtensa-esp32-elf下面。该目录下面的bin目录就是我们用来编译 ESP-IDF 工程所需的可执行程序。如果要使系统直接能够这些程序,
要使用工具链,你还需要在 ~/.profile 文件中更新环境变量 PATH,需要将这个bin文件夹路径添加到系统的环境变量PATH中去。这里直接使用echo命令将其添加到脚本文件~/.bashrc中(系统每次启动刚时都会执行这个脚本)。
使用gedit .profile打开.profile 文件
gedit .profile
在.profile 文件的最下方添加下面的代码,如果路径跟我的路径不同下面代码中的路径需要自行修改
export PATH="$HOME/esp/xtensa-esp32-elf/bin:$PATH"
三、获取ESP-IDF
工具链(包括用于编译和构建应用程序的程序)安装完后,你还需要 ESP32 相关的 API/库。API/库在ESP-IDF仓库中。要获取这些 API/库,打开一个终端,进入某个你希望存放 ESP-IDF 的目录,然后 git clone 以下指令(我将ESP-IDF 下载至 ~/esp/esp-idf):
git clone --recursive https://github.com/espressif/esp-idf.git

接收有点慢...慢慢等
接收完以后需要设置环境变量
使用gedit .profile打开.profile 文件
gedit .profile
在.profile 文件的最下方添加下面的代码,如果路径跟我的路径不同下面代码中的路径需要自行修改
export IDF_PATH=/home/hj/esp/esp-idf
重点:.profile 文件中添加的两次环境变量是编译的关键,两次添加完成以后需要重启电脑或者重新登录才能生效
现在可以开始创建 ESP32 应用程序了。为了快速开始,我们这里以 IDF 的 examples 目录下的 get-started/hello_world 工程为例进行说明。
将 get-started/hello_world 拷贝到 ~/esp 目录:
cd ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .
在终端窗口中,输入 cd ~/esp/hello_world 进入 hello_world 所在目录,然后启动工程配置工具 menuconfig:
cd ~/esp/hello_world
make menuconfig
如果没问题就会进入这个界面

在菜单中,进入 Serial flasher config > Default serial port
配置串口(工程将会加载到该串口上)。
输入回车确认选择,选择 <Save> 保存配置,然后选择 <Exit> 退出应用程序。
然后就可以编译和烧写应用程序了,执行指令:
make flash
第一次编译可能会出现几个错误
错误一:
/dev/ttyUSB0 permission denied
对端口没有权限
解决方式:
sudo chmod /dev/ttyUSB0
这种方式重启电脑后又会出现问题,网上还有一种方式,我试了一下没成功
sudo usermod -aG dialout hj(这里写你的用户名)
为了方便调试,最好安装一个cutecom

初次之外我还安装了sublime text3用来编辑代码,这里提供个deb版本的安装包
ESP32 学习笔记 - 环境搭建的更多相关文章
- MongoDB学习笔记~环境搭建
回到目录 Redis学习笔记已经告一段落,Redis仓储也已经实现了,对于key/value结构的redis我更愿意使用它来实现数据集的缓存机制,而对于结构灵活,查询效率高的时候使用redis就有点不 ...
- 0.react学习笔记-环境搭建与脚手架
0.环境搭建 笔者使用的是deepin/mac两种系统,因为两个电脑经常切换用.环境搭建没什么区别. 0.1 node安装 按照node官网叙述安装 # Using Debian, as root c ...
- VS2013中Python学习笔记[环境搭建]
前言 Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色 ...
- Spring学习笔记--环境搭建和初步理解IOC
Spring框架是一个轻量级的框架,不依赖容器就能够运行,像重量级的框架EJB框架就必须运行在JBoss等支持EJB的容器中,核心思想是IOC,AOP,Spring能够协同Struts,hiberna ...
- DVWA学习笔记-----环境搭建
DVWA是一款渗透测试的演练系统,在圈子里是很出名的.如果你需要入门,那么就选它了. 我们通常将演练系统称为靶机,下面请跟着我一起搭建DVWA测试环境. 安装PHP集成环境 我这里用的是phpstu ...
- hadoop学习笔记——环境搭建
基础环境准备: 系统:(VirtualBox) ubuntu-12.04.2-desktop-i386.iso hadoop版本:hadoop-0.20.203.0rc1.tar.gz jdk版本:j ...
- Hibernate学习笔记--环境搭建及运行
1.hibernate开发包下载 http://sourceforge.net/projects/hibernate/files/ 如果不能访问请用代理http://dongtaiwang.com/l ...
- ESP32学习笔记(一) 环境搭建与下载
ESP32学习笔记(一) 环境搭建与下载 作者:Nevel 博客:nevel.cnblogs.com 转载请保留出处 前几天刚入手了ESP32模块,趁着放假有时间,我们先把ESP32的编译环境搭建好 ...
- Hadoop学习笔记(10) ——搭建源码学习环境
Hadoop学习笔记(10) ——搭建源码学习环境 上一章中,我们对整个hadoop的目录及源码目录有了一个初步的了解,接下来计划深入学习一下这头神象作品了.但是看代码用什么,难不成gedit?,单步 ...
随机推荐
- 爬虫入门之handler与opener(三)
1 自定义opener opener是 urllib.request.OpenerDirector 的实例,我们之前一直都在使用的urlopen,它是一个特殊的模块构建好的opener 但是基本的ur ...
- Qt 窗口移动实现
很多人觉得系统自带的标题栏太丑了,想要自绘一个标题栏,去掉了系统自带的标题栏后,就需要自己实现窗口移动,下面的代码就是实现窗口移动. widget.h #ifndef WIDGET_H #define ...
- HDU 4944 逆序数对
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4911 题意: 给出一个序列,可以相邻的交换k次,求 k 次之后,逆序数对最少是多少: 分析: 可以发现 ...
- Uva 11419 我是SAM
题目链接:https://vjudge.net/problem/UVA-11419 题意:一个网格里面有一些目标,可以从某一行,某一列发射一发子弹,可以打穿: 求最少的子弹,和在哪里打? 分析: 听说 ...
- PHP设计模式——责任链模式
<?php /** * 责任链模式 * 组织一个对象链处理一个请求,每个处理对象知道自己能处理哪些请求,并把自己不能处理的请求交下一个处理对象 * * 适用场景: * 1.有多个对象可以处理同一 ...
- 2018.10.7 理解Hibernate的工作原理及其中的ORM详解
复习 hibernate框架 简介j及其搭建: hibernate是一个开源框架,它是对象关联关系映射的框架,它对JDBC做了轻量级的封装,而我们java程序员可以使用面向对象的思想来操纵数据库. 1 ...
- 【洛谷P2577】[ZJOI2005]午餐
午餐 题目链接 DP题都辣么毒瘤的么.. 首先,看一下题解 我们就有了思路: 贪心:显然,让吃饭慢的先打饭,sort一遍(证明?不存在的.. DP:f[i][j][k]表示前i个人,窗口1的打饭时间为 ...
- 11java基础继承
一. 继承相关 18.实现如下类之间的继承关系,并编写Music类来测试这些类. package com.hry.test; public class Instrument { ...
- asp.net mvc Post上传文件大小限制 (转载)
最近发现在项目中使用jQuery.form插件上传比较大的文件时,上传不了,于是改了下web.config的上传文件最大限制. <configuration> <system.web ...
- c语言描述的顺序栈实现
#include<stdio.h> #include<stdlib.h> #define initsize 100 #define ok 1 #define error 0 t ...