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 团队:
我们 在 A72和 C7x 中为 IPC send 和 rcv 创建了包装代码。
在测试 A72和 C7x 内核之间的包装器时、我们观察到一种情况、即我们将图像数据从 A72共享到 C7x、而在 C7x 中、我们进行一些处理并仅发回确认(标志- true/false)
我们将测试50个帧
我们观察到、在50个帧中、10个帧随机~μ s、当我们调用 IPC 在 a72 (约1.3ms)中从 c7x 发送到 IPC rcv 时、分析数据会出现巨大尖峰、一般来说、它需要~45us
我们不确定问题可能是什么
在 C7x 中通过包装器 API 处理和发送 ACK 的任务设置为优先级31
在 A72中、Linux 应用程序设置为调度器策略、优先级为99的 FIFO
任何指针都会有所帮助
此致
Gowtham
您好 Gowtham、
[报价用户 id="614710" url="~/support/processors-group/processors/f/processors-forum/1446501/tda4vm-ipc-communication-between-a72-and-c7x "]我们 在 A72和 C7x 中为 IPC send 和 rcv 创建了包装代码。
在测试 A72和 C7x 内核之间的包装器时、我们观察到一种情况、即我们将图像数据从 A72共享到 C7x、而在 C7x 中、我们进行一些处理并仅发回确认(标志- true/false)
我们将测试50个帧
我们观察到、在50个帧中、10个帧随机~μ s、当我们调用 IPC 在 a72 (约1.3ms)中从 c7x 发送到 IPC rcv 时、分析数据会出现巨大尖峰、一般来说、它需要~45us
[报价]此大小是否小于496字节? 您能解释更多关于包装器的信息吗?
此致
Tarun Mukesh
您好!
是的、总大小少于496个字节(1个帧大小小于一个)
我们正在为 IPC 创建一个通用包装器(ti_rpmsg_char 和 IPC LLD )。
ipc_init ()->将调用 rpmsg_char_init ()和 rpmsg_char_open ()以打开信道
ipc_send ()-> 将使用同一通道将数据从 a72发送到 C71x。
ipc_recv ()->将等待来自 c7x 的确认。
起着明显的效果
rtos_init()->将创建一个 rcv 线程和一个 handle(rcvhandle)、以使用 RPMessage_create ()恢复数据
RTOS_RECV ()->将使用 RPMessage_recv ()执行 recv ,并使用在 RTOS_init ()中创建的相同句柄(rcvhandle)。
执行一些处理操作
生成标志并发回 (flag - true/false)。
rtos_send ()->将 使用相同的 handle(rcvhandle)并将数据发送回 A72
我们将依次从 A72传递50个帧、
对于大约每帧30帧的平均值、我们将获得600micro_sec (A72 send -> C71 recv -> Process data -> C71 send)+ 50 micro_secs (C71 send to A72 recv)。
对于每帧大约20帧的平均值、我们将获得600micro_sec (A72 send -> C71 recv -> Process data -> C71 send )+ 1.3毫秒(C71 send to A72 recv)。
如前所述、我们保持了优先级。
这两个内核中只有这些线程在运行、您能为我们提供帮助吗?
您好!
您可以在 URL 中看到 IPC 性能数据
software-dl.ti.com/.../datasheet_j721e.html
我不是为什么你每次都得到不同的数字。
即使在 A72和 C7x 之间运行 rpmsg_char_simple、它也会在控制台上打印乒乓时间。
此致
Tarun Mukesh