flash运行过程中出现位翻转现象导致程序工作异常
,, 芯片是mm32f0144c6p 你这是0变1 了,还是1变0了? 本帖最后由 victory007 于 2024-1-31 09:59 编辑. Dick Hou 发表于 2024-1-30 10:08
你这是0变1 了,还是1变0了?
上方是正常的,下方是异常的,由0遍成1了 单bit从0变1,说明里面存的电丢了。
首先怀疑是擦除后写入的电压过低,或者ESD打这个地方了。如果重新烧写还是这样,就是这个bit坏了,可能是芯片生产的时候灰尘导致的。换一片芯片。 Nand Flash中cell的电压值可能会慢慢变化,变得与原始值不一样。 程序跑飞了吗?如果不操作Flash会出现这个问题吗? 有没可能是时序导致的flash问题。 选择更高质量的Flash存储器件,它们可能具有更好的稳定性和更低的位翻转率。同时,可以考虑使用ECC(错误纠正码)等硬件技术来检测和纠正位翻转错误。 我也遇到这个问题了,已经出现10片了,现在还在增加,不过我用的是mm32f0020B1T和mm32f0144C4P,出问题的flash位置均在0x080001F0附近,联系原厂,还没有给说法。楼主目前找到解决方案了吗?
我在不同项目上均用到了 microLIB,出问题的地址也都在microLIB上。起初以为是程序中存在flash操作导致的,后来其他从未操作flash的项目中也出现,且位置一样。
页:
[1]