FLASH擦写次数超上限之后是个什么”坏“状态?

2019-08-14 04:39发布

如题,虽然相关的帖子很多了,但还是没找到我要的答案,索性再辩一次吧。
描述:代码中用到了Falsh来模拟EEPROM,用于存储掉电需要保存的数据(电量统计--4个字节),代码中1小时刷新一次电量统计值,也就是一小时擦除、写入falsh的第59页的前四个字节一次。那么问题来了:如果周而复始的工作,总有一秒会超出falsh的擦写次数范围以至于falsh坏掉了。
我想请教一下:

1、Flash擦坏了是种什么状态?写不进去?读不出来?有什么办法知道它坏了?
2、falsh坏了之后是整个的falsh都坏了?还是程序中反复擦写的那一页坏了?如果是后者,倒是可以换一页接着擦了,哈哈哈。
还望大神们指点啊,在此谢过。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
simms01
1楼-- · 2019-08-14 07:09
 精彩回答 2  元偷偷看……
烟酒不沾
2楼-- · 2019-08-14 07:25
关注,关注!
JUSTNIUB
3楼-- · 2019-08-14 13:19
spi flash编程原理是把1写成0,而擦除操作是将所有的字节全部变成1.

1.一般来说,flash擦坏指的是坏块,而不是整个flash坏掉。
2.flash擦坏的表现是无法写入,但是可以读出。
yuerx
4楼-- · 2019-08-14 13:19
落月枫情
5楼-- · 2019-08-14 17:54
simms01 发表于 2017-8-2 17:46
当前块坏了 不能再写入。   不过其实可以通过设置多个块 循环轮番写入  可以写好长时间

对头,做均衡,数据少的话可以扩展N多次的写入,这么一来只需要在多次写入直到写满一页的时候进行一次擦除然后再从头写就OK了。
落月枫情
6楼-- · 2019-08-14 21:48
 精彩回答 2  元偷偷看……

一周热门 更多>