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.

[参考译文] TMS570LS3137:通过 PMU 的 Cortex TCM 错误事件计数器与 ESM 内存错误之间有何区别?

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/657826/tms570ls3137-what-s-the-difference-between-the-cortex-tcm-error-event-counter-via-the-pmu-and-the-esm-memories-errors

器件型号:TMS570LS3137

我正在尝试监控所有单位和多位存储器错误的计数。 ARM 内核通过性能监控单元支持事件计数器、该单元可以对奇偶校验和 ECC 错误进行计数。 此外、TMS570LS3137-TCRAM 寄存器接口通过 RAMOCCUR 寄存器支持单位错误计数、此外3137还具有针对单/多位错误的 ESM 中断。  

这些计数/事件是否都可能发生在同一个单一错误上(如果两者都已配置)、或者 PMU 是否计数与 RAMOCCUR/ESM 不同类型的错误?

也许这个问题的措辞会有所不同--如果配置正确的话,ESM 中断是否会针对所有的单/多位内存错误发生,或者我还必须使用 RAMOCCUR 和/或 PMU 来解决 ESM 看不到的错误?

谢谢、

Jim

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

    ESM 只是一个通知模块、ESM 通知的触发将来自 ESRAM 包装程序 IP 内的配置。 即、当 RAMOCCUR 计数与配置为阈值的值匹配时、RAM 阈值计数将触发阈值中断。 在设置阈值之前、RAMOCCUR 值应清零、这一点很重要、因为如果不是这样、二者之间的同步可能会丢失。 PMU 不会被连接至阈值函数并且与 ESRAM 包装程序逻辑无关。

    在关于递增计数器的边注中、如果一个 RAM 位置被一个被校正的单一位错误读取、校正后的值被存储在 Cortex-R4 CPU 内的一个缓冲区中。 然后、针对任何正在进行的连续访问访问访问访问访问该缓冲区、因此它不会导致单个位纠错计数的累加。 然而、如果有一个后续位置被单个位校正访问、它将被载入到缓冲器中、从而导致一个递增。 如果再次访问原始位置、则会再次将其加载到缓冲区中、并导致计数器递增。

    双位/不可纠正的错误将导致一个 CPU ABORT/ESM 组3故障并且不被诸如 RAMOCCUR 或阈值计数的 ESRAM 包装程序参数跟踪。 如果配置为递增、则这些类型的错误的 PMU 事件仍可递增。