您的位置 首页 解答

Flash数据为何不知去向

芯片贴板后跑不起来?Flash里面的数据在使用过程中莫名改变或不翼而飞?重新下载程序后又可以运行?这究竟是为什么呢?

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

例如,在有对Flash写入或擦除操作的代码中,假如用户误调用了写入或擦除函数或许因为程序跑飞而刚好履行了Flash擦除或写入函数,这自然会导致数据丢掉或改动。针对以上状况,能够在程序中设置多个答应操作的变量,当履行写入或擦除操作时,对这些变量进行判别,只要条件悉数满意时,才履行相应的操作。

在一些不需要进行擦除或写入操作的体系中,对存储区进行写维护或擦除维护设置,能有用的防止数据被意外修正。做到了写入或擦除的可控性,根本能够防止此种状况发生。

1561614654690371.png

图1  Flash维护

2、电源失效

1561614667234199.jpg

图2  电源噪声严峻

电源电压的反常或许会导致体系单片机体系作业反常的现象,如输出电压小于单片机体系作业所需的最小电压,输出电压不洁净,噪音严峻等,这些很简单引起单片机内部电路的逻辑紊乱,Flash的读写信号处于不安稳状况。或许发生满意Flash的写操作,然后给体系带来严峻的危害。针对以上状况,能够在体系中参加电源监控芯片或使能MCU自身的电源监控电路,在电源反常的状况下制止对Flash区域操作。

3、体系时钟不安稳

不管关于内部Flash仍是外部Flash,体系时钟的不安稳,都将导致MCU得不到牢靠的作业时序信号,然后在读写Flash时发生不行意料的结果。

4、环境搅扰

环境搅扰的或许原因许多,如出产过程中的高温焊接、静电、运用环境的温湿度,强磁场等,都或许影响到Flash或整个体系的安稳。环境搅扰的要素许多,在此不展开讨论。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/jieda/128042.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部