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.

[参考译文] PROCESSOR-SDK-AM64X:如何实现 AM64x 的中断重入?

Guru**** 2460850 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1480095/processor-sdk-am64x-how-to-implement-the-interrupt-reentrance-for-am64x

器件型号:PROCESSOR-SDK-AM64X

工具与软件:

您好!

  "中断重新进入"与"中断嵌套"有些相似、其中具有较高优先级的 INT 可以中断具有较低优先级的 INT 的响应。

在"中断重新进入"的情况下、INT 的响应可以自行中断。 现在、以 F28C36为例来演示这一点。
  在 F28C36中、有一个被称为"SYSHNDCTRL"的寄存器、如下所示:

通过该寄存器、我们可以对某些 INT 源(而不是所有 INT)实现此功能。 这里以 PendSV 为例来描述该过程。
1) PendSV 事件发生(即触发 PendSV INT)。
2)控制流进入 PendSV 的 ISR。
3) SYSHNDCTRL.PNDSV (bit10)为1 (硬件行为)。
4)做短期任务。
5) 5)手动将 SYSHNDCTRL.PNDSV (bit10)设置为0。
6)做长期的事情。 (在此期间、PendSV 的 ISR 可重入)
7) 7)将 SYSHNDCTRL.PNDSV (bit10)设置为1 (手动)
8)做短期的事情。
9) 9)退出 ISR。

因此在第6步中、PENDSV 的 ISR 将是可重入的、也就是说、此时如果发生 PendSV 事件、控制流将重新进入 PendSV ISR。
我希望这个过程能够澄清我想要什么、也就是所谓的"中断重入"。

现在、我们要像在 F28M36 (C2000)上一样、基于 AM64x.R5内核实现"interrupt reentry"。

您能否告诉我 AM64x.R5内核是否支持 "中断重入"?

如果有能力、请告诉我如何实施、或提供一些参考资料。

谢谢。

Ethan。

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

    尊敬的 Ethan:

    [quote userid="642908" url="~/support/processors-group/processors/f/processors-forum/1480095/processor-sdk-am64x-how-to-implement-the-interrupt-reentrance-for-am64x 如果能够、请告诉我如何实施、或提供一些参考资料。

    我们支持 R5F 内核上嵌套中断。   有关详细信息、请参阅 kernel_NORTOS。

    对于 API、请参阅 kernel_DPL_HWI 

    此致、

    Tushar

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

    Tushar、您好:

      谢谢。

      我推测您的意思是 AM64x 不支持 F28M36支持的所谓"中断重新进入"函数。

      因此、我们将放弃这种做法和一种替代办法。

    BRS

    Ethan

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

    尊敬的 Ethan:

    因此、我们将放弃这种方法和另一种方法。

    感谢以上确认。 关闭螺纹。

    此致、

    Tushar