独闷闷网

标题: EEPROM和FLASH有什么差别?仅改变FLASH的某个字节其它数据保持不变该怎么处理?已解答。 [打印本页]

作者: jianhong_wu    时间: 2016-7-24 12:05
标题: EEPROM和FLASH有什么差别?仅改变FLASH的某个字节其它数据保持不变该怎么处理?已解答。
晓谢-南通:
EEPROM和FLASH有什么差别?

★坚鸿-深圳:
(1)EEPROM最小的写入单位是1个字节,写入1个字节也可以看作最小的擦除单位也是1个字节。在数据量不大的项目中,而且比较灵活,操作方便快速。
(2)FLASH最小的擦除单位不是1个字节,而是以扇区为最小的擦除单位,每个扇区往往是2K或者4K的字节数。擦除之后,每个字节都变成了0xFF的数据,此时只能写入的数据如果分解成二进制来看,只能写入二进制的“0”,而数据一旦变成了二进制的“0”,就没法逆向写入“1”,必须重新擦除后每个字节才会恢复成“11111111”(十六进制的0xFF)。FLASH适合在大数据的项目,还有一些用到文件系统的项目。如果想仅仅改变FLASH某个扇区的某个字节其它数据保持不变,该怎么处理?常用的处理方法是先把此扇区的所有数据先读到一个数组里,然后在数组里更改某个数据,最后再把此扇区擦除后重新把更改后的数组的全部数据写入FLASH。





欢迎光临 独闷闷网 (http://www.dumenmen.com/) Powered by Discuz! X3.2