工具与软件:
我正在使用 AM64x Linux SDK 10.0 (或者可能是最新的 AM64x Linux SDK 9.2.1)。 当我使用 Linux remoteproc 驱动程序关闭 R5F 内核并将其重新引导时、我的处理器会挂起。
SDK 10.0上的终端输出示例如下所示:
root@am64xx-evm:~# head /sys/class/remoteproc/remoteproc*/name ==> /sys/class/remoteproc/remoteproc0/name <== 5000000.m4fss ==> /sys/class/remoteproc/remoteproc1/name <== 78000000.r5f ... ==> /sys/class/remoteproc/remoteproc2/name <== 78200000.r5f ... root@am64xx-evm:~# echo stop > /sys/class/remoteproc/remoteproc2/state [602661.859629] platform 78200000.r5f: k3_r5_rproc_stop: timeout waiting for rproc completion event [602661.862122] remoteproc remoteproc2: stopped remote processor 78200000.r5f root@am64xx-evm:~# root@am64xx-evm:~# echo stop > /sys/class/remoteproc/remoteproc1/state [602683.363624] platform 78000000.r5f: k3_r5_rproc_stop: timeout waiting for rproc completion event [602683.363857] remoteproc remoteproc1: stopped remote processor 78000000.r5f root@am64xx-evm:~# echo start > /sys/class/remoteproc/remoteproc1/state [602696.928024] remoteproc remoteproc1: powering up 78000000.r5f [602696.929099] remoteproc remoteproc1: Booting fw image am64-main-r5f0_0-fw, size 434436 // output freezes here
有趣的事实:"Remoteproc"驱动程序用于管理"远程处理器内核"、其中"远程处理器"是设备上任何非 Linux 处理器。