ESP8266 Flash
2016-07-02 18:19
453 查看
ESP8266 Flash
[隐藏] |
1 概述
4KB 为一个扇区 (Sector), The last 16 sectors is the paramter area!1MB flash is start at 0xF0000
4MB flash is start at 0x3F0000
1.1 系统参数区 (System param)
始终为 Flash 的最后 16KB4KB 为初始化射频参数 (esp_init_data_default.bin); The last sector 12; 4MB Flash 为:0x3FC000 - 0x3FCFFF
8KB 为初始化系统参数 (blank.bin); The last sector 13 and 14, 4KB + 4KB mirror; 4MB Flash 为:0x3FD000 - 0x3FEFFF
4KB is bootloader parameters area; The last sector 15; 4MB flash is at: 0x3FF000
皆由 SDK 提供
For MJYUN:
8KB is MJYUN parameter area; The last sector 4 and 5, 4KB + 4KB mirror; 4MB flash is: 0x3F4000 - 0x3F5FFF
1.2 用户参数区 (User param)
指 Espressif 提供的示例 (IOT_Demo / AT) 中设定的用户参数区iBaihe 的参数: 0x3C * 4KB = 0x3C000
COS Platform 参数:
(0x3C + 1) * 4KB = 0x3D000 (SAVE_0) (0x3C + 2) * 4KB = 0x3E000 (SAVE_1) (0x3C + 3) * 4KB = 0x3F000 (PARAM_FLAG)
2 Layout Without OTA
Address Size Name Description 00000h 4k boot.bin Bootloader 3C000h 14k Param Start Sector 3D000h 1x4k Param Saved 0 3E000h 1x4k Param Saved 1 3F000h 1x4k Param Flag 40000h 240k app.v6.irom0text.bin SDK libraries 7C000h 8k esp_init_data_default.bin Default configuration 7E000h 8k blank.bin Filled with FFh. May be WiFi configuration
3 Layout With OTA
3.1 512 和 1024KB
3.2 4096KB
4 SPI Flash Format
http://esp8266-re.foogod.com/wiki/SPI_Flash_Format
5 SPI Flash Mode
QIO , for flash that support quad r/w operation(e.g. W25Q)QOUT, for flash that support quad read operation(e.g. W25Q)
DIO, for flash that support dual r/w operation(e.g. W25Q &W25X)
DOUT, for flash that support dual read operation(e.g. W25Q &W25X)
经测试:
Winbond 25Q32B 可工作于 DIO / DOUT / QIO /QOUT (Noduino Falcon)
BergMicro 25Q32A 只可工作于 DIO / DOUT (NodeMCU V1.0 可能是 ESP-12E 接线的问题)
MXIC 25L80 (小 K mini)只可工作于 DOUT
6 Flash Memory Map
Map the flash?
?
6.1 Cache_Read_Enable
void Cache_Read_Enable(uint8 odd_even, uint8 mb_count, unt8 no_idea);Valid values for odd_even:
0 – clears bits 24 & 25 of control register 0x3FF0000C 1 – clears bit 24, sets bit 25
other – clears bit 25, sets bit 24
Function of odd_even:
0 – allows access to even numbered mb 1 – allow access to odd numbered mb
other – appears to do the same as 1, there must be a difference but I haven’t worked out what it it
Valid values for mb_count:
0-7 – set bits 16, 17 & 18 of control register 0x3FF0000C
Function of mb_count:
Which odd or even bank to map (according to odd_even option)
e.g. mb_count = 0, odd_even = 0 -> map first 8Mbit of flash e.g. mb_count = 0, odd_even = 1 -> map second 8Mbit of flash e.g. mb_count = 1, odd_even = 0 -> map third 8Mbit of flash e.g. mb_count = 1, odd_even = 1 -> map fourth 8Mbit of flash
Valid values for no_idea:
0 – sets bit 3 of 0x3FF00024 1 – sets bit 26 of 0x3FF0000C and sets bits 3 & 4 of 0x3FF00024
Function of no_idea:
The clue is in the name, I can’t work out what this does from my experiments, but the SDK always sets this to 1.
Reverse engineered by Richard Burton: http://richard.burtons.org/2015/06/12/esp8266-cache_read_enable/
7 Reference
https://www.winbond.com/hq/product/code-storage-flash-memory/serial-nor-flash/?__locale=en&density=8Mbit(1MB)#density
相关文章推荐
- [备忘] 查看浏览器中flash swf的trace调试输出
- flash 系统字体显示问题
- 比较完整简洁的Flash处理XML文档数据教程 上篇第1/3页
- Flash ActionScript 中按钮和电影剪辑的事件和方法
- flash 编程习惯 小结
- flash as2.0组件样式修改方法(直接改元件就行喽)
- FLASH自动判断域名然后转向等操作
- Flash简单加密 限制 Flash 在指定域名/网址中播放的方法
- 在网页中怎样给已发布的Flash添加链接的方法
- FLASH 多参数的URL地址(带&符号)
- Flex Flash的关系分析
- Flash 与 html 的一些实用技巧
- 帮助你学习 Flash / ActionScript的12个网站
- div flash firefox div层总是被flash层遮盖
- 解决div被flash挡住的设置方法
- 解决鼠标在 flash 链接上不停闪动的问题(web页面中)
- flash 打开本地文件代码
- Flash、AS入门的正确途径解析
- Flash影片中的图片抖动锯齿解决方法
- flash 挡住层的解决方法