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.

[参考译文] AM6442:是否有方法可以在 PRU 和 Linux 之间的 DDR 存储器中定义共享内存区域?

Guru**** 2451970 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1550198/am6442-is-there-a-way-to-define-a-shared-memory-region-in-the-ddr-memory-between-pru-and-linux

器件型号:AM6442


工具/软件:

您好:

我实际上正在寻找一种在运行 Linux 的 PRU 和 A53 之间共享数据的方法。 问题是我会在很长一段时间内采集最多 8 个通道的 ADC(一个 PRU 内核)样本、因此所有这些数据都不能放入 PRU 的本地 RAM 中。 我还需要一种在采集样本时快速存储这些数据的方法、因为采样频率非常高、我必须在 PRU GPIO 上跟踪 2MHz 的信号(CMOS 并行协议)。 我计划直接从 PRU 将数据写入 DDR、我已经测试过、似乎运行良好、速度很快、但我很难从 Linux 用户空间读取值。

SDK:TI-PROCESSOR-SDK-LINUX-am64xx-EVM-11.01.05.03

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

    您好、Safidy、

    时间范围

    您的需求时间是多久?

    我实际上想花一些时间来深入探究 PRU 和 Linux 用户空间之间的共享内存和中断。 但直到 9 月、我才有开始开发或自我测试的带宽。 如果您想在 8 月底开始开发、我也可以作为您的技术资源。

    我们来详细讨论一下  

    在开发过程中、您可以使用/dev/mem 向用户空间公开存储器。 但是、这需要提升的权限、而且人们通常不希望用户空间在最终应用程序中具有这种权限。

    我们有一个 zerocopy 示例、用于在 R5F 内核和 Linux 用户空间之间公开共享存储器区域。  目前、我不确定它是否适用于 PRU、还是可以轻松修改它以适用于 PRU: https://git.ti.com/cgit/rpmsg/rpmsg_char_zerocopy/tree/linux/README.md

    另一种选择是编写自定义字符驱动程序、将存储器区域暴露给用户空间以供使用。

    此致、

    Nick