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.

[参考译文] TMS570LC4357、在 L2FMC 和 L2RAM 中检测单一位错误

Guru**** 2477075 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/980800/tms570lc4357-detect-single-bit-error-in-l2fmc-and-l2ram

大家好、

如何检测 L2FMC/22RAM 中的单个位错误?

这些错误的 ESM 通道是什么?

 

此致

Lars

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

    Lars、您好!

    默认情况下启用 ECC、读取期间任何单位 ECC 错误都会得到纠正。 对于 SRAM 中的错误、校正后的数据也会被写回 SRAM。 除了以下两种情况外、单位错误不会进入 ESM:

    1、隐式读取(读取 TI OTP)期间的单位错误(ESM 1.6)

    2. CPU 写入 SRAM 期间的单位 ECC 错误(ESM 1.26)

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

    您好!
     
    我知道 ECC 在默认情况下启用、并且纠正了单个位错误。
    但我希望在 L2FMC 和 L2RAM 中检测到单位错误。

    我在参考手册(spnu563.pdf)中找到了以下句子:
    “如果 EPCCNTRL 寄存器中的 SERRENA 位被启用,那么单位错误可纠正的故障事件将被触发到 ESM。”
    对我来说,我似乎必须激活 SERRENA 位,我可以在软件中通过调用函数“epcEnableSERREvent”来实现这一点。
    但这是否足以检测 L2FMC 中的单个位错误? 如果我这样做,那么触发哪个类型的 ESM 中断通道?

    L2RAM 也是如此,我找到了寄存器“RAMCTRL”,位4“CPUWSC”。 我想,如果我将位 CPUWSC 设置 为“1”(启用单个位错误状态捕获和 ESM 通知。) 单个
    检测到 L2RAM 上的位错误、如果检测到单个位错误、则激活 ESM 26。

    我不知道我的道路是否正确。

    此致
    Lars

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

    Lars、您好!

    是的、您可以使用 EPC 来收集存储在 EPC CAM (内容可寻址存储器)中的单位错误。 但没有将所有可纠正的错误记录到 CAM 中。 TMS570LC43x 具有32条目 CAM。

    对于单位错误,如果错误地址不在 CAM 列表中,将设置 ESM 1.4。 如果错误已在 CAM 列表中,则会丢弃失败,并且不会设置 ESM 通道。

    ESM1.4是 EPC 可纠正的错误。 您可以读取 CAM 内容寄存器以确定哪个存储器位置存在可纠正的故障。  

    如果启用了 CPUWSC、来自 CPU 写入 (未读取)的单位 ECC 错误将报告给 ESM 1.26。