Which kernel version are you using? If it's the 4.9 version (most likely as it is the Stretch image), some additional steps are required because the binary won't start up automatically at boot as it does in kernel version 4.4. This is a change that happened done going from 4.4-4.9.
To boot the binary, once you build and put it into /lib/firmware you would have to manually boot it. - Go to /sys/class/remoteproc in a root shell - There should be 3 directories, remoteproc0, remoteproc1, remoteproc2. To find which is the correct one for PRU0 for example, do: cat /sys/class/remoteproc/remoteproc1/device/of_node/label . It should say "pru0" (at least it does on my board) - Once you have found the correct remoteproc directory, cd into it. Let's for example assume for PRU0 the directory is /sys/class/remoteproc/remoteproc1 - Then you have to set the name for the firmware you have copied into /lib/firmware using: echo am335x-pru0-fw > firmware . - Then you have to start the device using: echo start > state . To stop the PRU, do: echo stop > state . I hope this should get the rpmsg driver to show up. Pastebin your kernel logs so that I can take a look. Resource table is a way of signifying to the remoteproc driver: - the PRU interrupts it should configure on PRU boot, - virtqueues used for PRU<->Kernel communication The resource table is placed in an ELF section that the remoteproc kernel driver reads before it loads the firmware into the PRUs. Regards Abhishek On Tuesday, November 14, 2017 at 12:40:02 PM UTC+5:30, Ken Shirriff wrote: > > I got a PocketBeagle and I want to try out the PRU on it. Everything seems > different from the PRUSSDRV stuff I'm used to. I can't get remoteproc to > work, so I wanted to know which kernel and interfaces I should use. > > Specifically, I'm running the 2017-10-10 Stretch IoT build from > http://beagleboard.org/latest-images > I tried running the remoteproc "Hello world" from here > <http://theduchy.ualr.edu/?p=996>. > First, I ran into problems with stdint.h not found; I eventually found it > in /usr/share/ti/cgt-pru/include - is that the right include path to use? > When I ran the program, I got a bunch of warnings: > > Note: remoteproc is still under development and considered experimental. > THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't > yet guaranteed. > > And then the program died with "Failed to open /dev/rpmsg_pru31" > > So: is remoteproc what I should be using, or is it still "experimental"? > Am I using the right kernel? And what is "resource_table.h"? > > Thanks for any suggestions, > Ken > > > > > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/d8287599-fa69-4c7a-9f53-665fec4d06cb%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
