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.

[参考译文] AM6422:AM6422 PRU 中断矢量表位置

Guru**** 2796425 points

Other Parts Discussed in Thread: AM6422, TMDS64EVM

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1622201/am6422-am6422-pru-interrupt-vector-table-location

器件型号: AM6422
Thread 中讨论的其他器件: TMDS64EVM

我正在 AM6422 PRU_ICSSG 上设置一个计时器、以便使用 PRU IEP 模块充当帧中断计时器。 我根据 AM64x TRM 的第 6.4.13.2.4 节设置计时器比较功能。

 

当计时器到期(如寄存器 IEP_CMP_STATUS_REG 所示)时、我要配置 PRU_INTC 事件 7 (pr0_IEP_Tim_CAP_CMP_PEND) 以触发中断。 我希望触发的中断调用一个中断处理程序、我可以使用它来触发 PRU 固件中的周期性帧处理。 PRU 固件中是否可以设置某种中断矢量表来将中断触发映射到中断处理程序例程? 我看到了此概念、它将中断映射到其他处理内核 (A53、R5F、M4F) 之一中的处理程序、但不在 PRU 本身中。

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

    您好、Seth。

    PRU 处理中断的方式与其他内核略有不同。

    中断控制器 INTC 实际上没有能力抢占当前正在运行的代码 — 这使得您的代码默认为 100%确定性。 有关 INTC 的更多信息、请首先查看  
    https://dev.ti.com/tirex/explore/node?isTheia=false&node=A__ARwLDTX.JuwQ7FVKGFsVJg__AM64-ACADEMY__WI1KRXP__LATEST

    PRU_ICSSG 子系统有一个额外的工具、称为任务管理器、能够抢占 PRU 执行 — 我们特别添加了任务管理器,因为它帮助我们达到千兆位以太网速度。

    我还没有时间为任务管理器编写文档、因此您目前尚需阅读我们的公开文档的技术参考手册 (TRM)。 但是、我们刚刚在使用任务管理器的 OpenPRU 存储库中发布了一个新示例。 您可以在此处找到该工程、希望我们包含足够的注释和文档、以便您了解如何对其进行编程:
    https://github.com/TexasInstruments/open-pru/tree/main/examples/multicore_scheduler 

    如果您在下周看到该项目中出现了一些内容转移、不要感到惊讶、我正在摆脱 PRU 固件的外部依赖关系、以便将来可以更轻松地在处理器之间进行移植。

    此致、

    Nick

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

    此外、我还向您发送了一个 e2e 朋友申请、以便进行离线讨论、联系您与贵公司的 TI 代表。 请接受、以便我们可以进行边带聊天。

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

    此外、我还在评估 OpenPRU 工程的默认 makefile 结构的更新。 我能否以某个人的身份获得您的意见?

    我正在考虑将重复使用的 PRU makefile 内容分组到单个头文件中。 从“易于理解/使用“的角度来看、 与现有的每核 makefile 相比、您对建议的 PRU_rules.MAK +每核 makefile 组织有何看法?

    建议的方法:PRU_rules.MAK +每核 makefile

    PRU0 makefile

    PRU_rules.MAK

    当前方法:自包含 makefile

    PRU0 makefile

    此致、

    Nick

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

    感谢您的帮助、但我尚未有机会使用 makefile 或其他构建流程 — 我仍在等待 TMDS64EVM 送达我的办公室。 希望很快、我可以尝试这两种方法、并告诉您。