Platform IO烧录ESP32代码的简单理解
对ESP32进行开发,将代码编译好了之后,可以提取后在其他设备使用ESP Flash Download Tool直接烧录。使用ESP Flash Download Tool烧录需要提前准备四个文件,其中包含两个启动引导文件bootloaderbin
boot_app0.bin
一个flash划分文件partitions.bin
和一个固件文件firmware.bin
当然名字是可以更改的。
下面说下这些文件的存放位置以及烧录地址:
以Windows为例()
-
bootloader.bin
的位置为PlatformIO安装目录下的.platformio\packages\tool-esptoolpy\test\image
目录下面,它的对应的烧录地址为0X1000
。 -
boot_app0.bin
的位置为PlatformIO安装目录下的platformio\packages\framework-arduinoespressif32\tools\partitions
目录下面,它对应的烧录地址为0xe000
-
partitions.bin
的位置为代码工程目录下的.pioenvs\[board]
目录下面,它对应的烧录地址为0x8000
。同时platformio\packages\framework-arduinoespressif32\tools\partitions
目录下面的partitions.csv
为编译的分区配置文件,会根据版型选择的不同有所不同,可以使用Excel打开进行编辑,然后在编译器内使用PIO进行重新编译即可,同时他也可以使用PIO包里面带的gen_esp32part.py
脚本进行编译与反编译,操作方法为:python C:\SPB_Data\.platformio\packages\framework-arduinoespressif32\tools\gen_esp32part.py --verify xxx.csv xxx.bin
(后面填写csv文件或者bin文件存放的位置,这里是将csv转换成bin,如果将位置对换,则可以将bin转换成csv) -
firmware.bin
的位置为代码工程目录下的.pioenvs\[board]
目录下面,这个就是代码编译出来的固件,它对应的烧录地址为0x10000
,如果分区文件未做修改的话(人为修改,或者更换编译平台),更新固件或者重新烧录只在对应地址开始需要烧录这一个文件即可。
同上面介绍的对分区文件的相互转换的操作方法相似的烧录方法为:
python C:\SPB_Data\.platformio\packages\tool-esptoolpy\esptool.py --port COM19 --baud 115200 write_flash -fm dio -fs 4MB 0x010000 xxx\firmware.bin
后面选择编译出来固件,进行代码更新,直接可以在cmd.exe内执行这条指令即可,方便快捷。