Platform IO烧录ESP32代码的简单理解

对ESP32进行开发,将代码编译好了之后,可以提取后在其他设备使用ESP Flash Download Tool直接烧录。使用ESP Flash Download Tool烧录需要提前准备四个文件,其中包含两个启动引导文件bootloaderbin boot_app0.bin 一个flash划分文件partitions.bin和一个固件文件firmware.bin当然名字是可以更改的。

PlatformIO & Arduino:

下面说下这些文件的存放位置以及烧录地址:

Windows:

  • bootloader.bin的位置为PlatformIO安装目录下的.platformio\packages\framework-arduinoespressif32\tools\sdk\bin目录下面,它的对应的烧录地址为0X1000。(此处注意,每个不同的bootloader对应烧录时SPI MODE 和 SPI SPEED都不同,一定要确定好对应关系)
  • 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.platformiopackagesframework-arduinoespressif32toolsgen_esp32part.py --verify 转换反编译成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内执行这条指令即可,方便快捷。

Github:

BPI:bit板功能测试固件

Webduino:

Webduino大陆地区官网
Webduino台湾地区官网

Webduino的实现就是预先烧录解释器,具体原理不对赘述,但烧录方法与上边一样,使用软件烧录官方提供的固件,即可体验webduino各项功能,固件下载请访问下方github。

Github

Webduino固件地址

microPython:

在uPyCraft的github仓库内下载esp32的microPython固件然后是使用ESP FLASH DOWNLOAD TOOL进行烧录,烧录位置0x00
下载在下方github仓库内。

Gitbook:

DfRobot_uPyCraft

Github:

uPyCraft IDE与固件下载地址
uPyCraft 源码

Last modification:April 26th, 2018 at 02:58 pm