Tool/software: Linux
I am trying the PRU_RPMsg_Echo_Interrupt1 example in pru-software-support-package with BeagleBone Black. The code builds ok. It was successfully loaded and started on PRU1. The state under /sys/class/remoteproc/remoteproc2 shows "running".
However, when I start the rpmsg_pru, I am not getting the expected message in dmesg like " new rpmsg_pru device: /dev/rpmsg_pru31 ", and of course, rpmsg_pru31 was not created under /dev.
Below is the dmesg I am getting:
[ 78.045391] pruss 4a300000.pruss: creating PRU cores and other child platform devices [ 78.126593] remoteproc remoteproc1: 4a334000.pru is available [ 78.126717] pru-rproc 4a334000.pru: PRU rproc node /ocp/pruss_soc_bus@4a326004/pruss@0/pru@34000 probed successfully [ 78.137710] remoteproc remoteproc2: 4a338000.pru is available [ 78.137836] pru-rproc 4a338000.pru: PRU rproc node /ocp/pruss_soc_bus@4a326004/pruss@0/pru@38000 probed successfully [ 366.901804] remoteproc remoteproc2: powering up 4a338000.pru [ 366.911257] remoteproc remoteproc2: Booting fw image am335x-pru1-fw, size 78140 [ 366.911887] pruss 4a300000.pruss: configured system_events[63-0] = 0x08000000.00000000 [ 366.911901] pruss 4a300000.pruss: configured intr_channels = 0x00000002 host_intr = 0x00000002 [ 366.914522] remoteproc remoteproc2: registered virtio0 (type 7) [ 366.914538] remoteproc remoteproc2: remote processor 4a338000.pru is now up [ 366.983900] virtio_rpmsg_bus virtio0: rpmsg host is online
and lsmod result
shiw@beaglebone:~$ lsmod |grep pru rpmsg_pru 16384 0 rpmsg_core 16384 2 rpmsg_pru,virtio_rpmsg_bus pruss_soc_bus 16384 0 pru_rproc 28672 1 pruss 16384 1 pru_rproc pruss_intc 16384 2 pru_rproc
I am using the default AM335X-PRU-RPROC-4-14-TI-00A0.dtbo in uEnv.txt and running the latest 4.14 kernel.
Do I need to rebuild a dtbo in order for rpmsg to work? Cannot figure out what I did wrong.
Wei