新闻中心

EEPW首页 > 消费电子 > 设计应用 > Flash数据为何不翼而飞

Flash数据为何不翼而飞

作者:ZLG致远电子时间:2016-12-08来源:电子产品世界收藏

  贴板后跑不起来?里面的数据在使用过程中莫名改变或不翼而飞?程序丢失可能无法正常运行,从而造成整个系统崩溃,下面我们来看看是什么原因让数据异常变化。

本文引用地址:http://www.eepw.com.cn/article/201612/341326.htm

    

 

  1、用户代码对的误操作不当引起程序丢失或被错误改写

  例如,在有对写入或擦除操作的代码中,如果用户误调用了写入或擦除函数或者由于程序跑飞而恰好执行了Flash擦除或写入函数,这自然会导致数据丢失或改变。针对以上情况,可以在程序中设置多个允许操作的变量,当执行写入或擦除操作时,对这些变量进行判断,只有条件全部满足时,才执行相应的操作。在一些不需要进行擦除或写入操作的系统中,对存储区进行写保护或擦除保护设置,能有效的防止数据被意外修改。做到了写入或擦除的可控性,基本可以避免此种情况发生。

    

  图1 Flash保护

  2、电源失效

  图2 电源噪声严重

  电源电压的异常可能会导致系统单片机系统工作异常的现象,如输出电压小于单片机系统工作所需的最小电压,输出电压不干净,噪音严重等,这些很容易引起单片机内部电路的逻辑紊乱,Flash的读写信号处于不稳定状态。可能产生满足Flash的写操作,从而给系统带来严重的损害。针对以上情况,可以在系统中加入电源监控或使能MCU本身的电源监控电路,在电源异常的情况下禁止对Flash区域操作。

  3、系统时钟不稳定

  无论对于内部Flash还是外部Flash,系统时钟的不稳定,都将导致MCU得不到可靠的工作时序信号,从而在读写Flash时产生不可预料的后果。

  4、环境干扰

  环境干扰的可能原因很多,如生产过程中的高温焊接、静电、使用环境的温湿度,强磁场等,都可能影响到Flash或整个系统的稳定。环境干扰的因素很多,在此不展开讨论。



关键词: Flash 芯片

评论


相关推荐

技术专区

关闭