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.
工具与软件:
您好、TI 社区:
我正在处理使用 AM6442处理器的项目、需要一些有关 GPIO 引脚配置的指导。 具体而言、我想将 GPIO 引脚配置为由 PRU 固件控制的通用输出(GPO)、同时还使用与 A53内核上的输入相同的 GPIO 引脚来生成中断。
我的问题是:是否可以同时将同一 GPIO 引脚配置为 PRU 固件中的输出和 A53内核的输入? 如果是、您能否提供有关如何实现此设置的任何建议?
提前感谢您的帮助!
尊敬的 TI 团队:
我想跟进之前有关 AM6442处理器上 GPIO 配置的问题。
重申一下、我希望将 GPIO 引脚配置为输出(由 PRU 固件控制)和输入(为 A53内核生成中断)。 如果此设置不可行、我会计划使用一个 GPIO 对、其中一个用作 A53内核的输入、另一个用作 PRU 内核的输出。
您能否就此提供建议或提供任何建议?
谢谢!
Shivangi
Shivangi、您好!
摘要:不支持
简短答案:如果要同时将引脚配置为 PRU GPO 和 GPIO 输入、则硬件不支持您尝试执行的操作。
更多详细信息
AM64x 内部有一组不同的电路、集群到单独的外设中(例如、PRU 子系统和 GPIO 模块是两组不同的电路)。
这些外设中的每一个都有一组进出外设的信号。
我们有比处理器底部物理引脚更多的输入和输出信号。 那么、我们如何使它工作呢?
我们将来自多个不同外设的信号路由到同一硬件引脚。 然后、我们使用引脚多路复用设置来选择其中的哪些内部信号会多路复用到硬件引脚。 这些硬件多路复用器一次只允许将单个信号连接到硬件引脚。
因此、您可以将 PRU GPO 信号路由到一个特定引脚、也可以将 GPIO 信号路由到该特定引脚。 但是、您不能同时路由这两者。
还有哪些其他选项?
如果您实际上并不受处理器引脚的限制、而只是希望 PRU 能够写入板上的布线、并且 A53内核能够从同一布线进行读取、那么我建议设置您的 pinmux、以便 GPIO 信号传输到一个硬件引脚、而 PRU GPO 信号传输到另一个硬件引脚。 然后、您只需将两个引脚连接到电路板上的同一条引线。
此致、
Nick
这可以通过使用 ICSSG INTC (使用 R31事件接口)生成软件中断来实现。 总延迟将受限于来自 PRU 侧的1个时钟周期内
Ldi R30.W0、1
ldi r31.b0、32+event_num;将 ICSS INTC 中的通道到主机的映射设置为先决条件
编辑日期:2025年1月9日
您描述了 此有效路径:
外部信号-->引脚--> PRU GPI -->生成从 PRU INTC 到 Linux A53的中断
PRU GPI:禁用
PRU GPO:
PRU GPO -->引脚-->处理器外部
-->生成从 PRU INTC 到 Linux A53的中断
但我假设不能同时将 PRU GPI 和 PRU GPO 信号连接到同一个处理器引脚。 该假设是否正确? 如果是这样、您是否看到人们通过实时修改 pinmux 设置以在 PRU GPI 和 PRU GPO 之间翻转来解决该限制问题?
我发现、无论是在 PRU 内核和控制模块寄存器之间进行写入、还是从应用寄存器设置需要多长时间的角度而言、在运行期间手动更改 pinmux 设置都是不确定的。
此致、
Nick
Shivangi、您好!
您希望 Linux 的中断来自哪里?
您是否希望 PRU GPO 能够写入处理器引脚以及向 Linux A53发送中断?
或者您是否希望 Linux 中断来自处理器外部的外部信号?
此致、
Nick
编辑了我之前的回复、如红色所示