STM32 FLASH的擦写寿命

2019-07-24 12:59发布

    这个问题,其实从STM32各个型号的datasheet就可以看出来.     对比了几个文档之后,我发现STM32F10x系列的不同型号,他们的最少擦写寿命不一样.仔细对比了下,原来是版本的问题.在老版本中,写的内容如下:

    这是老版本的表述,就说最少是1K次,典型的是10K次.而后面的新版本,其内容如下:


     新版本的把最少次数改为了10K次,这样的话,我们可以认为STM32的FLASH擦写周期在1W次左右.所以大家可以算算,每天擦写100次,那么需要100天.但是你能每天刷100次么?除非你想测试STM32的flash寿命,呵呵.否则,顶多就是30次的样子.这样算来,每天擦30次,从不间断,能用一年左右. 但是你能一年平均每天都擦30次么?
    


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
34条回答
秋天
1楼-- · 2019-07-27 11:08
 精彩回答 2  元偷偷看……
秋天
2楼-- · 2019-07-27 12:31
如果操作stm8,或者stm32内部flash某个页,假如我操作 了上万次,那时候如果flash坏了,是坏了一个页还是整个flash都用不了,程序也跑不了了?
xyzjacky
3楼-- · 2019-07-27 16:13
本帖最后由 xyzjacky 于 2018-5-23 14:58 编辑
秋天 发表于 2018-3-21 10:39
如果操作stm8,或者stm32内部flash某个页,假如我操作 了上万次,那时候如果flash坏了,是坏了一个页还是整 ...

你找到答案了吗?
如果你的flash被擦写的部分仅仅是数据的存入(一般来说都是如此),那影响的是你系统的工作状态,比如,某页记录有你设备工作时长,影响的是你的系统开机后读取不到正确的工作时长,也记录不了。你的程序还是能跑的。
你说的擦了一万次,一般是把那一个页擦坏了,你看正点原子例程里,写某一页flash前是有检查这一页flash的好坏的。很少会整个片子的flash被擦坏,但也不是没有。同时也不是说某一个页(这里只是指记录数据的区域)坏了程序就跑不了,只是程序会受影响,如上面我的举例。连程序都跑不了的情况很少,也不是没有,这个就要看具体情况,特别是保存code代码的那一段flash坏了,那程序肯定就挂了。
xyl210xyl
4楼-- · 2019-07-27 17:46
一天擦30次,程序员已经很累了
动次打次歌
5楼-- · 2019-07-27 23:13
秋天 发表于 2018-3-21 10:39
如果操作stm8,或者stm32内部flash某个页,假如我操作 了上万次,那时候如果flash坏了,是坏了一个页还是整 ...

擦写次数的意义在于:
1.官方保证在次数限制内是可靠的,设计产品的时候按照官方保证的次数产品的稳定性就可以得到保证,最普遍的例如flash模拟EEPROM,需要用到两页轮询写还是10页轮询写就跟产品要求有关了,另外不同的产品flash擦写次数也是不同的,例如stm8s和8L
2.讨论调试会不会刷坏flash一点意义都没有,有些还是OTP的呢,芯片并不是玩具
动次打次歌
6楼-- · 2019-07-28 05:06
 精彩回答 2  元偷偷看……

一周热门 更多>