飞思的AC16单片机,使用FLASH模拟EEPROM时,数据被改(已解决)

2020-02-20 20:36发布

本帖最后由 FSL_TICS_ZP 于 2014-10-8 16:34 编辑

曾经批量使用飞思卡尔的AC16系列单片机,一直使用FLASH模拟eeprom,一直没有什么问题,直到用于一个风机控制系统,发现数据被大面积改写,均被改写为FF,开始怀疑是上电或下电过程中的不稳定造成,在公司进行频繁的上下电实验,发现确实会导致数据被改写,于是将复位芯片的复位电压值提高到4.3V,发现问题依旧。后又增加了很多抗干扰电路,依然无果。后因为项目紧急,采用了现场固定数据的方式应付过去。

不是各位是否遇到类似的情况,可能的原因有哪些?如何防范?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
37条回答
newuseruser
2020-02-23 11:36
wangyu_2011 发表于 2014-9-9 21:25
程序里有擦除的函数吗?如果有考虑没有可能被误进入,我遇见过FSL的芯片应该跳转的指令不跳转,太概率很小 ...

程序里有擦出函数,因为只要写FLASH,就必须整页擦除。按照你的思路,去掉擦除函数,试一下还会不会出问题,如果是这个问题,你提的方法应该都能解决。

只是这个问题在那个项目中出现概率极大,但我觉得擦除函数被误调用的概率应该很小。我一直觉得可能是干扰触发了芯片的某些擦除功能,导致没保护的数据被擦除。

一周热门 更多>