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.

[参考译文] TMS570LS0914:在 N2HET1 引脚执行 ISR 功能后进入未定义的条目 11

Guru**** 2693225 points

Other Parts Discussed in Thread: TMS570LS0914

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1592612/tms570ls0914-entering-undefined-entry-after-execution-of-isr-function-for-n2het1-pin-11

器件型号: TMS570LS0914

  1. N2HET1[11]配置为 QCA7006 的 PLC_S_INTR 引脚的 TMS570LS0914 输入、以使用 ICU 捕获中断。 已通过 DaVinci Configurator 完成配置、并在此处附加了生成的代码捕捉。

image.png

2.我们使用通道 10 进行 Icu_Het Int 中断

image.png

3、第二次中断执行 ISR 后、中断的每个步骤都会被退出、之后、它将进入 undefEntry

image.png

 

请指导我们继续

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

    您好、

    在 2025 年 12 月 2 日之前、SME 为 OOO。 请预计响应会延迟

    此致、

    Aswin

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

    你好、Usha、

    对延迟的回复表示歉意:

    请尝试以下建议:

    1.不正确的中断标志清除序列

    此问题的最常见原因是 在退出 ISR 之前未正确清除中断标志 。 根据 TI 文档:

    • 在中断服务例程 (ISR) 内、您必须使用 EVT_CLR 寄存器清除事件标志、然后确认 CPU 中断
    • 如果一个事件在软件清除相应的位之前多次发生、则不会生成新的中断

    对于 N2HET 中断、具体来说:

    • 您需要清除 HETFLG 寄存器 向相应的位写入“1"来“来生成波特图
    • 中断服务例程必须清除标志 解决方案 生成任何其他中断脉冲

    验证正确的中断标志清除

    2.未正确确认 VIM(矢量中断管理器)

    TMS570 使用需要正确处理的矢量中断管理器 (VIM):

    • 中断向量表 (VIM RAM) 存储 ISR 的地址
    • 在硬件矢量中断期间、VIM 访问中断矢量表以获取 ISR 地址
    • VIM RAM 具有 ECC 保护 软错误导致的损坏
    • 已正确启用 VIM ECC
    • 中断向量表已正确初始化
    • ISR 函数指针有效

    潜在 VIM RAM ECC 错误

    VIM RAM 中的 ECC 错误可能导致系统跳转到未定义的位置:

    • VIM RAM single-bit 或 double-bit 错误 可以触发 ESM(错误信令模块)故障
    • 如果未正确启用 VIM ECC 检查、软错误可能会损坏中断向量表

    如果这无法解决您的问题、请在我结束时附加您的整个工程进行调试。

    --
    此致、
    Jagadish。