找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1982|回复: 9
收起左侧

关于STM32f103RCT6的flash检测问题

[复制链接]
ID:266635 发表于 2021-9-11 17:56 | 显示全部楼层 |阅读模式
大佬们,本人正在学STM32,STM32的flash可以擦写10万次,是整个flash擦写10万次,还是一个片区(2KB)的空间可以擦写10万次,如果是一个片区擦写10万次的话,当0x08004000到0x08004800这个片区擦写了10万次,坏死了。怎么用程序检测这个片区是否已经坏死,坏死以后将数据保存到下一个片区。本人用的是stm32f103RCT6的开发板。然后使用的是页擦除。就是每次写入数据之前,都要擦除0x08004000到0x08004800这个片区。
回复

使用道具 举报

ID:891041 发表于 2021-9-11 18:19 | 显示全部楼层
那就只能写入后 读出来看看对不对了。 这样很麻烦。 每次都要读。  干脆 你就每次把所有片区写满后 留下当前片区 剩下全擦除 循环使用就好了。  设计的时候计算好寿命就行了。
回复

使用道具 举报

ID:827243 发表于 2021-9-13 08:46 | 显示全部楼层
如果确定要达到或超过10万次,你应该用轮流写的方式,比如0x08004000-0x08004800,0x08004800-0x08005000,0x08005000-0x08005800,0x08005800-0x08006000, 这样就40万次了。
回复

使用道具 举报

ID:123289 发表于 2021-9-13 09:11 | 显示全部楼层
只是承诺一个概数,10万次用不坏的。承诺10万次的人做不到那么准。
回复

使用道具 举报

ID:266635 发表于 2021-9-13 12:17 | 显示全部楼层
daemondong 发表于 2021-9-13 08:46
如果确定要达到或超过10万次,你应该用轮流写的方式,比如0x08004000-0x08004800,0x08004800-0x08005000, ...

是不是这样的哦!这个只是我想的那样,10万次是整个flash的擦写次数,还是一个片区的擦写次数?
回复

使用道具 举报

ID:266635 发表于 2021-9-13 12:21 | 显示全部楼层
yzwzfyz 发表于 2021-9-13 09:11
只是承诺一个概数,10万次用不坏的。承诺10万次的人做不到那么准。

我也知道他们做不了那么准。现在我的问题是:怎么检测flash片区是否已经被擦坏(通过程序实现),擦坏以后需要把数据往下一个片区存放。
回复

使用道具 举报

ID:827243 发表于 2021-9-13 12:46 | 显示全部楼层
胡凯哥 发表于 2021-9-13 12:17
是不是这样的哦!这个只是我想的那样,10万次是整个flash的擦写次数,还是一个片区的擦写次数?

所有flash每个字节都是10万次,这个是物理性能。所以你要大于10万次,只能轮流用。
回复

使用道具 举报

ID:624769 发表于 2021-9-13 14:12 | 显示全部楼层
片区,是逻辑上的,不是物理上的, 坏的时候,并不是这个片区,那个片区坏,而是整个Flash 呈现不稳定存储不稳定状况。你是无法确定,具体哪里坏的,因为,坏,不是说一下子不能读些,或者说一下子就全变00,或者FF了,而是,可能你存了0xFF, 其中低位坏了,只有高位还好,就变 0xFE了,这是针对一个字节而言,对于整个片区,就是各个地方随机性出现储存不稳定状态。再往后才是写不进数据,应该说,写操作执行是成功的,但是,内容是错的。二这种情况,不会只存在于这个片区,而是整个Flash, 如果你的程序同在一个物理Flash中,程序也会不稳定。
所以,如果你的写操作频繁,建议所有能写得地方,轮写,写满后擦除。超过一小时才写1次的话……,就不要操这个心了,10年都写不够10万次,而你做的东西,绝对用不满10年。
回复

使用道具 举报

ID:266635 发表于 2021-9-13 15:18 | 显示全部楼层
188610329 发表于 2021-9-13 14:12
片区,是逻辑上的,不是物理上的, 坏的时候,并不是这个片区,那个片区坏,而是整个Flash 呈现不稳定存储 ...

明白了,谢谢!
回复

使用道具 举报

ID:584195 发表于 2021-9-14 07:16 | 显示全部楼层
可以用外部存储呀,干嘛跟他较上劲呀!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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