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.

[参考译文] AM2612:Zephyr 端口 — IPC 不再与 REL.AM261X-v4.2.0-ti-26.00.00.00 版本配合使用

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1630598/am2612-zephyr-port---ipc-no-longer-works-with-rel-am261x-v4-2-0-ti-26-00-00-00-release

器件型号: AM2612

似乎 IPC 功能已与最新的 REL.AM261X-v4.2.0-ti-26.00.00.00 版本回归。  当我尝试构建和运行 rpmsg_static_vrings 示例程序时、应用程序会在进入 z_cstart 之前崩溃。  如果我返回到 REL.AM261X-v4.2.0-ti-01.01.01 版本、应用程序将正常启动并到达样本程序的 main。  这是非常可以重现的。

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

    您好、Michael:

    我们正在研究这个问题。 我们明天会再回来。  

    此致、

    Madhava.  

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

    您好、Michael:

    我已经研究了这个问题、错误似乎与 AM261x 的 XIP 启用有关。

    文件 Zephyr/include/Zephyr/arch/arm/cortex_a_r/scripts/eary_boot_sections.ld 是一项新内容、可让 XIP 使用我们的 SBL 流程。
    然而、这是一种权宜之计、直至找到更好的 Zephyr 原生解决方案。

    我观察到  rpmsg_static_vrings 示例中的错误是 eary_boot_sections 没有填充到最终二进制文件中(执行反汇编会显示关键 API(例如 z_arm_reset、z_prep_c 等)的空代码

    奇怪的是, 这个错误只 在 rpmsg 样本中观察到 。

    一个有效的修复方法是删除 Early boot_sections.ld 第 6 行中的 (NoLoad)  
    这应该会使 rpmsg 样本正常工作、同时保留其他样本的功能。

    请注意、 IPC 不太可能与 XIP 一同使用。
    如 board.rst 文件中所述、存在一个已知问题 、即 Zepyhr 子系统(如 Logging/ZTEST)不适用于 XIP。
    团队仍在调查此问题、同时找到更好的 Zephyr 原生 XIP 实现。

    此致、
    Shreyas。