I’ve been trying to run PRU code on a Beaglebone Black (Rev. C) running Debian Buster, kernel 5.10.65-ti-r27, with no success. Said PRU code is fairly simple, as it is just the included echo example in the PRU Software Support Package with no changes, compiled with version 2.3.3 of the compiler on Code Composer Studio version 10.4.0.00006.
The code compiles fine, however, when I attempt to start PRU1 on the BBB, it fails to start with the following error:
echo start > /sys/class/remoteproc/remoteproc2/state
bash: echo: write error: No such device or address
dmesg
[ 237.826721] pru-rproc 4a338000.pru: IRQ vring not found
[ 237.838457] remoteproc remoteproc2: unable to get vring interrupt, status = -6
[ 237.849702] remoteproc remoteproc2: can't start rproc 4a338000.pru: -6
[ 237.860209] remoteproc remoteproc2: Boot failed: -6
As per Robert Nelson’s instructions, I took that PRU RProc is loaded by default on kernel 5.10 and did not apply any specific device trees, however, it also wouldn’t work with 4.19’s PRU RProc DT (slightly changed) applied on /boot/uEnv.txt.
I’ve also tried disabling all overlays to make sure, as well as trying it on Debian Stretch, but to no avail.
The PSSP 5.9.0 version of the code works fine on kernel 4.19, as well as other firmware that wasn’t designed just for testing.
My CCS project has no changes, all I’ve done was add pru_rpmsg.c, pru_virtqueue.c and necessary includes (which is normal behavior).