文章预览
FLASH 数据丢失错误 原因 : 由于 FLASH 写入的特性 是 先擦后写 , 写入 不会在原来位置重新写数据,一般都是把原位置的数据标记为无效,再在新位置写入数据 。 如果在擦除中掉电或者写入时掉电,有可能会出现失败的情况,下次再上电读取就会出错; 如果是在 擦除的时候掉电,不能保证擦除完全,但是已经擦除的部分, 全变成 0xff 了。 如果是 写的时候掉电,已经写入的就是正确的,电平掉到最低极限工作电压附近时写入的 数据 就无法保证 写入正确 。 解决 方法: ( 1 ) 硬件 加入 掉电保护机制 硬件电路上有相应的掉电警告中断,而且必须有足够的时间供软件响应。 1) 电源管理芯片,检测掉电事件的发生; 2) 储能元件,在掉电发生后能满足执行掉电保护的操作即有足够的时间存储一些标志位和必要的数据; 一个电源检测芯片,一
………………………………