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.

[参考译文] AM625-Q1:无法在 R5F 上运行 IPC RP 消息 Linux 回声演示应用

Guru**** 2419530 points
Other Parts Discussed in Thread: SK-AM62-LP

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1525757/am625-q1-not-able-to-run-ipc-rp-message-linux-echo-demo-application-on-r5f

器件型号:AM625-Q1
主题中讨论的其他器件:SK-AM62-LP

工具/软件:

尊敬的 TI 团队

我尝试运行 IPC RP 消息 Linux Echo 演示应用程序、以测试 AM62x-SK-LP 板上的 RPmsg 和 LPM 功能。

我遵循此链接中提到的步骤

https://dev.ti.com/tirex/explore/content/mcu_plus_sdk_am62x_11_00_00_16/docs/api_guide_am62x/EXAMPLES_DRIVERS_IPC_RPMESSAGE_LINUX_ECHO.html

遵循的步骤:

在 tispl.bin 期间加载 R5F 映像

2.让 Linux 启动并运行  

3.输入这些命令,我可以在 Linux 终端上看到一些日志

但正如链接中所述、我在唤醒 UART 上看不到预期的输出。 此外、我在 UART 终端上键入内容时也不会出现任何情况。

我是否错过了某件事并犯了错误?

此致

Mayank

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

    您好、Mayank、

    RPMsg 的输出看起来与我期望的方式相同。 我正在将您的问题发送给我们的低功耗负责人进行评论。 如果您在一天内未收到其他回复、请随时 ping 通该问题。

    此致、

    Nick

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

    实际上、只需仔细检查一下:

    您是否计划编写自定义代码以在 DM R5F 内核上与 DM 任务一起运行? (AM62x 上没有其他 R5 内核)

    R5F 上开发的产品

    如果是、请记住将支持在 DM R5F 上进行开发、但在这种情况下不支持低功耗模式。 请参阅 MCU+ SDK 中的该页面文档:
    https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/10_01_00_33/exports/docs/api_guide_am62x/DEVELOP_AND_DEBUG_DMR5.html 

    有关 DM R5F 开发的其他重要说明  

    稍后我将获得该页面中添加的这些附加信息:

    在 DM R5F 上运行的非 DM 代码不应以任何方式干扰 DM 任务。 这意味着非 DM 任务不应使 DM R5F 内核崩溃、阻止 DM 任务运行、损坏 DM 存储器等

    如果您要对 DM R5F 进行编程、建议添加一种方法、在 DM R5F 锁定或以其他方式进入错误状态时让系统恢复。 请记住、如果 DM 任务无法正常工作、通常用于恢复的代码可能无法正常工作(例如,Linux shutdown 命令)。 DM R5F 看门狗计时器是一个恢复工具。 MCU+ SDK 中有一个示例位于 examples/drivers/watchdog/watchdog_interrupt

    非 DM 代码不应导致 DM R5F 内核崩溃:

    函数 DebugP_ASSERT() 用于冻结内核的操作并在检测到错误时保留状态。 但是,这意味着 DebugP_assert () 会停止包括 DM 任务在内的整个 DM R5F 内核。 在大多数情况下,对于非 DM 任务,我们建议使用不同于 DebugP_assert () 的不同错误处理机制。

    非 DM 代码不应阻止 DM 任务运行:

    DM 任务应始终是 DM R5F 上运行的最高优先级任务。 这可确保其他任务不会阻止 DM 任务使用 while () 循环、if () 条件等运行

    非 DM 代码不应损坏 DM 存储器:

    可以使用静态分析工具和其他方法来捕获潜在的存储器问题。

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

    您好、Nick、是的、计划是编写一个应与 DM 任务一起运行的自定义代码。 但会大体介绍一下。 我们需要将 R5 用作辅助控制处理器、它可用于通过外部 ADC 处理一些关键输入、并提供断电功能、在关断方面、我们可以利用 A53 关闭外设、然后利用 R5/M4 中的固定代码来完成关断并进入深度睡眠状态。 我们仍在探索使用 R5 还是 M4。 因为我在使用自定义代码时看到 R5 在 LPM 功能上有很多限制。 我想我们可能还需要检查 M4。

    另外、请检查 LPM 所有者的响应、我们仍在等待如何运行应用程序

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

    您好、Mayank、

    明白了、感谢您确认。 如果需要深度睡眠功能、我建议针对您的任务评估 M4F。

    这是 TI ADC 吗?

    AM62x 还可以选择使用 PRU 子系统 (PRUSS) 中的 PRU 内核。 此处提供了一些使用 AM64x PRU_ICSSG 上的 PRU 内核控制 TI ADC 的示例:
    https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/10_01_00_32/exports/docs/api_guide_am64x/DRIVERS_PRU_ADC.html
    https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/10_01_00_32/exports/docs/api_guide_am64x/EXAMPLES_PRU_ADC.html 

    一直在讨论将这些示例从 AM64x(其中 R5F 内核(不是 DM R5F 内核)用于控制 PRU 子系统)移植到 AM62x(其中 Linux 将控制 PRU 子系统)。 如果您有兴趣、我可以查看是否有将这些内容移植到 AM62x 的确切计划。

    此致、

    Nick

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

    您好、Mayank、

    关于仅 MCU 内核日志、它不清楚错误涉及的内容、但这里是 RCU Stall Warning 页面: https://docs.kernel.org/RCU/stallwarn.html

    我们可以使用“rtcwake -m mem -s 10“快速测试暂停序列、这会将器件置于睡眠状态 10 秒。 这将确认暂停/恢复序列正常工作。  

    然后、我们可以添加“echo 100000 >/sys/devices/system/cpu/cpu0/power/pm_qos_resume_latency_us 进入仅 MCU 模式、然后运行相同的 rtcwake 命令。 这将确认 MCU 保持在线并正常工作。

    如果这两种方法都能正常工作、那么我们可以更仔细地查看 IPC 唤醒源。

    此致、

    Anshu

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

    嗨、Anshu

    使用  rtcwake -m mem -s 10。 在终端上看到以下日志。 导致端子无响应。 从 terminale2e.ti.com/.../6470.logs.txt 附加日志

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

    嗨、Anshu、请查看响应并建议运行此应用程序的后续步骤

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

    尊敬的 Mayank:

    您能否提供设置的详细信息、以便我可以在我的端部复制它?

    SK-AM62-LP 板上插入了什么?

    在 Linux 端和 M4F IPC 固件上进行了哪些软件更改?

    正如 Nick 所提到的、如果 DM R5F 内核用于通用应用、则不支持低功耗模式。 此外、仅使用 SPL 引导支持低功耗模式。

    此致、

    Anshu

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

    嗨、Anshu

    是的、我们使用 SPL 引导流程并 从此链接中建议从 tispl.bin 示例中为 R5 集成 ipc_rpmsg_echo_linux.wkup-R5f0_0.strip.out

    https://dev.ti.com/tirex/explore/node?node=A__AZNhqJdyJ3LM.YBw-Z2UAw__AM62-ACADEMY__uiYMDcq__LATEST
    M4F 端没有固件、我们将使用  TI-PROCESSOR-SDK-LINUX-am62xx-EVM-11.00.09.04 中的 TI U-Boot 加载默认 Linux。

    这是我们的设置。

    此致

    Mayank  

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

    尊敬的 Mayank:

    SDK 11.0 上 AM62x 的 PMIC 驱动程序中有一个错误、影响 SK-AM62-LP: https://sir.ext.ti.com/jira/browse/EXT_EP-12340

    您可以尝试使用 SDK 10.1 吗? 此错误计划在 SDK 11.1 中修复。

    此致、

    Anshu