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-Q1:如果先前的 RTI 中断标志未清除、则 RTI 中断不会向 VIM 发出?

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1233063/am2634-q1-rti-interrupt-will-not-issue-to-vim-if-the-previous-rti-interrupt-flag-is-not-cleared

器件型号:AM2634-Q1
主题中讨论的其他器件:SysConfig

BU 先生/女士、  

客户在后台发现、在他们的板连续工作9天之后、他们基于计时器的周期性任务不再运行。  

据我了解、芯片硬件内部有2个处理中断的阶段:RTI 中断生成逻辑+ VIM 中断优先级排序和处理。 满足 RTI INT 条件后、VIM IRQ STS 应置位并等待有效。  

我编写了一个程序来了解硬件行为。 并且、从硬件运行来看、如果之前的 RTI INT 标志未被清除、相应的 VIM IRQ STS 将不会被置位。 为了更好地展现这一点、请参阅下图:  

测试代码如下所示: e2e.ti.com/.../timer_5F00_int_5F00_not_5F00_handled.zip

我有以下想法:  

1)。 出现此问题的根本原因是、当先前的 RTI INT 标志未清除时、后一个 RTI INT 将不会向 VIM 发出以设置 VIM INT STS、对吗?   

2)。 将类型的属性从 Pulse 更改为 level 以解决此问题;  

3)。 在 RTI 中启用定期标志清除功能来解决此问题。  

请查看此问题并提供您的建议、谢谢。  

Br、  

将会  

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

    重新提交图  

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

    您好、Will、

    我尝试了您提供的软件、但找不到确切的问题、我仍在处理、但我继续尝试示例、这符合预期- https://software-dl.ti.com/mcu-plus-sdk/esd/AM263X/latest/exports/docs/api_guide_am263x/EXAMPLES_KERNEL_DPL_INTERRUPT_PRIORITIZATION.html

    e2e.ti.com/.../all_2D00_trace_2D00_functionality.diff

    尝试通过 syscfg 更改不同计时器的中断优先级、然后了解中断和 VIM 的工作情况。

    希望它有所帮助。

    此致、
    Aakash

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

    尊敬的 Aakash:  

    用于 ClockP 软件组件的计时器的中断优先级是固定的、在 ClockP 驱动程序内、无法由 SysConfig 配置。  

    现在的主要问题是、为什么在最后一个中断标志未被清除后、定时器中断不能发出到 VIM。 我提供的项目是为了说明这种情况。 提交的图 I 用于演示这种情况的时序。  

    请帮助与设计团队确认有关此 RTI 硬件行为的问题。 我认为、对于向 VIM 发出中断、原始 RTI 中断信号应该有一个上升沿、这就是为什么如果不清除此标志、下面的中断不能向 VIM 发出中断。  

    在应用中、由于复杂的中断任务、例如控制环路、RTI 中断不能被及时清除是很常见的。 因此、在我看来、最好 RTI 驱动程序/ClockP 软件可以使用硬件功能-按如下所示定期清除中断标志:  

    此致、  

    将会  

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

    我没有任何额外的东西添加到这里。 您正确地理解了工作原理。

    VIM 支持一个电平或者脉冲中断(并且必须相应地配置 VIM)

    1.如果是水平的,那么首先源必须被清除,然后 VIM 必须被清除。 这样、VIM 将不会得到错误的额外中断

    2.如果是"脉冲",那么您可以按任何顺序清除。 但 IP 必须严格生成脉冲中断。  它应该 为 VIM 生成另外一个边沿来将其注册为一个新中断。

    在该示例中、RTI 生成一个级别中断。  您可以使用 RTI 的自动清零功能并使其成为一个脉冲。 或者配置 VIM、以将其视为一个电平中断。 两者的工作原理取决于您希望系统设置的方式。

    此致

    普里特维