本文选取的是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内存分布

该部分仅登录用户可见

Last modification:August 27, 2021
如果觉得我的文章对你有用,请帮忙点一下上面的广告