本文选取的是esp8266-12f 4096KB 4M flash内存
1.如何让确定为4M内存的?
原因:由于是从同事手上接项目,所以并无芯片规格书等物件。
查看工具编译选项,esp_init_data_default.bin: 0X3FC000 blank.bin :0X3FE000
备份系统程序地址是0x101000,绿色位置就是对应选择。
2.扇区应该如何划分?
esp8266 以4k为一个扇区,16k为一个块。4M内存的8266有1024个扇区。
OTA flash内存分布图
ESP8266-12F的扇区地址计算方法: blank.bin 位于扇区1022 地址0x3FE000 esp_init_data_default.bin位于扇区1020 地址0x3FC000
4M容量的十六进制3FC000地址转换为十进制为:4177920 所在扇区为:4177920/4/1024= 1020
4M容量的十六进制3FE000地址转换为十进制为:4186112 所在扇区为:4186112/4/1024= 1022
即system_param位置
Flash操作 ESP8266-12F的Flash操作: 下列扇区不能占用: blank.bin 位于扇区1022 地址0x3FE000 esp_init_data_default.bin位于扇区1020 地址0x3FC000
用户数据可存储的位置扇区号: (1024 - 16) /4 = 252 之后的四个扇区 在之前选位置也可以。只要不在用户程序处使用flash地址就可以。
参考一下链接:
「Tay可爱勒-(https://blog.csdn.net/Dolores1213/article/details/104364696)」
Esp8266 进阶之路24【高级篇】
扇区地址计算方法
各类规格flash内存分布