This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS570LS1114:SRAM 1位 ECC 问题

Guru**** 2391935 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1128116/tms570ls1114-sram-1bit-ecc-problem

器件型号:TMS570LS1114

我之前已经问过 E2E 上的闪存1位 ECC 和 SRAM 1位 ECC 之间的区别。 由于闪存本身的特性、校正后的数据不能写入闪存、也就是说、原始闪存地址上的数据不能校正和写入、但是 SRAM 校正后的数据会自动写入。 返回下图中的消息。

但是、在测试期间、我修改了 ECC 地址上的数据、然后读取相应的 SRAM 数据、这会触发1位 ECC 故障。 但是、ECC 地址上的 ECC 校验码没有被校正、之前错误的 ECC 代码仍然被保存。 此时、当 SRAM 数据被触发读取时、1位 ECC 故障未被触发。 也就是说、ECC 校验码被校正、但为什么我看到存储器数据仍然错误、如下图所示;

为什么存储器地址上的 ECC 校验码值显示为 μ????

仅当重新写入 SRAM 数据时、相应地址上的 ECC 检查代码才会更新为正确的值、如下图所示。 因此、我对如何校正 SRAM 的 ECC 有疑问。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我的问题是、如果 ECC 检查代码不正确、CPU 在检测到1位 ECC 故障时是否会纠正 ECC 检查代码的值?

    如果 SRAM 数据有1位 ECC 故障、如何纠正错误?

    CPU 能否区分数据错误和 ECC 代码错误?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    SRAM 由 ECC 保护 、允许 CPU 纠正任何单位错误并检测64位值内的双位错误。  每个 RAM 数据字为64位宽、ECC 数据为8位宽。

    64位数据或8位 ECC 中的任何1位错误、从 SRAM 读取64位数据将纠正损坏的数据或损坏的 ECC 值、并将更正后的值保存到存储器中。