简介
ESP-IDF 是 ESP32 芯片的官方开发框架
GUN Make和CMake的对比
GUN Make在Linux和Mac OS很容易构建一个工程,但Windows使用GUN需要使用MinGW。
CMake是一个跨平台软件编译工具可以在Windows、Linux和Mac OS上使用,CMake接根据IDF_TOOLS_PATH使用这些编译工具,在CMake 中使用的是ninja构建工具。
安装准备
python
通过anaconda安装,python 版本选择python3.7
anaconda下载地址
anaconda安装配置
git
获取ESP-IDF
D:
cd software
git clone --recursive https://github.com/espressif/esp-idf.git
ESP-IDF 工具安装器下载
通过install.bat安装
设置工具的安装目录
在环境变量中设置 IDF_TOOLS_PATH=D:\software\espressif
然后重新打开命令行
D:
cd software/esp-idf
install.bat
ESP-IDF安装器安装
ESP-IDF 工具安装器包括所需的交叉编译器、OpenOCD、cmake 和 Ninja 编译工具,以及一款 mconf-idf 配置工具。
此外,本安装器还可在有需要时下载、运行 Python 3.7 和 Git For Windows 的安装器(在安装过程中可以看到)
设置工具及环境变量
由于安装的工具尚未添加至 PATH 环境变量,无法通过命令行使用这些工具。因此,必须设置一些环境变量
D:
cd software/esp-idf/ # IDF的下载位置
export.bat
查看idf.py是否安装成功
> idf.py --help
解决每次构建前都需要执行 export.bat
方法一
将以下内容配置到Path中,每次打开命令行就可以使用idf.py命令
D:\software\espressif\.espressif\tools\xtensa-esp32-elf\esp-2020r1-8.2.0\xtensa-esp32-elf\bin
D:\software\espressif\.espressif\tools\xtensa-esp32s2-elf\esp-2020r1-8.2.0\xtensa-esp32s2-elf\bin
D:\software\espressif\.espressif\tools\esp32ulp-elf\2.28.51-esp-20191205\esp32ulp-elf-binutils\bin
D:\software\espressif\.espressif\tools\esp32s2ulp-elf\2.28.51-esp-20191205\esp32s2ulp-elf-binutils\bin
D:\software\espressif\.espressif\tools\cmake\3.16.4\bin
D:\software\espressif\.espressif\tools\openocd-esp32\v0.10.0-esp32-20200406\openocd-esp32\bin
D:\software\espressif\.espressif\tools\ninja\1.10.0\
D:\software\espressif\.espressif\tools\idf-exe\1.0.1\
D:\software\espressif\.espressif\tools\ccache\3.7\
D:\software\espressif\.espressif\python_env\idf4.2_py3.7_env\Scripts
D:\software\esp-idf\tools
方法二
在桌面创建一个idf_cmd.exe的快捷图标,在目标中添加C:\Windows\System32\cmd.exe /k “D:\software\esp-idf\export.bat”,在起始位置中添加E:\project\esp
创建一个测试工程
创建一个esp的工程目录E:\project\esp并在命令行中选择到该目录下
E:
cd project\esp # 选择到该目录下
xcopy /e /i %IDF_PATH%\examples\get-started\hello_world hello_world
编译配置
和linux内核配置界面类似
如果切换成其它芯片可以参考IDF_TARGET
cd E:\project\esp\hello_world # 选择到要构建的项目下
idf.py set-target esp32 # 默认是esp32
idf.py menuconfig
menuconfig 工具的常见操作
- 上下箭头:移动
- 回车:进入子菜单
- ESC 键:返回上级菜单或退出
- 英文问号:调出帮助菜单(退出帮助菜单,请按回车键)
- 空格
或
Y 键:选择 [] 配置选项;N 键:禁用 [] 配置选项 - 英文问号 (查询配置选项):调出有关该选项的帮助菜单
- / 键:寻找配置工程
如果界面出现乱码可以在D:\software\esp-idf\tools中的idf.py的main中添加os.system(“chcp 437”),注册python编码的格式的统一
编译工程
执行以下命令可以将工程构建成二进制文件
> idf.py build
出现以下提示说明工程构建成功
编译成功会在hello-world\build的文件夹中生成 hello-world.bin文件
烧录
使用以下命令,将刚刚生成的二进制文件烧录至开发板,如果没有多个开发板可以直接运行idf.py flash
根据对应的开发板类型选择驱动
idf.py -p (PORT) flash
烧录完成后,开发板将会复位,应用程序 “hello_world” 开始运行
查看COM口
idf.py -p COM3 flash
使用监控器查看运行状态
idf.py -p COM3 monitor
您可使用快捷键 Ctrl+],退出 IDF 监视器。
如果日志显示为乱码,很有可能是因为您的开发板采用了 26 MHz 晶振,而 ESP-IDF 默认支持大多数开发板使用的 40 MHz 晶振。
- 退出监视器。
- idf.py menuconfig 打开 menuconfig。
- 进入 Component config –> ESP32-specific –> Main XTAL frequency 进行配置,将 CONFIG_ESP32_XTAL_FREQ_SEL 设置为 26 MHz。
- 重复以上步骤编译和烧录 应用程序。
接下来可以尝试搭建你的集成开发环境了
如果搭建的是Linux或Mac开发环境,和以上步骤基本上类似,但建议使用make进行开发
参考:
https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/get-started/index.html#id3