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.

[参考译文] AM2634:中断嵌套

Guru**** 2524460 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1549313/am2634-interrupt-nesting

器件型号:AM2634


工具/软件:

尊敬的 TI:

是否有一个用于启用中断嵌套的寄存器?  如何允许来自同一中断源的中断嵌套?

我从 ADC 触发中断、其注册如下所示。 如果上一个中断 ISR 的持续时间过长、我希望来自同一源的新中断进入同一 ISR。

我尝试在进入 ISR 后启用全局中断(使用 HwiP_enable ()) 以允许中断嵌套,但它没有帮助。 如果我遗漏任何内容、请告知您。

尽早申请您的意见、因为这是目前与客户进一步测试的障碍。

HwiP_Params_init (&hwiPrms);
hwiPrms.intNum = CSLR_R5FSS0_CORE0_CONTROLSS_INTRXBAR0_OUT_1;
hwiPrms.callback = Sys_Adc_Isr;
hwiPrms.priority = 8;
hwiPrms.isPulse = true;
hwiPrms.isFIQ = 0;
(void) Hwip_construct (&HwiObject、&hwiPrms);

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

    您好 Sue A、

    感谢您的查询!!

    我们已将该查询分配给相关的主题专家。
    应能够通过 2025年9月5日 提供答案

    此致、
    Rijohn

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

    您好 Sue、

    您能否告诉我、如果您在 ISR 开始时根据“脉冲“中断的要求清除 VIM STS、那么您是否看到在 ISR 执行时从同一源发生中断时设置了 VIM STS?

    此致、

    Sahana

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

    尊敬的 Sahana:

    我的 ISR 定义如下:

    void Sys_Adc_Isr(void *手柄)

        ADC_clearInterruptStatus (ADC2_BASE_ADDR、ADC_INT_number1);

        /*应用代码*/
    }

    一旦进入 ADC ISR、我就会清除 ADC 中断标志以允许下一个中断及时触发。
    一旦我进入 ISR、在执行  ADC_clearInterruptStatus (ADC2_BASE_ADDR、ADC_INT_number1) 之前、寄存器状态如下:  

    在我执行  ADC_clearInterruptStatus (ADC2_BASE_ADDR、ADC_INT_number1) 后、寄存器状态为:



    您能否 在您的最后重现此场景并告诉我您是否能够嵌套来自单一来源的中断?
    TRM 指示当一个中断处于活动状态时、所有具有相同优先级的中断都被屏蔽。 在这种情况下、是否可以嵌套来自调用具有相同优先级的同一 ISR 的单个源的中断? 或者是否有一个寄存器来启用我错过的中断嵌套? 请告诉我。

    非常感谢您尽早提出意见。 谢谢!

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

    您好 Sue、

    可以嵌套来自调用具有相同优先级的同一 ISR 的单个源的中断

    是的、这在硬件中不受支持、但在  MCU PLUS SDK 中、借助可重入中断处理程序(AM263x MCU+ SDK:使用 MCU SDK 优化应用)、在软件中仿真 IRQ 嵌套。  请参阅下面的 E2E、其中介绍了如何使用低级中断处理程序来启用同一中断的中断嵌套: (+) AM2634:AM263 是否支持自中断嵌套? -基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛、并 根据建议在宏 ISR_CALL_PULSE_NONFLOAT_self_reinable 中进行修改。 希望这对您有所帮助!

    此致、

    Sahana