I am trying to make an ADC using the PRU. I want to use one core as SPI master and send the samples to the second core using scratchpad . On the second core i want to do some DSP and than send it to the arm using REMOTEPROC/RPMsg. The problem i am walking in to is that there is next to no explanation on remoteproc or scratchpad. Are there better resources on these topics? or are there better solutions to what i am trying to accomplish? has anyone written a library in C for REMOTEPROC/RPMsg. I do not mind researching but there is so little information that i am left to copy pasting different parts of the TI examples which do not explain anything.
Have you seen the PRU Cookbook? In chapter 7 I give a simple example of passing data between the two PRUs using xin() and xout(). It’s a simple example, but a start.
BeagleLogic has a better (and much more detailed) example of what you are wanting to do.
 PRU Cookbook
 More Performance
 Welcome to BeagleLogic! — BeagleLogic 2.0 documentation
Programming PRUs is a bit of a moving target as the mechanisms have changed and evolved and a lot of documentation is out-of-date. I used some of Mark’s stuff and well as the cut&paste&try method too.
I’m not using the scratchpad but I did write an application that moves data between PRUs using a circular buffer in the shared memory block. Maybe there is some helpful information there.
Remoteproc is a standard Linux kernel feature, so start with the
kernel's Documentation/ directory:
The scratchpad is documented quite well in the PRU reference
materials, see section 5.2.4: