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:为 ESM 启用中断

Guru**** 2468570 points
Other Parts Discussed in Thread: TMS570LC4357

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1021407/tms570lc4357-to-enable-interrupt-for-esm

器件型号:TMS570LC4357

大家好、
我们将 TMS570LC4357处理器用于我们的项目。 我们的要求是在运行软件时启用单位 RAM、多位 RAM、单位闪存、多位闪存和 CPU 比较错误、并为所有这些故障生成 ESM 中断。

我们已通过如下设置 IESR1和 IESR4来启用 ESM 中断。
ESM_BASE[IESR1]= 0x04000040UL;
ESM_BASE[IESR4]= 0x80080UL;

目前、当我们尝试仿真这些故障时、它会生成异常(数据中止)、并且 ESMSR1或 ESMSR1寄存器中的相应错误位未分别置位。

请告知我们、是否需要对其进行更多配置以及模拟这些故障的任何首选方法。

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

    如何生成这些误差?  

    ESM_BASE[IESR4]= 0x80080UL;-->通道39用于电源域自检错误,通道51用于 DCAN4 ECC 错误  

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

    对于单个位 RAM 和闪存、由于 IESR1 寄存器中启用了中断、但我们仍然无法生成 ESM 中断。 对于多位闪存和 RAM 错误以及 CPU 比较错误 ,我找不到启用中断的寄存器。 (适用于第2组)。

    请告诉我们如何为 ESM 启用中断以及测试方法。

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

    您好!

    TMS570LC43x 器件具有错误分析控制器模块(EPC)。  EPC 的主要理念是使系统能够在内存系统中重复容忍同一地址上的特定数量的 ECC 可纠正错误。  如果在重复地址上生成可纠正的 ECC 错误、EPC 将不会向 ESM 模块提交错误。

    对于可纠正的故障、错误处理取决于以下条件:
      –如果传入地址已在32条目 CAM 中,请放弃失败。 没有为 ESM 生成错误。
      –如果该地址不在 CAM 列表中,且 CAM 有空条目,请将该地址添加到 CAM 列表中。 此外、如果启用、则将错误信号升高到 ESM 组1。 ESM 1.4
      –如果该地址不在 CAM 列表中,且 CAM 没有空条目,则始终向 ESM 组1发出错误信号。 ESM1.4

    对于不可纠正的故障、捕获地址并将错误信号置为 ESM 组2。 ESM2.21

    如果启用了 ESM1.4的中断、则如果发生1位 ECC 并且地址不在 CAM 列表中、则应生成中断。 始终为2位 ECC 错误(ESM2.21)生成中断。