ESP FLASH TOOL 是 Espressif 官方开拓的烧录工具,用户可根据实际的编译办法和Flash的容量,将SDK编译天生的多个bin文件一键烧录到 ESP8266/ESP32 的SPI Flash中。

ESP FLASH TOOL 下载:flash_download_tool_v3.8.5.zip

烧写工具解释 http://bbs.espressif.com/viewtopic.php?f=5&t=433

phpat指令esp8266烧写出厂默认AT固件 Angular

烧写前请参考如何安装安信可一体化开拓环境完成 SDK 的编译

或者在 ESP8266 SDK发布 或 ESP32 最新SDK发布 页面下载最新固件

硬件连接

ESP8266有运行模式、下载模式、测试模式的差异,进入下载模式可参考以下配置:

模式CH_PD(EN)RSTGPIO15GPIO0GPIO2TXD0UART 下载模式   高高低低高高Flash 运行模式   高高低高高高Chip 测试模式   -----低

ESP32 的运行状态紧张由 GPIO0 决定

模式GPIO0UART 下载模式低Flash 运行模式高

如何确保 ESP8266 模组精确的进入了下载模式:

  1. 首先确保模组可以正常运行事情,发送 AT 指令可以有回答 AT OK(即确保电源和串口连接正常);

  2. 拉低 GPIO0,打开串口工具,在波特率74880下不雅观察模组的启动或复位后的打印信息;

  3. 若涌现以下赤色字符则认为模组已经进入了下载模式(后面的7数值不用理会),可以去正常进行下载。

    ets Jan 8 2014,rst cause 1, boot mode:(1,7)

可参考如下电路:

如何确保 ESP32 模组精确的进入了下载模式:

  1. 首先确保模组可以正常运行事情(即确保电源和串口连接正常);

  2. 拉低 GPIO0,打开串口工具,在波特率​115200​下不雅观察模组的启动或复位后的打印信息;

  3. 若涌现以下赤色字符则认为模组已经进入了下载模式,可以去正常进行下载。

    rst:​0x10 (RTCWDT_RTC_RESET),​boot:​0x3 (DOWNLOAD_BOOT(UART0/​UART1/​SDIO_REI_REO_V2))

    ​waiting for download​

ESP8266 Flash 地址配置

烧录时的配置选项与编译时的配置是干系的, 编译SDK时,掌握台会提示bin文件的烧录地址,配置不同,烧录的地址和须要的文件也不同

我们按照烧录文件的不同分为两种情形: 支持云端升级 和 不支持云端升级

其余,根据flash容量的不同,我们还要调度bin文件烧录的地址

支持云端升级的固件,在 flash 中会分为 2 个区,一个用来运行程序,一个用来保存升级固件, 当运行 user1 时升级,程序会下载固件到 user2,下载完毕后,下次启动时从 user2 启动,依次更换,实现云端升级。

user2 仅用作升级利用,用户烧录时无需下载 user2.bin,此处仅为解释 user2 的存放位置

把稳1:乐鑫在不同版本的 SDK 中有可能会改变这些烧录位置,以下解释仅为参考,建议以开拓时的 Console 输出信息为准。

把稳2:合并后的固件内已经包含了地址信息,只需烧写到 0x0 地址即可。

不支持云端升级 (NoBoot 模式)

文件名称8Mbit 地址分配16Mbit 地址分配32Mbit 地址分配备注eagle.flash.bin0x000000x000000x00000主程序,由代码编译天生eagle.irom0text.bin0x100000x100000x10000主程序,由代码编译天生esp_init_data_default.bin0xFC0000x1FC0000x3FC000由乐鑫在 SDK 中供应blank.bin0xFE0000x1FE0000x3FE000由乐鑫在 SDK 中供应

支持云端升级 (Boot 模式)

文件名称8Mbit 地址分配16Mbit 地址分配32Mbit 地址分配备注boot.bin0x000000x000000x00000由乐鑫在 SDK 中供应,建议一贯利用最新版本user1.bin0x010000x010000x01000主程序,由代码编译天生user2.bin0x810000x810000x81000主程序,由代码编译天生esp_init_data_default.bin0xFC0000x1FC0000x3FC000由乐鑫在 SDK 中供应blank.bin0xFE0000x1FE0000x3FE000由乐鑫在 SDK 中供应

ESP32 Flash 地址配置

ESP32 在编译时,通过 make menuconfig 来配置 Partition Table 分别支持 Single factory app, no OTA、Factory app, two OTA definitions、Custom partition table CSV

把稳1:乐鑫在不同版本的 SDK 中有可能会改变这些烧录位置,以下解释仅为参考,建议以开拓时的 Console 输出信息为准。

把稳2:合并后的固件内已经包含了地址信息,只需烧写到 0x0 地址即可。

不支持OTA

默认天生 bootloader.bin、app_demo.bin、partitions_singleapp.bin

bin 文件烧录地址解释bootloader.bin0x1000二级boot程序,由 SDK 代码编译天生app_demo.bin0x10000用户主程序,由代码编译天生partitions_singleapp.bin0x8000分区信息,由代码自动天生

支持OTA自定义

参考 https://github.com/espressif/esp-idf/blob/master/docs/partition-tables.rst

烧录下载

解释:

牢记将模组按以上电路接线完成后,再上电。

担保3.3V 电源供应,一样平常哀求外部电源输出电流需在 500mA 及以上。

1、打开ESP FLASH TOOL,根据上一章节配置bin文件和烧录地址

2、需配置晶振频率、SPI SPEED、SPI MODE、Flash Size、串口端口号和波特率等,此处波特率可以只管即便选大一些,以节省韶光,若提示ERROR,请降落波特率,在此以 8Mbit Flash为例:

3、配置完毕后,再给模块上电,使其进入下载模式,再点击【START】开始烧录,直到烧录完成:

4、下载完成后:

请将 ESP8266 的 boot 模式切换到 flash boot,即 GPIO15→0, GPIO0→1, GPIO2→1。

可通过串口调试工具查看 log 打印或进行串口指令交互。

烧录成功后,撤除GPIO0的连接,其它不用动,然后重新拔插USB,打开安信可串口调试助手或者SSCOM等串口调试工具,把稳几个地方,输入AT+GMR查看固件版本,然后多试试其他AT命令,确保功能都正常,然后祝贺烧录完成。