1、用户代码对Flash的误操作不妥引起程序丢掉或被过错改写
例如,在有对Flash写入或擦除操作的代码中,假如用户误调用了写入或擦除函数或许因为程序跑飞而刚好履行了Flash擦除或写入函数,这自然会导致数据丢掉或改动。针对以上状况,能够在程序中设置多个答应操作的变量,当履行写入或擦除操作时,对这些变量进行判别,只要条件悉数满意时,才履行相应的操作。
在一些不需要进行擦除或写入操作的体系中,对存储区进行写维护或擦除维护设置,能有用的防止数据被意外修正。做到了写入或擦除的可控性,根本能够防止此种状况发生。
图1 Flash维护
2、电源失效
图2 电源噪声严峻
电源电压的反常或许会导致体系单片机体系作业反常的现象,如输出电压小于单片机体系作业所需的最小电压,输出电压不洁净,噪音严峻等,这些很简单引起单片机内部电路的逻辑紊乱,Flash的读写信号处于不安稳状况。或许发生满意Flash的写操作,然后给体系带来严峻的危害。针对以上状况,能够在体系中参加电源监控芯片或使能MCU自身的电源监控电路,在电源反常的状况下制止对Flash区域操作。
3、体系时钟不安稳
不管关于内部Flash仍是外部Flash,体系时钟的不安稳,都将导致MCU得不到牢靠的作业时序信号,然后在读写Flash时发生不行意料的结果。
4、环境搅扰
环境搅扰的或许原因许多,如出产过程中的高温焊接、静电、运用环境的温湿度,强磁场等,都或许影响到Flash或整个体系的安稳。环境搅扰的要素许多,在此不展开讨论。