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.
您好!
是的、您可以继续操作。
在当前示例中、我们在 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·塔伦