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和 C7x 之间的 IPC 通信

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1446501/tda4vm-ipc-communication-between-a72-and-c7x

器件型号:TDA4VM

工具与软件:

尊敬的 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

x 出现错误。请重试或与管理员联系。