感谢:爱出名的狗腿子:ESP32 bin文件生成及多个bin文件合并指南
官方资料:合并二进制文件以进行刷写:merge_bin
大体操作
- 编译工程
idf.py build
- 进入编译生成的build目录
cd ./build
- 执行
merge_bin
命令,调用flash_args
文本内的参数esptool.py --chip ESP32 merge_bin -o merged-flash.bin @flash_args
本人使用的是Vscode + IDF组件
编译一个工程,正常烧录,可以看到烧录了多个bin文件
将上面的指令复制下来(主要是python.exe
和esptool.py
的路径)
D:/APP/Espressif/python_env/idf4.4_py3.8_env/Scripts/python.exe D:\APP\Espressif\frameworks\esp-idf-v4.4.4\components\esptool_py\esptool\esptool.py
然后在后面添加上 --chip ESP32 merge_bin -o merged-flash.bin @flash_args
就成了下面这个样子
D:/APP/Espressif/python_env/idf4.4_py3.8_env/Scripts/python.exe D:\APP\Espressif\frameworks\esp-idf-v4.4.4\components\esptool_py\esptool\esptool.py --chip ESP32 merge_bin -o merged-flash.bin @flash_args
进入终端,运行指令
问题原因:是vscode的默认终端
选择不对(不建议使用这个方法,改了默认终端,可能会导致串口监控无法打开)
默认终端
选择不对(不建议使用这个方法,改了默认终端,可能会导致串口监控无法打开)方法1(不推荐)
快捷键 Ctrl
+ Shift
+ P
查找 profile
选择cmd.exe
方法2
重新执行上面的指令