[STM32F1] 如何延迟FLASH的读写寿命?

[复制链接]
2595|17
 楼主| qq5782098 发表于 2018-9-20 15:23 | 显示全部楼层 |阅读模式
如题:如何延长FLASH的读写寿命。

现如今在做一个东西,读写次数较多且使用时间较长。

需要考虑到FLASH的使用寿命,且要考虑断电后如何找到断电前写到的位置

有大佬知道怎么做的吗?

指点一下。。。
lb342 发表于 2018-9-25 21:27 | 显示全部楼层
qq5782098 发表于 2018-9-25 10:35
文档的名字是什么,我去找找

AN4061  应用笔记   STM32F0xx 微控制器中的
EEPROM 仿真
huzi2099 发表于 2018-9-20 15:30 | 显示全部楼层
尽量少擦,轮番写到各个扇区.如果是频繁写某个几个字节可以考虑写到备份寄存器

断电恢复也是用备份寄存器,在备份寄存器里保留一个指针.
ningling_21 发表于 2018-9-20 16:21 | 显示全部楼层
寿命是固定的无法延长

只能采用优化算法,使之循环读写不同的扇区

或者换铁电存储
lb342 发表于 2018-9-20 20:58 | 显示全部楼层
ST官网上有一个**,专门说用FLASH做E2PROM的,就是循环使用
xyz549040622 发表于 2018-9-21 08:37 来自手机 | 显示全部楼层
是的,参考楼上的说法,每个扇区循环读写,增加寿命。st官方是有文档和代码的。
ayb_ice 发表于 2018-9-21 08:38 | 显示全部楼层
可以用空间换取,每次存不同的地方
wono01 发表于 2018-9-21 10:31 | 显示全部楼层
磨损均衡,少擦,实在没有空间了再擦除。
 楼主| qq5782098 发表于 2018-9-25 10:33 | 显示全部楼层
huzi2099 发表于 2018-9-20 15:30
尽量少擦,轮番写到各个扇区.如果是频繁写某个几个字节可以考虑写到备份寄存器

断电恢复也是用备份寄存器, ...

这个我有想过,不过我存的数据比较多,所以没有办法
 楼主| qq5782098 发表于 2018-9-25 10:34 | 显示全部楼层
ningling_21 发表于 2018-9-20 16:21
寿命是固定的无法延长

只能采用优化算法,使之循环读写不同的扇区

就是想知道这个优化算法是怎样的
 楼主| qq5782098 发表于 2018-9-25 10:35 | 显示全部楼层
lb342 发表于 2018-9-20 20:58
ST官网上有一个**,专门说用FLASH做E2PROM的,就是循环使用

文档的名字是什么,我去找找
lb342 发表于 2018-9-25 21:30 | 显示全部楼层
qq5782098 发表于 2018-9-25 10:35
文档的名字是什么,我去找找

起始可以做一个断电检测,每次断电才写入FLASH。设备一般断电次数应该不多。特殊设备除外。
yongwong9901 发表于 2018-9-25 21:41 | 显示全部楼层
740071911 发表于 2018-9-26 08:56 | 显示全部楼层
huzi2099 发表于 2018-9-20 15:30
尽量少擦,轮番写到各个扇区.如果是频繁写某个几个字节可以考虑写到备份寄存器

断电恢复也是用备份寄存器, ...

这个备份寄存器必须要加电池吧,貌似没有电池也保存不了。
 楼主| qq5782098 发表于 2018-9-26 18:05 | 显示全部楼层
lb342 发表于 2018-9-25 21:27
AN4061  应用笔记   STM32F0xx 微控制器中的
EEPROM 仿真

这是正是我要的,谢谢
huzi2099 发表于 2018-9-27 12:34 | 显示全部楼层
740071911 发表于 2018-9-26 08:56
这个备份寄存器必须要加电池吧,貌似没有电池也保存不了。

是的,又快又大又不需要电...恐怕没有,你多大的数据量啊
Soraka 发表于 2018-9-28 21:16 | 显示全部楼层
采用优化算法,使之循环读写不同的扇区
磨砂 发表于 2018-10-10 10:02 | 显示全部楼层
这个还真没关心过
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

179

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部