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.

Reply via email to