在 Linux 内核6.12中、我们删除单独的 PRU RPMsg (RPMessage)驱动程序、并改用通用 RPMsg 驱动程序。 但是、Linux SDK 11.0的更改并未及时完成。 这意味着 AM62x Linux SDK 11.0和 AM64x Linux SDK 11.0中的 PRU RPMsg 开箱即用。 请按照以下步骤在这些 SDK 版本上启用 PRU RPMsg。
所有更改都集成在 AM62x Linux SDK 11.1和 AM64x Linux SDK 11.1上。
如何运行开箱即用的 PRU 演示?
运行开箱即用 PRU 演示的步骤与之前 SDK 版本的文档不同。 在 更新 RPMsg 快速入门指南之前、请参阅本常见问题解答中进一步的回复。
错误输出
如果您在未执行以下步骤的情况下尝试使用 PRU RPMsg 加载固件、则固件加载可能会如下所示失败:
// find which PRU core you want to connect to // remoteprocX association can change each boot, so use the name to determine // which core is which root@am64xx-evm:~# head /sys/class/remoteproc/remoteproc*/name ==> /sys/class/remoteproc/remoteproc0/name <== 78000000.r5f ... ==> /sys/class/remoteproc/remoteproc9/name <== 30034000.pru // now let's check which firmware will get loaded by default root@am64xx-evm:~# cat /sys/class/remoteproc/remoteproc9/firmware am64x-pru0_0-fw root@am64xx-evm:~# ls -al /lib/firmware/ ... lrwxrwxrwx 1 root root 53 Mar 9 2018 am64x-pru0_0-fw -> /usr/lib/firmware/pru/PRU_RPMsg_Echo_Interrupt0_0.out // now let's try to load the RPMsg Echo firmware root@am64xx-evm:~# echo start > /sys/class/remoteproc/remoteproc9/state [258582.547936] remoteproc remoteproc9: powering up 30034000.pru [258582.553702] remoteproc remoteproc9: Booting fw image am64x-pru0_0-fw, size 118672 [258582.556543] rproc-virtio rproc-virtio.5.auto: .kick method not defined for 30034000.pru [258582.556576] remoteproc remoteproc9: failed to probe subdevices for 30034000.pru: -22 [258582.556930] remoteproc remoteproc9: Boot failed: -22 -sh: echo: write error: Invalid argument