Dur*_*esh 0 c embedded flash-memory
我正在使用Spansion的16MB闪存.扇区大小为256KB.我正在使用闪存来读/写/删除30个字节的块(结构).我在IC的数据表中发现最小可擦除大小为256KB.删除特定块的一种方法是
我想问一下,有没有更好的替代逻辑.
没有办法擦除闪存中的最小可擦除扇区大小.
但是,有一种典型的方法可以处理大型闪存扇区上的小型结构.只需添加标题即可指示该结构位置中的数据状态.
简单的例子:
0xffff 结构被删除并可供使用.0xa5a5 结构包含有效的数据.0x0000 结构包含无效的数据.标题将0xffff在删除后.将新数据写入结构时,将标题设置为0xa5a5.当不再需要该数据时,将标题设置为0x0000.
数据实际上不会被删除,但可以检测为无效.这允许您等到扇区已满,然后清理无效记录并压缩有效记录.