ESP32源码下载、编译、烧录
1 准备工作
硬件:
开发板:ESP-WROOM-32
软件:
源码包:esp-idf-v2.1
2 源码下载
网络环境一定要好,网络不好会下载不完全,不能编译通过
方法一(推荐):
使用git 到github托管仓库下载
git clone --recursive https://github.com/espressif/esp-idf.git esp-idf-v2.1
或(用以下三个命令下载)
git clone https://github.com/espressif/esp-idf.git esp-idf-v2.1
git checkout v2.1
git submodule update --init --recursive
如果git失败,一般原因是:
a、新装ubuntu默认为国外源,请换为国内的软件源(自行搜索更改),比如我个人用的是163的
b、网络环境不好,没能完整下载
方法二:
直接下载压缩包,下载链接: https://github.com/espressif/esp-idf/releases/
如下图可以任意下载一个
解压(如下图)
tar xvzf esp-idf-2.1.tar.gz
3 编译
更改源码esp-idf-v2.1的权限,如下图
sudo chmod -R 777 esp-idf-v2.1/
以下以examples里面get-started的hello_world工程为例,我的源码路径为:
/home/wang/share/esp32/esp-idf-v2.1/examples/get-started/hello_world
因为编译需要知道源码esp-idf的路径,Makefile中路径变量为IDF_PATH,所以这里需要我们根据自己的esp-idf的实际存放路径设置IDF_PATH。这里有两种方式设置IDF_PATH:
方法一:
直接更改 hello_world 下的 Makefile,如图在Makefile中添加一行,
IDF_PATH = /home/wang/share/esp32/esp-idf-v2.1
方法二(推荐):
在ubuntu系统中添加IDF_PATH环境变量(如图)
gedit ~/.bashrc
在文件最后添加下面一行内容(如图)
export IDF_PATH=/home/wang/share/esp32/esp-idf-v2.1
保存、退出
立即使环境变量生效(如图)
source ~/.bashrc
设置IDF_PATH后我们就可以尝试编译了
make
首次编译会出现配置项,可以选择默认配置,直接跳过
当然也可以根据工程的实际情况以及FLASH的大小,进行配置(4个方向键和回车键)
编译后生成的bin文件在hello_world下的build文件夹中(后面烧录就是这3个bin文件)
另外build下的bootloader文件夹中也有1个
4 烧录
步凑一:
下载安装USB转串口的驱动,一般为CP2102或CH340,请自行搜索下载,安装
步凑二:
到官网下载FLASH烧录工具(如下图):flash_download_tools_v3.4.9.2_1.zip
初识ESP32烧录工具(如下图)
flash_download_tools_v3.4.9.2_1\FLASH_DOWNLOAD_TOOLS_V3.4.9.2\ESPFlashDownloadTool_v3.4.9.2.exe
步凑三:
将上一节中编译生成的3个bin文件烧录到FLASH中
build\bootloader\bootloader.bin 0x01000
build\partitions_singleapp.bin 0x08000
build\hello-world.bin 0x10000
按照下图设置
设置好后点击 START,然后上电,开始烧录,等待下载完成
最后我们来看看是否烧录成功,打开串口调试助手,看看打印信息
表明烧录成功!
5 总结
至此,我们的ESP32开发基础知识已经学习完毕,源码编译和bin文件烧录,这些基础知识必须掌握,后面的工作都需要。下一节开始我们将把精力放到ESP32的软件开发上,编译和烧录操作将不再详细介绍。