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.

[参考译文] AM572x 中 MPU、DSP 和 IPU 之间的 IPC 通信

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1246191/ipc-communication-between-the-mpu-dsp-and-ipu-in-am572x

主题中讨论的其他器件:AM5726
你好。
我们开发了一个使用 TI AM5726的项目。
我们有几个 TMDXIDK5728。
我们的项目使用 MPU、DSP 和 IPU、因此我们需要进程间通信。
在 MPU 上、我们使用 HILOS - Linux (5.10.100...)、在 DSP 和 IPU 上、我们使用 TIRTOS。
我们已针对 Linux 下载和安装:TI SDK Linux-RT 08.02.01.00;对于 TIRTOS、我们使用 SDK RTOS 08.02.01.00。
我们的工作站运行 Windows 7、11、VmBoxs 和 Linux Kubuntu 18.04和 Ubuntu 22.04。
所以、我们需要使用 IPC。 中的 IRDATA 为3.50.04.08。
我们首先关注的是../IPC_3_50_04_08/examples/DRA7XX_Linux_elf - ex02_MessageQ 和 ex41_forwardmsg 中的示例。
1.我们在 Linux RT SDK 中按照常规脚本制作了572X IDK 的 SDK 卡。 就表示工作正常。 好的。
接下来、我们尝试示例 ex02_MessageQ、它位于/usr/bin/ipc/examples/ex02_messageq.上
我们加载 DSP 固件-加载很顺利、我们加载 IPU 固件-加载很顺利。 我们在 dmesg out 上看到它-它告诉我们一切正确、在 trace0上-好的。
接下来,我们使用 DSP1或 IPU1参数启动 APP_HOST,并抛出错误:IPC 无法附加到 LAD_daemon。
好的。 下一步:我们在../IPC_3_50_04_08/examples/DRA7XX_Linux_elf/ex02_MessageQ 中编译了示例、为 DSP、IPU 和 APP_HOST 放置固件、并具有:
加载 DSP 固件时出现错误;加载 IPU 固件时出现错误。
Question:
 为什么会有这样的问题呢?
 -我们编译的例子有什么问题? 此示例与 SDK 中的 Linux rootfs 上的示例相同吗? 什么地方出错了?
 
2.下一个有趣的例子是 ex41_forwardmsg。
与前一次一样、首先、我们尝试从 SDK 中 rootfs 中的示例启动它。 与上次不同、我们在环路滤波器
从开始:DSP 和 IPU 固件没有正确加载、不是 DSP 和 IPU。
尝试通过 ourself 编译示例并在目标上启动该示例的操作已崩溃。  
Question:
 -从 SDK 的 rootfs 中的示例有什么问题? 为什么无法启动原生编译示例?
 -为什么示例,编译由 ourself 不正确加载?
 
我们检查了所有的内存映射和 DTS、对于 Linux RT、DSP 和 IPU、它们似乎是正确的、但每次都有问题。
 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    有人吗?

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

    伊凡、您好!

    SDK 在/lib/firmware/ipc 中提供了一些默认固件、  

    您是否可以使用和检查 SDK 根文件系统中提供的每个内核的等效 message_single 固件以及默认的 MessageQApp 可执行文件?

    此致

    苏曼

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

    你好。

    不可以、我尚未从/lib/firmware/ipc 检查固件、因为我不知道该固件的目标。 您能简要介绍一下吗?

    我已经尝试启动示例 ex02_MessageQ 和 ex41_forwardmsg、我是怎么说的。 ex02工作正常、但 ex41无法正常工作。

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

    伊凡、您好!

    IPC 示例代码与 IPC 开发 Git 树中的测试代码看起来非常相似、它们是单独提供和维护的。

    ipcdev 树中的固件经过严格测试,并提供文件系统中打包的默认固件。

    通过按如下方式比较源代码、你可以在 BIOS 一侧看到代码的差异:

    IPC : https://git.ti.com/gitweb?p=ipc/ipcdev.git;a=tree;f=packages/ti/ipc/tests;h=f4a3633febb3067eec9e9c3db686ac1cee5fd99b;hb=refs/heads/3.50

    IPC-示例: https://git.ti.com/gitweb?p=ipc/ipc-examples.git;a=tree;f=src/examples/templates;h=5e863a4b72d37fb2c7ba0284dc0df0e2bf324c21;hb=refs/heads/master

    此致

    苏曼

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

    你好。 谢谢、问题迎刃而解。 这是一个很好的例子。 我已使所有存储器区域正常工作。