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.

[参考译文] LP-AM243:ipc_rpmsg 在重新启动同一内核后无法正常工作。

Guru**** 2451970 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1496669/lp-am243-ipc_rpmsg-does-not-work-correctly-after-restarting-same-core

器件型号:LP-AM243
主题:SysConfig 中讨论的其他器件

工具/软件:

您好、专家、

在我创建的应用中、按以下顺序使用 R5F#0-0。
(SDK 版本为 MCU+ SDK 10.00.00.20)

(1) SBL
(2)第3个装载机
(3)应用

在(2)中使用 ipc_rpmsg 与其他内核通信后、当以(3)中的相同方式进行通信时、会发生以下接收错误。

ERROR: RPMessage_recv:371: [IPC RPMSG] Message recv @ 1 local end point failed due to invalid end point Q !!!

我在 RPMessage_recv()中检查了消息的原因、发现状态为-2 (超时)、pMsg 为 NULL、因此 vring 缓冲区似乎未正确引用。


在与 IPC 相同的内核上加载新固件后、我应该怎么做才能使 IPC 正常工作?

如果您有任何解决方案或技巧、请告诉我。

此致、

武田太郎

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

    武田山,  你可以检查 vring 缓冲区的基地址和大小是否正确在步骤(2)后? 为此,您可以 在加载新固件之前和之后为 vring 缓冲区的基地址和大小添加一些 printf()以查看其是否发生变化。 只是为了排除在加载新固件期间不会发生损坏或覆盖。

    和/或可以尝试在 CCS + JTAG 中使用断点、以便单步执行 RPMessage_recv ()函数并查看其失败的位置。

    谢谢您、

    Paula

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

    您好 Carrillo-San、

    感谢您的答复。

    我没有写下足够的内容。 很抱歉。

    vring 缓冲区的基地址和大小相同、因为(2)和(3)共享 SysConfig 输出的相同源文件。

    源文件名为"ti_drivers_config.c"。

    此致、

    武田太郎

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

    你好武田山,知道你使用相同的二进制,但你能检查(通过调试器或通过打印)缓冲区地址和大小不能在某种程度上修改( 2)和( 3)?  

    谢谢您、

    Paula

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

    您好 Carrillo-San、

    3rd loader: gIpcSharedMem=[0x701b4000], size=[18816].
    Application: gIpcSharedMem=[0x701b4000], size=[18816].

    在 UART 日志中检查了缓冲区地址和大小。


    可以看到、它们是预期的缓冲区地址。

    但奇怪的是、来自其他内核的消息是由(3)正确接收的。

    我不知道原因、但我结束了这个问题。
    如果同样的现象再次出现、我会提出一个新问题。

    感谢你能抽出时间。

    此致、

    武田太郎