Skip to content

烧写说明

阏男秀 edited this page Nov 3, 2018 · 4 revisions

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

第一次烧写时,需要烧写4个bin,下面以本人常用的NodeMCU(4MB Flash ESP8266)为例:

bin 烧录地址 说明
eagle.flash.bin 0x00000 主程序,编译代码生成
eagle.irom0text.bin 0x10000 主程序,编译代码生成
esp_init_data_default.bin 0x3FC000 初始化射频参数,由 Espressif 在 SDK 中提供
blank.bin 0x3FE000 初始化系统参数,由 Espressif 在 SDK 中提供

*备注:如果使用 ESP8266 SDK v2.0 以下(不包括v2.0),eagle.irom0text.bin 烧录地址为0x40000。

一般来说,前两个bin文件:eagle.flash.bineagle.irom0text.bin,烧写位置是固定的,可以根据编译完成时的提示地址烧录

...
!!!
No boot needed.
Generate eagle.flash.bin and eagle.irom0text.bin successully in folder bin.
eagle.flash.bin-------->0x00000
eagle.irom0text.bin---->0x10000
!!!

而后两个bin文件:esp_init_data_default.binblank.bin,需要根据 flash 容量,选择不同的地址。这两个bin文件烧写一次即可,以后SDK编译更新bin可不用重复烧写,这样不会清除上次连接过的Wi-Fi信息。

下面是从官方文档摘录过来的一些信息:

  • 系统参数区固定为Flash的最后四个扇区,每扇区4KBytes,即Flash最后的16KB;用户参数区地址由用户自定义,IOT_Demo中设置为0x3C000开始的四个扇区,用户可以设置为任意未占用的地址。
  • blank.bin 初始化系统参数,烧录地址为Flash的倒数第二个扇区;
  • esp_init_data_default.bin 初始化射频相关参数,烧录地址为Flash的倒数第四个扇区;

所有Flash烧写地址配置表

最后放上所有Flash烧写地址配置,请根据Flash大小自行修改:

bin 各个 Flash 容量对应的下载地址
512B 1024B 2048B 4096B 8192B 16*1024B
eagle.flash.bin 0x00000
eagle.irom0text.bin 0x10000
esp_init_data_default.bin 0x7C000 0xFC000 0x1FC000 0x3FC000 0x7FC000 0xFFC000
blank.bin 0x7E000 0xFE000 0x1FE000 0x3FE000 0x7FE000 0xFFE000

*关于 Flash的单位

一般来说Flash是用bit单位表示。有时后面加了大写的B,表示是用Byte单位表示。

换算示例: 4 MByte = 4096 Byte = 4096*8 bit = 4*1024*8 bit = 32 Mbit

烧写配置参考

4MB(32bit) Flash ESP8266:

烧写配置参考