前两节已经说明了,开发环境以及升级到最新的sdk。本节 Hello_World 案例。
导入ESP32_IDF项目
1. 选择 File→Import
2. 点开C/C++分支,并选中Existing Code as Makefile Project
3. 去除C++支持,选中 Cygwin GCC
点击Browser,选中 esp-idf-v2.1所在的目录
4. 点击 Finish 完成 esp-idf 的导入
如下图:
esp-idf-v2.1 本身是不需要做任何处理的,导入即可。有所以的源码,资源,文档等。
导入hello_world案例
1.安装上面的步骤导入项目。案例目录:
我们导入 hello_world 案例 ,在案例文件夹中的get-started目录下。
2.导入到编辑器,如下图:
配置项目
此时,已经具备了编译的基础,下面我们配置 make menuconfig 和 make flash 两条指令
首先新建target,右键项目名称→Make targets ,选择 Creat
给该 Target 新建一个名称
在弹出的页面中取消勾选 Use builder setting ,
取消勾选 Same as the target name 并清空 Make target 的内容
在下面command 中输入 mintty.exe -e make menuconfig
点击 OK 保存
重复上一步骤,新建一个 DownLoad 的 Target ,
在弹出的页面中取消勾选 Use builder setting ,
取消勾选 Same as the target name 并清空 Make target 的内容
在下面command 中输入 make flash
点击 OK 保存
选中项目,按下快捷键 Shift + F9,弹出刚才新建的两个 Target
鼠标选中需要编译的 Target, 点击 Build 即可实现在 Eclipse 中下载和配置 idf
开始配置,这里我们配置usb端口才能继续编译项目。
选中 menuconfig 点击 Build。
为了使FLASH下载能执行,我们需要配置一下serial flasher config,看下图
第一个是你的串口号,这个怎么看呢,这么看,使用这个工具 cygwin,
输入 cd /dev 回车
输入 ls 回车
图中红色的部分是你电脑上可用的串口号,一般是你的com号减一,比如我的是com3,映射到里边就是ttyS2。然后把其输入到里边。
第二个是波特率设置,第三个不知道啥,先不管,第四个是SPI FLASH的模式,这个在配置eclipse的时候不重要,但是你要用乐鑫的下载工具,不好意思,这个你就要记住了,第五个是SPI的速度。记住就行,改完之后,可以保存一下
下一次就可以直接用这个配置了
然后我们编译一下
编译项目
Build Project :编译项目
Clean Project:清理项目
选中编译项目,控制台输出如下图即编译成功
其中有一句很重要。
esptool.py v2.1
To flash all build output, run 'make flash' or:
python /cygdrive/d/AiThinkerIDE_V0.5/cygwin/home/aithinker/project/esp-idf-v2.1/components/esptool_py/esptool/esptool.py
--chip esp32 --port /dev/ttyS2 *这个是设置好的端口号*
--baud115200 *波特率*
--before default_reset
--after hard_reset write_flash -z
--flash_mode dio *烧写模式*
--flash_freq 40m *频率*
--flash_size detect
0x1000 /home/aithinker/project/esp-idf-v2.1/examples/get-started/hello_world/build/bootloader/bootloader.bin *编译文件以及烧录地址 0x1000*
0x10000 /home/aithinker/project/esp-idf-v2.1/examples/get-started/hello_world/build/hello-world.bin *编译文件以及烧录地址 0x10000*
0x8000 /home/aithinker/project/esp-idf-v2.1/examples/get-started/hello_world/build/partitions_singleapp.bin *编译文件以及烧录地址 0x8000*
注意:Build Project 前最好先 Clean Project,以防止出错