Flash数据为何不翼而飞

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

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

Flash数据为何不翼而飞

说好的数据,哪里去了?

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

Flash数据为何不翼而飞

  图1 Flash保护

  2、电源失效
 

Flash数据为何不翼而飞

  图2 电源噪声严重

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

  3、系统时钟不稳定

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

  4、环境干扰

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

技术专区

  • 中航研制的几厘米嵌入式芯片可实现准确智能感知
  • Vega20的芯片识别代码的出现
  • 中央及省市多位领导调研基本半导体科技创新成果
  • Imagination Technologies公司宣布新任首席执行官
  • 干货!全面解析中国半导体产业前景
  • Flash数据为何不翼而飞已关闭评论
    A+
发布日期:2019年07月13日  所属分类:电子百科