2394186_zh-CN

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

2394186_zh-CN

2394186_zh-CN

执行 fls_Erase() 操作期间断电后,数据闪存损坏和 ECC 错误

我们发现,当由于断电/RESET情况导致Fls_Erase()操作中断时,数据闪存会发生损坏。系统重启后,受影响的数据闪存区域似乎已损坏。

AshokSubramani_1-1783921509927.png


在随后尝试使用Fls_Erase()恢复扇区时,当 Flash 驱动程序在执行擦除操作之前尝试访问受影响的地址范围时,会生成 ECC 错误。因此,擦除操作无法成功进行。

我们希望了解闪存控制器在此场景下的预期行为,并请求就以下几点提供指导:

  1. 如果在Fls_Erase()操作进行期间断电,数据闪存是否会损坏?
  2. 在发生此类中断后,访问部分擦除/损坏的闪存扇区时,是否预期会出现 ECC 错误?
  3. 是否有任何机制或寄存器可以暂时禁用 Flash ECC 检查,以便擦除和恢复损坏的 Flash 扇区?
  4. 断电后,对于包含无法纠正的ECC错误的闪存扇区,推荐的恢复程序是什么?

目标设备: [MPC5746C]
软件栈: [AUTOSAR / 裸机]

Re: Data Flash Corruption and ECC Errors After Power Abort During Fls_Erase() Operation

你好,


  • 如果在Fls_Erase()操作进行期间断电,数据闪存是否会损坏?

是的,这是正确的做法。由于编程/擦除过程中断电,闪存中的数据将与 ECC 纠错码不匹配。

  • 在发生此类中断后,访问部分擦除/损坏的闪存扇区时,是否预期会出现 ECC 错误?

是的。

  • 是否有任何机制或寄存器可以暂时禁用 Flash ECC 检查,以便擦除和恢复损坏的 Flash 扇区?

不,这是硬件的永久性功能。

  • 断电后,对于包含无法纠正的ECC错误的闪存扇区,推荐的恢复程序是什么?

在这种情况下,您需要初始化(擦除)损坏的闪存块。一旦完成 ECC 纠错,闪存中的数据将与 ECC 纠错匹配,访问不会触发 ECC 错误。

有关闪存擦除步骤,请参阅参考手册:

petervlna_0-1783927605596.png

顺祝商祺!

Peter



标记 (1)
无评分
版本历史
最后更新:
14 小时之前
更新人: