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.

[参考译文] TDA4VM:A72和 DSP 内核通信。

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1327914/tda4vm-a72-and-dsp-core-communication

器件型号:TDA4VM

大家好、

1.我们计划 通过采用 RPmsg 技术的 IPC 在 A72和 DSP 内核之间建立通信。

2.要求:   

      答:以太网中有速度为40 - 120Mbps 的数据、我们需要此数据将其发送到 DSP 内核。  

   
 请告诉我们、 我们是否可以使用这种方法。 因此请建议合适的方法。  




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

    您好!

    是的、您可以继续操作。

    在当前示例中、我们在 VRING 缓冲区中传递要传输的数据、而您需要传递共享空间的地址而不是数据。

    此致

    M·塔伦

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

    您好、Tarun、

    感谢您的答复。

    1.没问题、但我们想发送40-120 Mbps 的数据。 我可以知道共享空间的最大限制吗?

    此致、
    Sunil A P  

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

    您好、Sunil:

    VRING 缓冲区为256 * 512字节、但您可以使用此 VRING 空间来传递共享 DDR 内存的地址(您必须根据您在 DDR 中的大小和可用性重新保留一些公共空间)。

    此致

    M·塔伦

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

    谢谢 Tarun、

    1.您能给我任何参考、以便 在 DTS 中为共享存储器配置 DDR。  

    此致、
    Sunil AP

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

    您好!

    您可以在 board-support/ti-linux-kernel-6.1.46+gitAUTOINC+5892b80d6b-g5892b80d6b/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi 中看到 DDR 的保留存储器区域

    此致

    M·塔伦

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

    尊敬的 Tarun:

    1.我们正在尝试在22.04 ubuntu 版本上使用 SDK 版本09_01_00构建 TDA4VM 电路板的 RPmsg 示例。  
     
    后来我浏览了 SDK 文档、  

     >>> 这些步骤在 Ubuntu 18.04上进行了测试。 更新版本的 Ubuntu 可能需要不同的步骤

     建议使用18.04。  

    您能告诉我,我应该更改 Ubuntu 版本还是构建步骤吗?

    此致、
    苏尼尔  

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

    您好!

    Ubuntu 版本必须为22.04 ,它才能运行 SDK 9.1 ,构建步骤没有变化。

    此致

    M·塔伦

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

    尊敬的 Tarun:

    1.您能告诉我,为 IPC RPMsg 分配 DDR 需要更改哪些参数?如何在用户空间应用中使用此 DDR 分配的内存?


    谢谢。此致、
    Sunil AP  


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

    您好、Sunil:

    您认为需要更改参数以分配 DDR 是什么意思? 当然、在链接器文件、.dtsi 文件等中、A72端和远程 proc 端将需要进行许多更改。 。 这也取决于您计划在 DDR 中保留的空间以及您保留的空间量。 请查看现有的.dtsi 文件、您需要修改并保留所使用的 A72和远程处理器上的存储器。 你是太普通了,你能指出你有查询的确切内容吗?

    作为一个示例、您可以了解 VRING 内存的分配情况。

    此致

    M·塔伦

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

    尊敬的 Tarun:

    1.我们能够构建并运行 RPMsg 示例代码、并且希望发送256个字节/缓冲区。
      但在我们将缓冲区大小增加到496字节(并且每缓冲区工作227字节)时就出现了故障。
      并且 它也不会抛出任何调试/错误消息、因此我们无法找到问题。  根据 TI 文档、它应该支持512字节/缓冲区。


      参考值:  

      28MB (0x1C00000)也是一个四舍五入图、接近最接近的1MB 边界、但下面是使用的计算。

    处理器数量= 11 (6个 R5F + 3个 DSP + 2个 MPU A72内核)

    每个方向的缓冲器数量= 256

    每个 vring 传输缓冲区的大小(rpmsg 标头为16个字节+最大有效载荷为496个字节)= 512个字节。

    单向振铃缓冲器的总大小= 256 * 512 = 0x20000字节

    该计算还为每个 vring 结构保留了0x20000字节、从而为 vring 缓冲区和 vring 结构总共保留0x40000字节。

      共有11个处理器、每对处理器之间需要双向通信。 vring 和 vring 缓冲区是定向的、因此一对处理器之间需要2个、这是 N x (N-1)的典型值(在本例中为11 * 10)。  

    因此得出的总尺寸为  

    11 * 10 * 0x40000 = 0x1B80000 ~ 0x1C00000。


    2.你能告诉我,问题可能是什么?


    此致、
    苏尼尔  









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

    您好、Sunil:

    请为此提交另一个 E2E。

    此致

    M·塔伦