|
相信做嵌入式开发的都知道数据的非易失性保存,通常就是Flash,但是通常会有数据的丢失,但是,我一直在考虑到底是什么导致了数据的丢失。在Flash的相关操作,主要是写和擦处,应该说读的时候造成数据丢失的概率要小些,而写和擦处的时候,都是在Flash内部状态机启动响应的动作的,我们只是把数据写到Flash的预存(姑且这么称呼),然后就是数据的Flash的自行启动内部的状态机了,我们只要保证外在的电平就可以了,我觉得这样数据丢失的很没有道理,除非自己在程序的运行中,无意中促成了Flash的操作电平,而且同时地址又选在Flash对应区域,此时,八成是要丢失数据的。
但是,在正常的状态,应该不会丢失数据的呀!个人觉得,在写或者擦处Flash的时候,把所有的中断都关了,可能会好点吧!不知道各位在实际中怎么动作的!
请教了,你怎么防止数据丢失的,当然程序跑飞造成的Flash误操作就又另当别论了!谢谢先!
|
|