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.

[参考译文] TDA4AL-Q1:[IPC]如何在 MCU R5F (FreeRTOS)和 A72 Linux 之间启用 IPC

Guru**** 2394305 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1490296/tda4al-q1-ipc-how-to-enable-ipc-between-mcu-r5f-freertos-and-a72-linux

器件型号:TDA4AL-Q1

工具与软件:

尊敬的 TI-EXPORT

我想在 MCU1_0 FreeRTOS 和 A73 Linux 之间启用 IPC。

我可以在   A73 Linux 下的默认 MCU1_0 FW ti-dm-FW 下使用以下命令

rpmsg_char_simple -r 0 -n 2 -p 14

但是、我不能使用  ipc_rtos_echo_testb_freertos 进行相同的测试。

什么是应该使用  ipc_rtos_echo_testb_freertos 或 ipc_rtos_echo_test_freertos?

  ipc_rtos_echo_testb_freertos 和 ipc_rtos_echo_test_freertos 有何区别  

我使用的是 Linux R5 SPL 、是否会导致此问题、如以下链接所示

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1406740/tda4vm-issue-while-loading-the-ipc_rtos_echo_test-with-tispl-bin/5415365?tisearch=e2e-sitesearch&keymatch=ipc_rtos_echo_test#5415365

非常感谢

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

    尊敬的 TI

    请检查附加日志、  

    出现以下关于 41000000.r5f 的错误日志

    k3_r5_rproc bus@100000:bus@28380000:r5fss@41000000:rproc_add 失败、ret =-22

    K3_R5_rproc bus@100000:bus@28380000:r5fss@41000000:k3_r5_cluster_rproailed、ret =-22

    k3_r5_rproc:bus@100000:bus@28380000:r5fss@41000000故障、错误为-22

    e2e.ti.com/.../3583.testb_5F00_error_5F00_log.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="603914" url="~/support/processors-group/processors/f/processors-forum/1490296/tda4al-q1-ipc-how-to-enable-ipc-between-mcu-r5f-freertos-and-a72-linux ]rpmsg_char_simple -r 0 -n 2 -p 14

    这是在 A72上采用 Linux、在 R5F 上采用 IPC_ECHO_TEST 的示例应用。

    如果更改 ipc_echo_test、则此应用程序可能无法工作。

    我该怎么办  ?ipc_rtos_echo_testb_freertos 或 ipc_rtos_echo_test_freertos?

    您必须将 ipc_rtos_echo_testb_freertos 用于 MCU R5F、因为在 SPL 模式下、默认情况下仅启用 BTCM。 因此、ipc_rtos_echo_testb_freertos 在 BTCM 位置有复位向量。

    而 IPC_RTOS_ECHO_TEST_FreeRTOS 在 ATCM 位置中有复位矢量、在 SPL 中默认情况下不为 MCU R5F 启用复位矢量。

    此致

    Tarun Mukesh

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

    尊敬的  Tarun Mukesh

    我使用  ipc_rtos_echo_testb_freertos 、但 A72日志会显示以下错误。

    如何修复?  

    非常感谢

    k3_r5_rproc bus@100000:bus@28380000:r5fss@41000000:rproc_add 失败、ret =-22

    K3_R5_rproc bus@100000:bus@28380000:r5fss@41000000:k3_r5_cluster_rproailed、ret =-22

    k3_r5_rproc:bus@100000:bus@28380000:r5fss@41000000故障、错误为-22

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

    您好!

    我可以知道您在 ti-dm 中添加时遵循了哪些步骤吗?

    此致

    Tarun Mukesh

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

    尊敬的  Tarun Mukesh

    我 在 pdk_j721s2_10_01_00_25\packages\ti 上预编译 ipc_rtos_echo_testb_freertos  

    将 pdk_j721s2_10_01_00_25\packages\ti\binary\ipc_rtos_echo_testb_freertos\bin\j721s2_evm\bin\bsp_rtos_echo_testb_freertos_mcu1_0_release_strip.xer5f 复制到 Yocto-build\source\meta-ti\bspa-ti\meta-ti\dm-fw  

    请重新创建 origin ipc_echo_testb_mcu1_0_release_strip.xer5f 文件

    通过在 Yocto SW 下构建所有映像来重新生成 tispl.bin 文件

    我不能错过任何步骤

    谢谢你  

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

    尊敬的  Tarun Mukesh

    您有更新吗?

    非常感谢

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

    您好!

    并重新申请原点 ipc_echo_testb_mcu1_0_release_strip.xer5f 文件

    您是否  对 ipc_rtos_echo_testb_mcu1_0_release_strip.xer5f 使用了相同的名称 ipc_echo_testb_freeRTOS 可执行文件?

    构建 ipc_rtos_echo_testb_freertos  可执行文件、但将名称替换为"ipc_echo_testb_mcu1_0_release_strip.xer5f"、然后重新构建 tispl.bin、因为 tispl 正在查找 ipc_echo_testb 的名称

    此致

    Tarun Mukesh

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

    尊敬的  Tarun Mukesh

    是的、我使用相同的名称。

    您可以检查附加的.bb 文件

    e2e.ti.com/.../ti_2D00_dm_2D00_fw.bb.txt

    DM_FIRMWARE_FIH = "fih_dm_firmware_v1_strip.xer5f"
    SRC_URI += "file://${DM_FIRMWARE_FIH}"
    ...
    DM_FW_DIR = "ti-dm/${PLAT_SFX}"
    
    INSTALL_DM_FW_DIR  = "${nonarch_base_libdir}/firmware/${DM_FW_DIR}"
    
    DM_FIRMWARE = "ipc_echo_testb_mcu1_0_release_strip.xer5f"
    ...
        install -d ${S}/${DM_FW_DIR}
        install -m 0644 ${S}/../${DM_FIRMWARE_FIH} ${S}/${DM_FW_DIR}/${DM_FIRMWARE}

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

    尊敬的  Tarun Mukesh

    原始固件名为 ipc_rtos_echo_testb_freertos_mcu1_0_release_strip.xer5f

    然后将其重命名为 ipc_echo_testb_mcu1_0_release_strip.xer5f

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

    Daniel、您好!

    在这里还需要添加一点、

    此示例"ipc_rtos_echo_testb_freertos_mcu1_0_release_strip.xer5f"仅与运行 RTOS 的 R5内核进行通信。 如果您在 PDK RTOS 中查看此示例、它会回传来自其他 RTOS 内核的消息。

    rpmsg_char_simple 命令无法用于  ipc_rtos_echo_testb_freertos_mcu1_0_release_strip.xer5f 应用程序可执行文件。

    如果您使用的是 Linux 运行 A72、则需要  仅使用 ipc_echo_testb_mcu1_0_release_strip.xer5f (这与上面的示例相同、但适用于 Linux)

    此致

    Tarun Mukesh

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

    尊敬的  Tarun Mukesh:

     ipc_echo_testb_mcu1_0_release_strip.xer5f 似乎是 Yocto 代码库下的预编译映像。

    我希望有一个 mcu1_0 FW (由我们的构建)、它可以使用 IPC     通过 rpmsg_char_simple 与 A72进行通信。

    您对此申请有任何评论吗?

    非常感谢

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

    Daniel、您好!

    我了解您的请求、但 PDK 中的 ipc_echo_test 示例也采用了相同的方法并进行了链接、以便 rpmsg_char_simple 可以正常使用。

    您也可以在 PDK 中编译相同的示例 IPC_ECHO_TEST、并按照对 IPC_RTOS_ECHO_TEST 的类似方法进行附加。 IPC_RTOS_ECHO_TEST 与运行 Linux 的 A72不进行通信。

    如果您有兴趣构建除 PDK 之外的 MCAL 目录、则可以创建基于 MCU1_0的 cdd_ipc 示例、该示例与运行 Linux 的 A72进行通信。

    此致

    Tarun Mukesh  

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

    尊敬的 Tarun Mukesh

    谢谢你。

    如果我使用 构建的 IPC_ECHO_TEST、我可以让 MCU 使用 A72 Linux 进行 echo 测试。

    我尝试过  cdd_ipc mcus 演示示例

    、、SPL 模式后似乎没有运行。

    它是否由 ATCM 模式引起?

    我尝试了 mcal 示例 cddipc 和 can 配置文件

    如何在 SPL 模式下运行 mcus 演示?

    非常感谢

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

    您好!

    [报价 userid="603914" url="~/support/processors-group/processors/f/processors-forum/1490296/tda4al-q1-ipc-how-to-enable-ipc-between-mcu-r5f-freertos-and-a72-linux/5734688 #5734688"]

    谢谢你。

    如果我使用 构建的 IPC_ECHO_TEST、我可以让 MCU 使用 A72 Linux 进行 echo 测试。

    [报价]

    太棒了!!

    我试过  cdd_ipc mcus 演示例

    不、我不是在 MCUSS 演示中谈论 CDD IPC

    请点击以下链接

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/mcusw/mcal_drv/docs/drv_docs/ug_cdd_ipc_top.html#:~:text=Build%20MCAL%20example%20application%20for%20Linux%20communication

    此应用程序重命名为 ipc_echo_test 并执行上面的构建步骤、此应用程序与运行 Linux 的 A72通信、也适用于 prmsg_char_simple 测试。

    此致

    Tarun Mukesh