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.

[参考译文] J721S2XSOMXEVM:PDK:RTOS:如何链接 IPC 和 ENET 应用

Guru**** 2550230 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1558330/j721s2xsomxevm-pdk-rtos-how-to-link-ipc-and-enet-applications

器件型号:J721S2XSOMXEVM


工具/软件:

您好、

我尝试使用 Enet 示例、并将其进一步扩展、以包括 IPC 内容。 我已将必要的 IPC 源文件添加到 Enet 示例文件夹、并更新了 makefile 以编译它们。
现在、链接器可能存在问题、即 IPC 库中缺少的符号、因为它未包含在我的设置中的任何位置。
现在的问题是、如何包括构建的 IPC 库 (ipc.aer5f) 或从源代码构建库?

我是否需要指向 drv/IPC/CCS src 并构建库、或者如何构建?

谢谢你。

此致、
摩西  

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

    您好、Moses:

    由于地区度假、 我们的印度团队目前已离职。 请预计回复将延迟 1~2 天。

    感谢您发送编修。我们会重新检视您的建议。

    此致、

    Takuma

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

    尊敬的 Takuma:

    当然、同时我可以解决链接问题、编译就成功了。
    我需要将 IPC 添加到 makefile 所需库列表中。


    现在、我可以看到以太网应用程序任务似乎按预期工作、但 IPC 东西似乎不起作用、它抱怨 sciclient_init 失败、并且 Linux 中没有/dev/rpmsg 条目。

    此致、
    摩西

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

    你好。

    您能说明一下您的内核使用案例 吗? 您要集成到 Enet 中的 IPC 以及哪个 SDK 版本?

    此致

    Tarun Mukesh

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

    尊敬的 Tarun:

    我尝试在 main R4F (MCU2_0) 上运行 enet_lwip 示例、以及 IPC 功能。
    PDK 版本 11.0.0.21、SDK 11.0
    当单独构建并在 MCU2_0 上运行时、IPC 示例按预期工作、但当集成到 enet_lwip 示例中时、IPC 示例似乎不起作用。


    由于以下原因、我无法正确调试它;
    * IPC 应用程序。 仅在从 boot-seq 启动时有效、即 Uboot 加载它。 如果在 Linux 启动后从调试器加载它、它将无法按预期工作(也通过 TI 的某人听说过)
    *如果我从集成的 Enet + IPC 中将 UART 控制台用作 UART0 ;那么 Linux 在某个 systemd 初始化阶段无法完全引导它。 因此、我将 UART 控制台更改为 UART1、但随后看不到 UART1 中的日志、至少 Linux 可以完全启动。

    同样、在集成的 IPC + Enet 应用中、Enet 部分能够按预期发送 UDP 帧、但 IPC 任务似乎无法成功完成。

    在将 UART 控制台更改为 UART1 之前、我在控制台上看到 SciClientInit 失败。

    我的用例;

    Up --IPC--> UC --Eth--> ExternalDevice;通过 IPC 发送的数据构成以太网数据的基础。

    谢谢你。

    此致、
    摩西

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

    在 Linux 方面、驱动程序会抛出以下错误、


    [ 5.947800] k3_r5_rproc bus@100000:r5fss@5c00000:错误-EIVAL:rproc_add failed││
    [5.963453] rproc-virtio rproc-virtio.16.auto: registered virtio0 (type 7)││
    [ 5.996596] k3_r5_rproc bus@100000:r5fss@5c00000:k3_r5_cluster_rproc_init 失败、 RET =–22 ││μ s
    [ 6.009553] k3_r5_rproc bus@100000:r5fss@5c00000:使用驱动程序 k3_r5_rproc 进行探测失败 错误–22

    [5.698399] remoteproc remoteproc0: releasing 41000000.r5f││
    [5.858378] Remoteproc remoteproc0: 41000000.r5f 可用││
    [ 5.881463]远程处理远程处理 1: 5c00000.r5f 可用 ││μ s
    [5.884585] remoteproc remoteproc0:连接到 41000000.r5f││
    [5.887608]远程处理器 1: 连接到 5c00000.r5f ││μ s
    [ 5.908829] remoteproc remoteproc1:RSC 表被截断││
    [ 5.931634]远程处理远程处理 1: 无法处理资源:–22 ││μ s
    [5.981184] remoteproc remoteproc0:远程处理器 41000000.r5f 现已连接││
    [6.072040]远程处理远程处理 1: 正在发布 5c00000.r5f  

    注意:  

    *我只运行 mcu1_0 和 mcu2_0。

    MCU2_0 包含我的应用 (Enet+IPC);mcu1_0 是一些预编译应用

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

    您好:

    MCU2_0 正在运行 IPC +ENET 自定义示例。

    从 MCU2_0 到要执行 IPC 的内核?

    此致

    Tarun Mukesh

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

    尊敬的 Tarun:

    MCU2_0 <->mpu1_0

    此外、我现在在调用板 init 之前放置了 sciclient init。

    此致、
    摩西

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

    发现问题。  

    我没有设置其中一个标志。

    我需要将 A72_Linux_OS 标志添加到 makefile。

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

    您好:

    在 MCU2_0 内核中、如果您正在运行 IPC、则需要等到 Linux 准备好进行通信。 您是否在应用程序中等待 Linux 准备就绪?

    如果您使用的是 Linux、则 uboot 或 Linux 必须加载内核。 在本例中、uboot 加载 MCU2_0 内核、然后 MCU2_0 内核将在 A72 内核上完全引导 Linux 之前开始运行。 因此、您需要在 MCU2_0 中编写“等待 Linux 准备就绪“功能。

    您的完整引导顺序是什么?

     

    此致

    Tarun Mukesh

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

    尊敬的 Tarun:

    引导顺序就像您提到的、

    U-Boot -> MCU2_0 -> Linux;  

    此外、等待 IPC 示例中已经存在 Linux 器件、因此我的集成解决方案中也已包含 Linux 器件。 只是我忽略了标志 A72_linux_os。

    谢谢、
    摩西

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

    好的、谢谢。

    此致

    Tarun Mukesh