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.

[参考译文] RTOS/OMAP-L138:IPC_ATT()在 ARM 和 DSP 内核上挂起

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/717994/rtos-omap-l138-ipc_attach-hangs-on-both-arm-and-dsp-cores

器件型号:OMAP-L138
Thread 中讨论的其他器件:OMAPL138SYSBIOS

工具/软件:TI-RTOS

大家好、我正在尝试在 OMAPL138的 ARM 和 C6740内核之间设置 IPC。 我正在使用 LCKDOMAPL138开发套件。 根据 此线程的建议 、我首先设置了 SYS/BIOS"典型"设置项目、然后包括尝试同步内核的 IPC 软件包、然后在尝试 MessageQ 之前运行基元通知 even 循环。 但是,当我到达任一处理器中的 IPC_attach()调用时,当前配置会导致执行挂起,这意味着永远不会发生同步。

进行一些挖掘后、似乎原因是缺少共享区域零定义、但是、即使 SYS/BIOS 配置文件中有正确的共享区域描述、我仍然遇到相同的问题。

在 IPC_ATT()中导致此挂起行为的原因是什么?

作为参考、我使用的是 CCS v7.4、SYSBIOS v6.52、IPC v3.47、XDCTools v3.50和 Processor SDK RTOS v4.03。

同样值得注意的是,当我在 C6740端项目中明确包含 IPC 和 MultiProc 软件包时,函数_mfenced()显示为未解析符号。 此线程 在相同版本的库上记录了类似的方案、但未得到具体解决。 本文档 指出_mfence 不是 C6740支持的隐式生成函数、因此我认为虚拟定义不会破坏行为。 此假设是否不正确? 我想知道这是否与我的同步问题有关...

随附了我的应用文件:ARM 端的 ARM_IPC 和 C6740端的 DSP_IPC。 我已经注释掉了"通知"行为、因为同步还不起作用。

e2e.ti.com/.../arm_5F00_ipc_5F00_main.c.txte2e.ti.com/.../arm_5F00_ipc_5F00_app.cfg.txte2e.ti.com/.../arm_5F00_ipc.map.txte2e.ti.com/.../dsp_5F00_ipc_5F00_main.c.txte2e.ti.com/.../dsp_5F00_ipc_5F00_app.cfg.txte2e.ti.com/.../dsp_5F00_ipc.map.txt

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

    软件团队将收到通知。 他们将直接在此处发布反馈。

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

    IPC 软件包不支持在 OMAP-L138上的 ARM 上运行 TI-RTOS。 这些驱动程序目前仅支持 ARM Linux 和 DSP RTOS 之间的 IPC。

    如果您在 ARM 上运行 Linux、则不应使用 SharedRegion、而应使用 Rpmsg 和 CMEM。

    我建议查看我们的 IPC 示例、网址为.\IPC_3_47_02_00\examples\OMAPL138_Linux_elf\。

    如果您有任何问题、请告诉我。