除了用make flash来下载外,ESP官方还推出了一个用来单独烧录固件的工具——ESP FLASH TOOL。这个可以独立下载分区信息、BOOTLOADER、APP,这次就尝试用这个下载程序下载。下载地址为: http://www.espressif.com/sites/default/files/tools/flash_download_tools_v3.4.9.2_1.zip 1.打开ESP FLASH TOOL工具,选择ESP32
2.由于之前在menuconfig中选择了Singlefactory app, no OTA,所以APP只有一个factory。如果选择了Factoryapp, two OTA definitions,则会有三个:factory,ota_0,ota_1。 想查看分区表可在Cygwin中cd到程序目录,输入 即可显示。如果只是Singlefactory app, no OTA,则输出大概是这样的: - # Espressif ESP32 Partition Table
- # Name, Type, SubType, Offset, Size
- nvs, data, nvs, 0x9000, 0x6000
- phy_init, data, phy, 0xf000, 0x1000
- factory, app, factory, 0x10000, 1M
复制代码只有一个factory,也就是我们编译的程序; 如果选择了Factory app, two OTA definitions,则输出大概是这样的: - # Espressif ESP32 Partition Table
- # Name, Type, SubType, Offset, Size
- nvs, data, nvs, 0x9000, 0x4000
- otadata, data, ota, 0xd000, 0x2000
- phy_init, data, phy, 0xf000, 0x1000
- factory, 0, 0, 0x10000, 1M
- ota_0, 0, ota_0, , 1M
- ota_1, 0, ota_1, , 1M
复制代码factory估计是工厂烧录程序,即出厂程序;另两个用于存放ota升级的程序区域。每一次ota升级都会轮流存放,即使用ota_0的时候升级下载到ota_1,然后使用ota_1程序,下次升级写入ota_0,依次轮流存放。
3.由于我这次是选择了single factoryapp,no OTA,所以只需要烧录更新之后APP即可。把之前编译好的固件位置填入,在需要APP固件前打钩。
编译好的APP bin一般在程序APP和分区表在目录下的build中,bootloader在build\bootlader。
编译量可查看分区表,经过上面查询,我的factory偏移在0x10000。
4.根据之前menuconfig里面Serial flasher config设定的内容设置SPI速率、SPI模式、FLASH大小。 经过查询原理图,可知晶振为40MHz。
5.最后点击Start开始下载
6.下载成功,重新上电验证程序。
这几个简单的操作就完成了固件的下载了~
|