器件型号: AM2434
您好、
向另一个 PRU 发送信号、
最好的策略是什么? 我可以参考一个示例吗?
谢谢
Rasty
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
您好、
向另一个 PRU 发送信号、
最好的策略是什么? 我可以参考一个示例吗?
谢谢
Rasty
您好、Rasty、
我现在正赶上感恩节假期。
我们讨论的是哪种信号?
可以从一个 PRU 内核向另一个 PRU 内核发送中断。 您可以在 Direct_Connect 软件支持包 (PSSP) 工程 PRU_PRU-ICSX 中查看相关示例 加分项是、这些项目还显示使用暂存区来回传递数据:
https://git.ti.com/cgit/pru-software-support-package/pru-software-support-package/tree/examples/am64x/PRU_Direct_Connect 0
您可以在全新的 AM243x PRU Academy > Hardware > Scratch Pad (SPAD) 中找到有关暂存区的更多信息
https://dev.ti.com/tirex/explore/node?isTheia=false&node=A__AZ-U.nUh1aL8Xuu5ve8lzw__AM24X-ACADEMY__ZPSnq-h__LATEST
您还可以使用其他方法、例如轮询 PRU DMEM0、DMEM1 或 SMEM(单时钟周期访问)中将写入另一个内核的已知地址、或使用 PRU 子系统中的硬件旋转锁。
此致、
Nick
您好、Nick、
很抱歉、回复延迟。 我一直在寻找将 SDFM 数据从一个 PRU 切片共享到另一个 PRU 切片的最佳方法以及通知数据已就绪的方法。
但我认为我找到了解决方案 — 它要么通过中断控制器轮询共享 RAM、要么通过对 R31 进行轮询。
我想提出两个相关问题:
1.打开另一个线程(无回复)-我 通过 JTAG 下载应用 PRU (am243x EVB) 时收到验证错误。 这表明来自 PRU 的 JTAG *读取*内存不可靠。 更改 JTAG 频率没有任何帮助。 您在这里看到/看到了类似的东西吗?
2、为什么在 SDFM 实施中将数据推送到 CPU TCM — 这是一条较长,确定性较差的路径。 为什么不简单地让 R5 从 PRU DRAM 读取结果?
此致
Rasty
您好、Rasty、
有关将应用程序下载到 PRU 的其他问题的线程的 URL 是什么?
您提出的解决方案应该没有问题。 您也可以轮询 DMEM0 或 DMEM1、请记住切片 0 内核看到的 DMEM0 和 DMEM1 地址与 slice1 内核不同。
我将把您的线程重新分配给电机控制 SDK 支持团队、以讨论有关 SDFM 实现的更多信息。 如果您指向您所指的确切代码、这可能会对团队有所帮助。
此致、
Nick
Rasty
[quote userid=“359686" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1592283/am2434-how-do-i-send-interrupt-from-one-pru-slice-to-another/6147775 为什么在 SDFM 实现中将数据推送到 CPU TCM — 这是一个较长且不太确定的路径。 为什么不简单地让 R5 读取 PRU DRAM 的结果?
TCM 是 R5F 可以访问的最快存储器 — 因此示例中使用了该存储器。 可以将数据保留在 DMEM 中、但在接收到样本就绪 IRQ 后、与 R5F 的 TCM 相比、从 DMEM 获取数据需要更多时间。
此致
Dhaval