ZHCAFQ7 September 2025 F29H850TU , F29H859TU-Q1
解答 – 是的,建议用户在器件初始化期间设置 NMI ISR,这样,当发生高优先级错误(例如 Group0 错误事件)并触发相应 CPU 的 NMI 时,就可以按照 F29x TRM 中的指导和 ESM 多核 F29 SDK 示例,慢慢清除 EAM 和 ESM 中的错误标志。如果未能清除 ESM 原始状态标志,会导致 NMIWD 超时并触发 XRSn(器件复位)。用户可以检查 RESC(复位原因)寄存器中的 NMIWD 位以确认这一点。
解答 — 如果没有用户/应用程序 NMI ISR 设置,则 CPU 转至 BootROM 中的默认 NMI 处理程序,这时, CPU 清除并将错误状态和标志保存在 M0 RAM 地址中以进行调试。有关更多信息,请参阅 BootROM TRM 一章。
解案 – ESM NMIWD 超时发生并导相应 CPU 产生高优先级看门狗中断输出。ESM CPU1 高优先级看门狗中断输出连接以导致 XRSn,而 ESM CPU2/CPU3 产生相应的 CPURSn,如 ESM 子系统集成视图中所示。
解答 – 当 ESM Group0 错误事件处于活动状态并传输通过 EAM 模块,但未配置为产生 NMI 时,CPU 进入故障状态。处于活动状态的 CPU EAM 模块高优先级错误应配置为始终触发相应 CPU 的 NMI。
解答 – 不是,错误类型寄存器(本文档中称为 EAM 错误标志)和 ESM 原始状态寄存器 (RAW_j)(称为 ESM 错误标志)仅由 PORESETn 复位。即使在 XRSn 和 CPURSn 之后,这些标志也会保留值,因为应用程序需要这类错误标志信息,才能在由 ESM 触发复位并作为对应用程序软件未处理的错误事件响应的情况下进行调试。
解答 – 在清除 ESM 原始状态寄存器 (RAW_j) 标志后,确保也使用相应的错误 ESM 中断输出适当键写入 EOI 寄存器。此写入 EOI 的步骤基本上是用户确认 ESM 中断输出,并将 ESM 输出置为无效。如果未对 EOI 寄存器进行写入,即使 ESM 错误事件标志被清除,ESM 中断输出也会保持有效。
根据发生的特定错误事件,是否仅可以产生 CPU1 的 NMI 而不是 CPU3 的 NMI 并且反之亦然?
解答 – 是的,ESM 是高度可配置的,并且由于每个 CPU 都有单独的专用 ESM 逻辑块,因此可以在初始化期间设置配置,以便从各自的 ESM CPU 逻辑块产生任一 CPU 的 NMI 或任何其他错误响应,同时禁用另一个 ESM CPU 逻辑块针对特定错误事件产生错误响应或配置不同的错误响应。