ESP32 合并bin文件并烧录

合并bin文件

使用platformio 开发的ESP32项目编译后会有多个bin文件可以合并烧录

使用 ESP-IDF 的 idf.py merge-bin 命令,可以方便地将 bootloader、partition table 和应用程序合并为一个单一的二进制文件,以便进行单次生产烧录。在项目根目录下执行以下命令 idf.py merge-bin

执行后,合并好的文件通常会生成在 build 目录下,名为 merged_flash.bin

编译项目:确保项目已成功构建,生成了所有的二进制文件。

以下是使用esp-idf编译,如果使用platformio直接在编辑器中构建即可

idf.py build

执行合并:运行 idf.py merge-bin 命令

df.py merge-bin

结果:此命令会自动将 build/bootloader/bootloader.bin、build/partitiontable/partition-table.bin 和 build/app.bin(以及可能的 otadata.bin)合并为一个文件

更改输出名称:

idf.py merge-bin -o my_final_image.bin

使用 esptool.py 进行合并(推荐)

除了 idf.py,你也可以直接使用底层工具 esptool.py 来合并,这在自动化脚本中更常用:

esptool.py --chip esp32 merge_bin -o merged_flash.bin --flash_mode dio --flash_size 4MB 0x1000 bootloader.bin 0x8000 partitions.bin 0x10000 firmware.bin 0x3d0000 spiffs.bin

通过以上方法生成的合并文件,可以在生产烧录时使用 esptool 或其他烧录软件,只需指定起始地址 0x0 进行一次烧录即可

使用esptool 烧录

查看串口

ls /dev/cu.*   

执行烧录

esptool.py -p /dev/cu.usbserial-1430 write_flash 0x00 merged_flash.bin

文档信息

版权声明:可自由转载(请注明转载出处)-非商用-非衍生

发表时间:2026年4月3日 16:12