ZHCAFQ7 September   2025 F29H850TU , F29H859TU-Q1 , F29P589DM-Q1 , F29P589DU-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
  5. 2错误处理架构概述
  6. 3示例概述
  7. 4错误聚合器概述
    1. 4.1 错误聚合
    2. 4.2 错误记录
    3. 4.3 使用 EAM 模块进行错误调试
      1. 4.3.1 EAM 错误调试
      2. 4.3.2 解读错误地址和程序计数器值
  8. 5错误信令模块概述
    1. 5.1 ESM 错误事件输出配置和状态信息
      1. 5.1.1 Sysconfig ESM 配置
    2. 5.2 ESM 错误事件调试
    3. 5.3 ESM 的其他调试技巧
  9. 6BootROM EAM 和 ESM 错误状态
  10. 7常见问题解答:
  11. 8总结
  12. 9参考资料

错误信令模块概述

错误信令模块 (ESM) 将对整个器件中错误事件的响应系统地整合到一个位置,这对于一些安全关键应用至关重要。

ESM 子系统包含以下模块:

  1. ESM CPU1 - 输出到 CPU1 的专用 ESM 模块
  2. ESM CPU2 - 输出到 CPU2 的专用 ESM 模块
  3. ESM CPU3 - 输出到 CPU3 的专用 ESM 模块
  4. 系统 ESM - 用于系统级输出的专用 ESM 模块(主要是 ERRORSTS 引脚输出、器件复位以及集成使用 XBAR 事件输出的其他模块)

图 5-1 详细介绍了 ESM 子系统如何在器件级集成,有关更多信息,请参阅 F29x TRM 中的 ESM 一章。

 ESM 子系统集成方框图图 5-1 ESM 子系统集成方框图

ESM 提供了一些功能将错误按照严重性分类并提供可编程错误响应。错误信令模块提供了一种方法,根据所遇到的错误的严重性,向 CPU 指示错误引脚响应、可选的中断优先级响应或不可屏蔽中断 (NMI)。用户负责确定要为每个错误事件采取的错误响应,以便与系统安全概念保持一致。

  1. 特定 CPU 中断:
    1. 中断(从 PIPE 到 CPU 的 INT 或 RTINT)(ESM 的低优先级中断输出)— 通常选择用于器件中遇到的可纠正或低严重性错误,或者可以实施以用于 CPU 外部的诊断。中断允许 CPU 外部的事件生成一个程序序列上下文,然后传输给中断处理程序,在那里软件有机会管理该故障。
    2. 不可屏蔽中断 (NMI)(ESM 的高优先级中断输出)— 通常选择用于器件中遇到的不可纠正或严重错误,在这类情况下,需要进行错误响应以将上下文传输到 NMI ISR,并且软件有机会管理故障并安全地中止操作。
  2. 错误信令引脚:
    1. PMIC(电源管理集成电路)等外部监测器的错误引脚 (ERRORSTS) 操作,用于在所需响应为生成外部错误响应的情况下执行操作。
  3. 复位
    1. 相应的 CPU 复位 (CPURSn):ESM 能够为单个 CPU 生成复位,以便在检测到 MCU 中存在错误时使系统进入安全状态。
    2. 器件复位 (XRSn):检测到错误时,触发器件复位 (XRSn) 以使 MCU 进入安全状态。

下一节简要概述了适用于 ESM 子系统中上述输出的 ESM CPU 和系统 ESM 模块的配置。有关更多详细信息,请参阅 F29x 技术参考手册 中的 ESM 一章和器件集成。

ESM 中错误事件的概述和须知要点:

  1. 错误事件对所有 ESM 模块(ESM CPU1/2/3 和系统 ESM)通用
  2. 每个 ESM 模块都有单独的配置和状态寄存器,因此所有 ESM 模块都可以彼此独立工作,从而针对不同的用例提供灵活性。例如,错误事件在发生时可配置为从 ESM CPU1 输出 CPU1 中断,而不配置为从 ESM CPU3 模块输出 CPU3 中断。
  3. 错误事件进一步分成 32 组。F29x 器件总共有 256 个错误事件,因此总共有 8 个组。
注: 默认情况下,所有 Group0 错误事件都映射到触发器 NMI。Group0 错误事件是来自 EAM(错误聚合器模块)的高优先级聚合 CPU 错误输出。