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.

[参考译文] AM2434:R5F 中断处理/中断嵌套

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1313465/am2434-r5f-interrupt-handling-interrupt-nesting

器件型号:AM2434
主题中讨论的其他器件:TMDS243EVM

尊敬的专家:

我使用的是 AM243EVM 和 SDK 09_01_00_41。

我们正在使用 FreeRTOS、但有一些高达32 kHz 周期的硬实时任务、我们打算直接通过 HwiP_building ()使用 IRQ/FIQ。 在这些 硬实时任务中、我们还需要中断嵌套。

首先、我们尝试使用 IRQ 来实现这个目标、因为这里提供了中断嵌套。 不过、我们发现中断处理会根据 FreeRTOS 负载在15µs 上出现延迟、这对于我们的应用程序来说太大了。 如果我们使用 FIQ 效果会好得多、但这里没有中断嵌套。

- IRQ 如此高的抖动的根本原因是什么? 在锁定中断的情况下、FreeRTOS 中似乎有很多代码要执行。 它是否可通过某种方式进行配置?

-您能为我们提供启用 FIQ 嵌套的代码吗? ARM 文档 说它应该完全相同、但我无法让它在第一次尝试时正常工作。

Br

亚历山大

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

    尊敬的 Alex:

    处理器支持嵌套 IRQ 中断、这意味着在执行一个低优先级中断服务例程(ISR)期间、一个高优先级服务可挤占且低优先级 ISR 被挂起、并且在高优先级 ISR 完成时恢复。 对于低优先级中断、中断延迟通常要差得多。 在您的测试中、最佳情况和最差情况下的中断延迟是多少?

    下面是一个中断延迟线程:

    https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1122978/am2434-am2434-gpio-interrupt-latency

    据我所知、FIQ 不支持嵌套中断。  

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

    您好、QJ:

    在最好的情况下、中断延迟小于1µs、这对我们来说没有问题、因此我们不会在 ns 范围内进行测量。 最坏的情况是在15µs 附近。 我们认为这取决于有多少代码在 RTOS 下运行、或者有多少 RTOS 任务处于活动状态。

    您的引文还确认在 NORTOS 情况下可能有大约200纳秒。 那么、为什么使用 RTOS 无法实现呢?

    Br

    亚历山大

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

    尊敬的 Alex:

    FreeRTOS 中的中断延迟比非 RTOS 中的更长、但如果仅启用一个中断、则应在1us 时间范围内。 如果启用了多个中断、优先级较低的中断将不会被处理、直到处理了优先级较高的中断、因此较低优先级的中断的延迟可能会长得多。

    在 FreeRTOS 中、将另外实施一层以启用中断。 IRQ 处理程序是在端口 asm.s 中实现的。

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

    e2e.ti.com/.../irq_5F00_demo_5F00_pics.zip

    您好、QJ:

    请查看随附的基于 enet_lwip_cpsw 示例的简短演示、其中添加了 EPWM 中断。

    如果未使用以太网应用、中断延迟最高可达6 µs (006.png)、如果我在 PC 上启动 iperf、中断延迟最高可达8µs (007.png)。

    我在示波器快照中使用了 TMDS243EVM 和 TMDS243EC01EVM、品红色是 PWM 输出( TMDS243EC01EVM 上的 P7.7)、黄色是中断服务 GPIO (P8.1)。 在品红色的上升沿触发并使用无限持久性。

    我缺少什么? 您能否重现这些结果?  

    Br

    亚历山大

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

    尊敬的 Alex:

    我没有 EVM。 下星期一、我将在 AM243x LP 上运行测试。