ESP8266 固件的烧录方法与合并方法。烧录工具差异不大,官方的bin差异不大。
1.烧录所有固件
依据官方教程描述:
1.烧录时的配置选项与编译时的配置是相关的, 编译SDK时,控制台会提示bin文件的烧录地址,配置不同,烧录的地址和需要的文件也不同
我们按照烧录文件的不同分为两种情况: 支持云端升级 和 不支持云端升级
另外,根据flash容量的不同,我们还要调整bin文件烧录的地址
支持云端升级的固件,在 flash 中会分为 2 个区,一个用来运行程序,一个用来保存升级固件, 当运行 user1 时升级,程序会下载固件到 user2,下载完毕后,下次启动时从 user2 启动,依次替换,实现云端升级。
user2 仅用作升级使用,用户烧录时无需下载 user2.bin,此处仅为说明 user2 的存放位置
注意1:乐鑫在不同版本的 SDK 中有可能会改变这些烧录位置,以下说明仅为参考,建议以开发时的 Console 输出信息为准。
注意2:合并后的固件内已经包含了地址信息,只需烧写到 0x0 地址即可
模组Flash的大小参照下表:
8Mbit 大小的模组 对应需要烧录的文件有:
boot.bin 0x00000
user1.bin 0x01000
esp_init_data_default.bin 0xFC000
blank.bin 0xFE000
打开调试工具进行at指令测试测试
2.烧录合并后的固件
- 直接烧录合并后的固件:
2.打开调试助手进行at指令的调试工作
3.将所有固件合并为一个固件的方法
利用下载工具里的CombinBin.
重点内容
模组需要搭建电路进行拉高拉低,才能进行烧录操作,略微麻烦。所以我直接买了个搭建好电路的测试版
下面附上安信可提供的模组烧录方法,自己搭建电路的大佬可以参考下。
安信可模组烧录的官方教程:http://wiki.ai-thinker.com/esp_download
烧写工具:
ESP FLASH TOOL 是 Espressif 官方开发的烧录工具,用户可根据实际的编译方式和Flash的容量,将SDK编译生成的多个bin文件一键烧录到 ESP8266/ESP32 的SPI Flash中。
如何确保 ESP8266 模组正确的进入了下载模式:
1. 首先确保模组可以正常运行工作,发送 AT 指令可以有回复 AT OK(即确保电源和串口连接正常);
2. 拉低 GPIO0,打开串口工具,在波特率74880下观察模组的启动或复位后的打印信息;
3. 若出现以下红色字符则认为模组已经进入了下载模式(后面的7数值不用理会),可以去正常进行下载。
ets Jan 8 2014,rst cause 1, boot mode:(1,7)
ESP8266 Flash 地址配置
烧录时的配置选项与编译时的配置是相关的, 编译SDK时,控制台会提示bin文件的烧录地址,配置不同,烧录的地址和需要的文件也不同
我们按照烧录文件的不同分为两种情况: 支持云端升级 和 不支持云端升级
另外,根据flash容量的不同,我们还要调整bin文件烧录的地址
支持云端升级的固件,在 flash 中会分为 2 个区,一个用来运行程序,一个用来保存升级固件, 当运行 user1 时升级,程序会下载固件到 user2,下载完毕后,下次启动时从 user2 启动,依次替换,实现云端升级。
7/7user2 仅用作升级使用,用户烧录时无需下载 user2.bin,此处仅为说明 user2 的存放位置
注意1:乐鑫在不同版本的 SDK 中有可能会改变这些烧录位置,以下说明仅为参考,建议以开发时的 Console 输出信息为准。
注意2:合并后的固件内已经包含了地址信息,只需烧写到 0x0 地址即可。
烧录下载
*切记将模组按以上电路接线完成后,再上电。
*保证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 打印或进行串口指令交互。