数据丢失怎么办?

yangss2006 2008-03-07 07:01:13
相信做嵌入式开发的都知道数据的非易失性保存,通常就是Flash,但是通常会有数据的丢失,但是,我一直在考虑到底是什么导致了数据的丢失。在Flash的相关操作,主要是写和擦处,应该说读的时候造成数据丢失的概率要小些,而写和擦处的时候,都是在Flash内部状态机启动响应的动作的,我们只是把数据写到Flash的预存(姑且这么称呼),然后就是数据的Flash的自行启动内部的状态机了,我们只要保证外在的电平就可以了,我觉得这样数据丢失的很没有道理,除非自己在程序的运行中,无意中促成了Flash的操作电平,而且同时地址又选在Flash对应区域,此时,八成是要丢失数据的。
但是,在正常的状态,应该不会丢失数据的呀!个人觉得,在写或者擦处Flash的时候,把所有的中断都关了,可能会好点吧!不知道各位在实际中怎么动作的!
请教了,你怎么防止数据丢失的,当然程序跑飞造成的Flash误操作就又另当别论了!谢谢先!
...全文
294 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangb2014# 2008-03-12
  • 打赏
  • 举报
回复
嵌入式是可以随时关电的,

如下方法:
1、让用户手动控制存储数据;
2、加电容,保证存储完成;
3、日志型文件系统;修改数据前,先把以前的数据复制到安全的地方,并标记,这样即使存储数据时中断,也可以恢复之前的数据;
4、楼上所说的Flash的寿命也是需要考虑的问题,不过短期不会出现;
yangss2006 2008-03-11
  • 打赏
  • 举报
回复
看来对这个问题,大家都没有什么好的办法了!
91program 2008-03-10
  • 打赏
  • 举报
回复
正常情况下,是不会的!但是异常情况太多!!!

还有就是Flash的擦写次数,经常擦写同一个地方会有问题。
KevinCEC 2008-03-10
  • 打赏
  • 举报
回复
加载电池.

19,500

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧