独闷闷网

 找回密码
 立即注册
搜索
查看: 3064|回复: 0
打印 上一主题 下一主题
收起左侧

[原创] EEPROM和FLASH有什么差别?仅改变FLASH的某个字节其它数据保持不变该怎么处理?已解答。

[复制链接]
跳转到指定楼层
楼主
发表于 2016-7-24 12:05:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
晓谢-南通:
EEPROM和FLASH有什么差别?

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

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2024-11-29 16:33 , Processed in 0.156958 second(s), 17 queries .

快速回复 返回顶部 返回列表