ESP32 IDF AT编译环境搭建
安装路径及项目路径不能带有空格
1. 安装python
python官网下载
管理员模式安装,安装过程勾选添加PATH环境变量,需安装3.8及以上版本
2. 安装Git Bash
Git Bash官网下载
管理员模式安装,安装过程勾选添加PATH环境变量
3. 安装IDF
IDF官网下载
IDF版本升级部分组件有改动,使用旧版本编译的项目可能在新版本上无法编译,需根据项目选择对应版本
管理员模式安装,安装完成后在ESP-IDF CMD命令行执行以下命令配置环境后退出命令行
install.bat
export.bat
4. python配置
打开ESP-IDF ,输入以下命令
4.1 查看python版本
python --version
正常返回python版本信息表示python环境变量配置成功
D:\Espressif\frameworks\esp-idf-v4.2.3>python --version
Python 3.8.7
如果配置出错,需在环境变量path中添加python安装路径
4.2 更新pip组件
python -m pip install --upgrade pip
4.3 查看pip已安装组件
python pip list
4.4 安装pyyaml与xlrd组件
python pip install pyyaml xlrd
5. 编译hello_world工程
5.1 拷贝hello_world工程
打开IDF的安装路径,并拷贝出内部的hello_world工程,注意:放置的路径不能包含空格
D:\Espressif\frameworks\esp-idf-v4.2.3\examples\get-started\hello_world
5.2 使用命令行跳转到hello_world文件夹内
参考以下命令
命令 | 说明 |
---|---|
cd .. | 跳转到上一级目录 |
cd 路径名 | 切换目录 |
dir | 列出当前路径内的文件及路径 |
C: | 切换至C盘 |
ctrl+c | 终止当前执行的命令 |
5.3 编译hello_world
idf.py build
能够编译成功即说明当前环境搭建完成
6. 编译官方AT固件
需要github能够正常访问
6.1 下载官方AT固件
编译官方AT固件需保证github网络能够正常访问
IDF版本必须与esp-at固件程序内标注版本对应(esp-at\module_config\module_esp32s2_default\IDF_VERSION)
版本不对应可能会造成CMake Eeeor
或其他形式的报错
6.1.1 最新固件下载
github方式
git clone --recursive https://github.com/espressif/esp-at.git
gitee方式
git clone --recursive https://gitee.com/EspressifSystems/esp-at.git
6.1.2 下载旧版AT分支esp32
github方式
git clone -b release/v2.2.0.0_esp32 --recursive https://github.com/espressif/esp-at.git
gitee方式
git clone -b release/v2.2.0.0_esp32 --recursive https://gitee.com/EspressifSystems/esp-at.git
6.2 ESP32 v2.2.0.0固件配置
进入下载目录,执行以下指令,配置ESP32型号,模块,配置信息保存在build目录
命令执行过程中需连接GitHub下载组件
需要重新配置时,需要删除build目录
build.py menuconfig
menuconfig配置参考 ESP-IDF编程指南 » API Reference » Project Configuration
名称 | 说明 |
---|---|
SDK tool configuration | 配置SDK 开发工具链的信息 |
Build type | 应用程序生成类型 |
Application manager | 应用程序管理器 |
Bootloader config | 配置BootLoader 启动时的日志打印级别 |
Security features | 安全特性 |
Serial flasher config | 通讯配置 |
Partition Table | 配置分区信息,可选择默认分区配置或自定义分区配置 |
AT Customized Partitions | AT分区配置 |
Compiler options | 编译器选项 |
Component config | 组件配置 包含ESP32的特殊配置、WiFi配置、BLE配置、FreeRTOS配置、LWIP配置、日志配置、SPI配置、用户程序自定义配置等 |
Compatibility options | 兼容性选项 |
6.3 固件编译
输入以下编译指令等待编译完成
build.py build
编译完成后将在.\esp-at\build\factory路径生成bin文件
7. 使用VS CODE 插件开发
7.1 VS Code下载
7.2 VS Code安装
7.3 Espressif IDF 插件安装
在VS Code扩展里搜索Espressif IDF,找到后点击安装
7.4 插件配置
打开VS Code,按F1键,输入ESP-IDF:Configure ESP-IDF extension,等待进入配置界面
7.5 点击USE EXISTING SETUP等待配置完成
配置完成后打开项目文件夹,选择VS Code底部蓝色区域控件进行配置编译,鼠标悬停可查看相关控件对应的指令
IDF指令参考
- idf.py适用于带MakeFile文件、 CMakeLists.txt 文件的项目
- build.py适用于带build.py文件的项目
输出指令列表和使用说明
idf.py help
选择芯片型号
esp32系列模组:
idf.py set-target esp32
esp32s2系列模组:
idf.py set-target esp32s2
esp32c3系列模组:
idf.py set-target esp32c3
esp32s3系列模组:
idf.py set-target esp32s3
配置
idf.py menuconfig
build.py menuconfig
编译
关闭360及相关的安全软件主动模式,加快编译速度
idf.py build
build.py build
烧录到设备
需进boot模式(BOOT0接地后复位重启)
idf.py -p PORT flash
下载口至接COM3时
build.py -p COM3 flash
删除整个build目录下的内容
idf.py fullclean
显示目标串口输出
idf.py -p PORT monitor
ESP-IDF 示例工程结构
myProject/
CMakeLists.txt
sdkconfig
components/component1/
CMakeLists.txt
Kconfig
src1.ccomponent2/
CMakeLists.txt
Kconfig
src1.c
include/component2.h
main/
CMakeLists.txt
src1.c
src2.cbuild/
- CMakeList.txt: 根目录的CMakeLists 描述了项目的构建行为,每个 component 中的CMakeLists描述了组件的构建行为,例如指定编译哪些.c 文件,包含哪些 .h 文件
- sdkconfig : 保存了项目宏定义,在使用 menuconfig 时自动生成
- components : 用户组件目录
- main : “伪组件”,其中app_main 函数为默认的执行入口
- build : 编译时自动保存的文件
参考链接
乐鑫科技官网
ESP-IDF编程指南
Github esp-idf 开源项目
Github esp-at 开源项目
Gitee esp-idf 开源项目
Gitee esp-at 开源项目