文章目录
- 0 idf.py 常用指令
- 1 实现例程的编译与烧录(2022.10.14)
- 1.1 搭建基础交叉编译环境
- 1.2 选择例程
- 1.3 连接开发板
- 1.4 配置
- 1.5 编译工程
- 1.6 烧录程序到设备
- 1.7 打开监视器
- 2 编写自己的“hello world”
- 2.1 使用Source Insight编辑程序
0 idf.py 常用指令
idf.py set-target esp32 设置“目标”芯片为esp32
idf.py menuconfig 会运行 menuconfig 工具来配置项目;
idf.py build j4 会构建在当前目录下找到的项目;
idf.py clean 会把构建输出的文件从构建目录中删除,从而清理整个项目。
idf.py -p PORT flash 烧录程序,波特率默认为460800,例:idf.py -p COM3 flash
idf.py -p PORT monitor 打开串口监视( Ctrl+] 退出 IDF 监视器。)例:idf.py -p COM3 monitor
idf.py -p PORT flash monitor 烧录程序并打开监视器。例:idf.py -p COM3 flash monitor
1 实现例程的编译与烧录(2022.10.14)
1.1 搭建基础交叉编译环境
- 下载ESP-IDF 工具安装器,该页面也详细说明了安装内容。
- 选择最新离线安装包
- 安装过程
- 安装完成并打开CMD模式
- 每次打开CMD界面都会进入默认路径,
- 修改该路径,右键CMD快捷图标选择属性,修改“起始位置”即可
1.2 选择例程
在 esp-idf-v4.4.2 目录下新建app文件夹,用于测试。然后在examples目录下选择hello_world工程复制到test文件夹下,这样做的目的是不破坏官方示例工程,可任意修改。
1.3 连接开发板
开发板选择的是 ESP32-DevKitC ,参考 ESP32-DevKitC官网资料
上电后查看开发板连接电脑的串口
1.4 配置
打开ESP-IDF Command Prompt (cmd.exe)
- 进入(
cd hello_world
)到复制的 hello_world 目录; - 若是新项目,应首先设置“目标”芯片
idf.py set-target esp32
。注意,此操作将清除并初始化项目之前的编译和配置(如有)。 您也可以直接将“目标”配置为环境变量(此时可跳过该步骤)。更多信息,请见 选择“目标”芯片; - 运行工程配置工具(menuconfig)
idf.py menuconfig
如无特别,可先使用默认配置
1.5 编译工程
idf.py build
运行以上命令可以编译应用程序和所有 ESP-IDF 组件,接着生成 bootloader、分区表和应用程序二进制文件。
第一次编译需要等待很长时间,因为要编译全部的组件(如freertos、wifi等),后续修改程序,再编译就不用那么长时间。
等待编译完成
1.6 烧录程序到设备
idf.py -p PORT [-b BAUD] flash
请将 PORT 替换为 ESP32 开发板的串口名称,BAUD 替换为您希望的烧录波特率。
或者使用如下指令,默认波特率为 460800。
idf.py -p COM3 flash
烧录完成
1.7 打开监视器
您可以使用 idf.py -p PORT monitor
命令,监视 “hello_world” 的运行情况。注意,不要忘记将 PORT 替换为您的串口名称。
您可使用快捷键 Ctrl+]
,退出 IDF 监视器。
或者使用外部串口调试器
2 编写自己的“hello world”
2.1 使用Source Insight编辑程序
- 在examples文件夹下复制一个测试工程到app文件夹下,如:hello_world,把工程名修改为app_gpio
- 注意:项目名称修改之后(hello_world 改为 app-gpio),需要修改该项目下的CMakeLists.txt文件
- 在esp-idf库中新建si文件夹,用于保存Source Insight工程文件
- 打开Source Insight并新建工程
编辑程序 - 回到 ESP-IDF Command Prompt (cmd.exe) ,编译
idf.py build
,烧录程序并打开监视器idf.py -p COM3 flash monitor
- 如果是旧工程复制后更改了工程名,需要执行
idf.py fullclean
后再执行idf.py build