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.

[参考译文] AM263P4:AM263P4:ipc_rpmsg_echo_callback 示例崩溃

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1641168/am263p4-am263p4-ipc_rpmsg_echo_callback-example-crashes

器件型号: AM263P4

尊敬的团队:

为了了解 TI Sitara 平台提供的不同 IPC 机制、我构建、运行并略微更改了几个 示例项目:IPC Notify、Spinlock&SharedMem、IPC RPMsg(无回调)。 它们都运行良好。

但是、最后一个示例是带有回调的 IPC RPMsg、在所有四个内核上使用 FreeRTOS、即使在完全未更改的状态下也会崩溃。 (此示例特别有用,因为我计划在至少两个内核上使用 FreeRTOS、所有其他多核交叉通信示例仅在一个内核上使用 FreeRTOS。)

 

可观察到的行为是什么?

当我通过系统工程 (ipc_rpmsg_echo_callback) 启动调试器来开始调试五个工程时、将所有四个内核置于“运行“状态(每个内核上为 F5)、并检查串行控制台是否显示调试消息、则仅显示第一条消息的一部分:

grafik.png

此时、内核 0-0 和 1-0 正在执行以下 中止处理程序:
grafik.png

内核 0-1 和 1-1 包含在该函数中:

grafik.png

 

我尚未编辑用于编译的五个示例工程中的任何一个。 这种行为的原因可能是什么?  

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

    为了更清楚地了解问题的原因、我进行了更多的试运行:
    -正如我的原始帖子中已经提到的,我导入了 TI 的官方 ipc_rpmsg_echo_callback 示例。 此示例在所有四个内核上均使用 FreeRTOS。 调试裸导入的工程(对其没有更改)最终会导致两个内核到达 HwiP_USER_DATA_ABORT_HANDLER_c ()->工程开箱即用。
    - ipc_rpmsg_echo ,它只在主/控制内核上使用 freeRTOS ,开箱即用。
    -当我将 ipc_rpmsg_echo 项目的程序代码逐字复制到 ipc_rpmsg_echo_callback 的导入中时,三个内核最终到达 hwip_user_data_abort_handler_cc ()-> Project 仍然中断,尽管我知道在另一个项目中可以正常运行,但在三个内核上没有 freeRTOS。
    -我还尝试使 RPMsg 使用四个 FreeRTOS 内核在一个空项目上工作。 这也使工程中断。 同样,一些内核最终到达 HwiP_USER_DATA_ABORT_HANDLER_c (),并且没有 RPMsg 通信成功。

    这表明故障:
    -独立于应用程序代码
    -在远程内核上需要 FreeRTOS

    SDK 版本: AM263Px MCU+ SDK 11.01.00
    IDE:CCS 20.5.0.28__1.11.0
    操作系统: Windows 11.

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

    尊敬的 Deigo:

    您能否查看下面的 E2E 并检查它是否有所帮助、对我来说、这个问题看起来非常类似。 链接的 E2E 还提供了一些指向其他 E2E 的链接、以供参考

     LP-AM263:LP-AM263:调试的确定方法 

    此致、
    Shaunak

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

    注释掉  AM263Px.gel 内的 OnTargetConnect () 确实有问题。 谢谢!