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.
大家好!
我对 WKUP R5F (DM R5F)的 Remoteproc 接口的行为有一个基本问题、因为它的行为与 MCU R5F 和 C71不同。 在正常的启动中、MCU R5F 和 C71固件在内核引导时通过 Remoteproc 加载。 然后、可以轻松构建不同的固件、通过 remoteproc 和调试进行加载。
不过、可以理解的是、WKUP R5F 在早期 u-boot 时间(A53 SPL)加载、并且固件位于 tispl.bin 的 FIT 映像内。 这是可以理解的、因为 RM/PM/SCIServer 等组件连接到了对芯片运行至关重要的固件中。
然而、在内核时是否仍可以使用 Remoteproc 到重新加载或加载不同的固件、只要这些固件还在 RM/PM/SCIServer 中进行链接?
我了解还连接了其他元件、例如 VPAC 驱动器。 当前 WKUP R5F remoteproc 接口不可用、固件"未知"、状态"已连接"、但无法完成停止/启动循环。 这是否可以通过在器件树中进行一些更改来启用?
root@am62axx-evm:/sys/class/remoteproc head remoteproc*/固件
=> remoteproc0/固件<=
am62a-C71_0-FW
=> remoteproc1/固件<=
am62a-mcu-r5f0_0-FW
=> remoteproc2/固件<=
未知
root@am62axx-evm:/sys/class/remoteproc head remoteproc*/state
=> remoteproc0/state <=
运行
=> remoteproc1/状态<=
运行
=> remoteproc2/state <=
已连接
启动显示 WKUP R5F (remoteproc2)在内核启动期间未加载,而是进行连接。
root@am62axx-evm:/sys/class/remoteproc # dmesg |grep remoteproc
[ 5.591611] k3-dsp-rproc 7e000000.dsp:已将 DSP 配置为 Remoteproc 模式
[ 5.606933] remoteproc remoteproc0:7e000000.dsp 可用
[ 5.694610] remoteproc remoteproc0:启动7e000000.dsp
[5.701036] remoteproc remoteproc0:启动固件映像 am62a-C71_0-FW、大小11046992
[ 5.778488] remoteproc remoteproce0:远程处理器7e000000.dsp 现已启动
[ 5.796204] platform 79000000.r5f:为 Remoteproc 模式配置了 R5F
[5.884276] remoteproc remoteproce1:79000000.r5f 可用
[ 5.904677] remoteproc remoteproc1:启动79000000.r5f
[ 5.910512] remoteproc remoteproc1:启动固件映像 am62a-mcu-r5f0_0-fw、大小为534640
[6.080103] remoteproc remoteproce2:78000000.r5f 可用
[6.080204] remoteproc remoteproc2:正在连接到78000000.r5f
[6.081283] remoteproc remoteproc2:远程处理器78000000.r5f 现已连接
[ 6.094487] remoteproc remoteproce1:远程处理器79000000_r5f 现已启动
我还研究了
https://dev.ti.com/tirex/explore/node?node=A__ASKOt3iId42AwB.5ZyUWrw__AM62A-ACADEMY__WeZ9SsL__LATEST
感谢你的帮助。
此致、
-冈特
您好!
我们的远程处理器主题专家将在周三之前不在办公室。 如果他在周四或周五没有回复、请随意回答此问题。
-道林
大家好!
我想再次检查更新。
谢谢!
-冈特
Gunter 您好!
您的观察结果是否符合预期?
应为"Attached"(已连接)。
Linux Remoteproc 驱动程序在内核引导期间尝试初始化内核之前检查内核是否正在运行。 如果内核已在运行(例如、始终处于运行状态的 DM R5F、或者、如果 R5F 之前已由 uboot (此处链接)或 SBL (此处链接)在引导过程中初始化)、则为 MCU R5F)、 然后、Linux 将只是尝试"连接"到远程内核(在此处它初始化 Linux 和远程内核之间的 RPMsg 通信接口)、而不是尝试重新启动远程内核。
您无法在运行时关闭 DM R5F -这意味着您无法使用 sysfs 界面来停止 DM R5F、然后将新固件载入其中。
如何将新固件加载到 DM R5F 中?
您需要重建 uboot 二进制文件以在其中构建新的 DM R5F 固件。 下面提供了一个正在处理的常见问题解答、其中包含一些其他信息:
https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1317407/faq-am625-how-do-i-modify-the-ddr-memory-footprint-of-the-dm-r5f
我在移动 DDR 分配时遇到了一些问题、然后我的计算机 死了、我还没有时间回圈。 因此、暂时忽略有关移动内存分配的部分、但其余信息应该是有效的。
此致、
尼克
https://bootlin.com/doc/training/embedded-linux/embedded-linux-slides.pdf
关于 DM R5F 的开发资源:
https://software-dl.ti.com/mcu-plus-sdk/esd/AM62AX/09_01_00_39/exports/docs/api_guide_am62ax/DEVELOP_AND_DEBUG_DMR5.html
请注意、对于支持低功耗模式的处理器(如 AM62x)、如果您有自定义的 DM R5F 固件、则不支持低功耗模式。 有关更多详细信息、请访问 https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/09_01_00_39/exports/docs/api_guide_am62x/DEVELOP_AND_DEBUG_DMR5.html
我们口头讨论的许多信息都包含在以下进度常见问题解答中:
https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1317407/faq-am625-how-do-i-modify-the-ddr-memory-footprint-of-the-dm-r5f
此致、
尼克