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:mcu1_0 (mcusw)和 MCU2_1 (vision_apps)之间的 Cddipc 基于 SDK 09.00.00.02

Guru**** 2539500 points
Other Parts Discussed in Thread: CCSTUDIO, TDA4VM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1326716/tda4vm-cddipc-between-mcu1_0-mcusw-and-mcu2_1-vision_apps-based-on-sdk-09-00-00-02

器件型号:TDA4VM
主题中讨论的其他器件:CCStudioTDA4VH

您好!

我正在尝试 mcu1_0 (本地内核)和 mcu2_0 (远程内核)之间的 IPC CDD 通信。

在我将生成的 Cdd_Ipc Ccfg.c 与 vertIoRingAddr 和 vertIoRingSize 如下图所示进行更改后、它是某种类型的工作、但它不能再现。 有时、MCU2_0上不会接收到 mcu1_0发送的消息、有时 MCU2_0也在一个块中接收到之前发送的消息。

   .vertIoCfg =
   {
       .vtIoRingAddr =(void *) 0xAC000000U、
       /**<定义应在内核之间共享的地址*/
       .vtIoRingSize = 0x3000000U、
       /**<共享存储器的大小*/
       .reserved = 0u、
       /**<将来使用(如果有)*/
   }、

实现大致与本文中的相同: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1008492/faq-tda4vm-cddipc-between-mcu1_0-mcusw-and-mcu2_1-vision_apps-based-on-sdk-v7-3 只是它用于 MCU2_0、而不是其中显示的 MCU2_1。

我所做的测试是使用具有和不具有断点的 CCStudio v12。

我可以做些什么来改善沟通?

谢谢!

此致、

卡林

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

    我还提到、我使用 J784S4_EVM 板进行测试。

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

    您好!

    CDD IPC 适用于 AUTOSAR OS。 VRING 地址和资源表的存储器映射可能与常规 CDD IPC/PDK IPC 和视觉应用 IPC 不同。 请确保这一点。

    如果要进行测试、可以使用 PDK IPC 和 CDD IPC。

    此致

    M·塔伦

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

    您好!

    是的、这正是我使用它的方式。 在内核 mcu1_0上、我使用具有与我在 MCU2_0上使用的 PDK IPC 示例 ipc_perf_test.c 相同 VRING 地址的 CDD IPC。 正如我提到的、从 mcu1_0发送到 MCU2_0可以正常工作、但不是每次都可以。 我希望从 mcu1_0发送1条消息并在 MCU2_0上接收。 有时它的工作原理是这样的,有时我必须发送2-3次,我将收到在 MCU2_0侧2-3中断,为前面的消息也.

    如果我在两个内核上都使用 IPC_PERF_TEST、结果会正常运行。 只有在上述组合中无法正常工作。

    有什么建议吗?

    谢谢!

    此致、

    卡林

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

    您好!

    发生的情况是,CDD IPC 具有静态终点分配。 如果您在代码本身中看到、端点被静态分配(硬编码)、用于在同一端点发送和接收消息、而 PDK IPC 具有动态端点分配、因此它只随机选择也可能是问题原因的端点。

    此致

    M·塔伦

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

    您好!

    我还在 IPC_PERF_TEST 中使用静态分配的端点。

    谢谢!

    此致、

    卡林

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

    也许值得一提的是、当我发送 IPC 消息时、在 UART 上完成了菜单选择。 我首先发送一条 UART 命令、该命令将触发 IPC 从 mcu1_0发送到 MCU2_0。

    此外、从 MCU2_0返回到 mcu1_0的反馈不起作用。 或者我没能做到。 Cdd_Ipc e52 Msg 没有像 RPMessage_recv 那样的等待时间。 我是否要在循环/信标中不断调用 Cdd_Ipc 45ueMsg 直到收到消息? 或者有更好的解决方案吗?

    谢谢!

    MFG、

    卡林

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

    您好、Calin、

    我们有一个 CDD IPC 描述示例、其用途类似。 您能否查看 URL https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/mcusw/mcal_drv/docs/drv_docs/demo_cdd_ipc_profile_top.html ?

    此致

    M·塔伦

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

    尊敬的 Tarun:

    当然、这是我的指南、我使用的实现方式与 mcu1_0的 cdd_ipc_profile_app 中完全相同、与中类似。 IPC_远程 默认设置。

    您能告诉我如何精确编译  mcu1_0和 ipc_remote_app mcu2_0的 cdd_ipc_profile_app 吗?因为我想尝试这些示例,但我无法编译它们。 它总是说有"没有规则制定目标"。

    非常感谢!

    此致、

    卡林

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

    您好、Calin、

    CDD_IPC_PROFILE_APP 您可以为 MCU1_0构建,但默认情况下,也可以为 MCU2_1构建 IPC_REMOTE_APP。 您可以进行必要的更改并为 MCU2_0构建。

    生成命令包括:

    IPC 分析应用程序

    • make -s cdd_ipc_profile_app Board=j721e_evm SOC=j721e build_profile=release  core=mcu1_0 build_os_type=freeRTOS  
    • make -s IPC_REMOTE_APP Board=j721e_evm SOC=j721e BUILD_PROFILE=RELEASE CORE=MCU2_1 BUILD_OS_TYPE=FreeRTOS   

    此致

    M·塔伦

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

    尊敬的 Tarun:

    我尝试使用的是 j784s4_evm、原因是这是我拥有的评估板、对于 cdd_ipc_profile 应用程序、我收到此错误:

    和针对 IPC_REMOTE_APP 的类似错误

    我不确定这些示例是针对 j784s4开发的、即使 IPC CDD (MCAL Tresos)配置包含 j784s4部分。

    此致、

    卡林

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

    Calin、

    根据您的描述"TDA4VM:mcu1_0 (mcusw)和 mcu2_1 (vision_apps)(基于 SDK 09.00.00.02)之间的 Cddipc "和 器件型号: TDA4VM 我认为这适用于 J721E。 对于 j784s4、目前 不存在 CDD IPC 配置文件应用程序和 IPC_REMOTE_APP。

    此致

    M·塔伦

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

    尊敬的 Tarun:

    抱歉、我的错。 它适用于 TDA4VH。 那么、对于 TDA4VH、我会认为 IPC CDD 不能正常工作吗? 在 SDK MCAL 中也会为 j784s4生成 MCAL 配置。  

    谢谢!

    此致、

    卡林

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

    您好、Calin、

    该部件能够正常工作。 驱动程序或配置文件没有问题。 示例尚未为此器件准备好、我们已经针对 mcu1_0提出了要开发的票证。

    希望您能理解。  

    此致  

    M·塔伦  

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

    我发现了问题。 我之前用来编译另一个链接脚本(lds 文件)、而不是 pdk_j784s4_09_00_00_45\packages\ti\drv\ipc\examples\common\j784s4\freertos\中的脚本。  SDK...it's 中的 lds 文件过多令人困惑。

    "这是我的孩子啊。"

    感谢你的评分