Hi William,

So here is how I like to use this. The PRU is performing some function and I 
send commands to modify that function. An example would be controlling the 
position of a stepper motor. The ARM app sends a new position and the PRU takes 
care of stepping the motor to that new location. I think of the PRU as being 
good at doing low latency stuff and I use RPMSG/Remoteproc to send instructions 
and then I get feedback on measurements from the PRU. The interface isn’t fast 
enough to do anything more that this. Simply flashing an LED by sending a 
command isn’t the best use of this technology. Changing the flashing rate or 
the duty cycle is more appropriate. I hope I’m answering your question. 

Regards,
John




> On Feb 20, 2016, at 11:45 AM, William Hermans <yyrk...@gmail.com> wrote:
> 
> This is an excellent explanation of the workings of Remoteproc/RPMSG. Thanks 
> for sharing.
> 
> Regards,
> John
> 
> Yeah I've seen that, or something similar it is pretty good, except there is 
> still one problem. That explanation  implies it instructs us how to use the 
> PRU hardware with rpmsg, and I suppose on some level it really does. But what 
> it does not explain, is how to interact with the rest of the on chip hardware 
> through this mechanism.
> 
> Sending text messages between ARM, and PRU processors is a good intro 
> demonstration of the software, but it is not really the least bit useful in 
> the real world.
> 
> Anyway, people like me who are very experienced with writing code, will be 
> put off using rpmsg etc because of this. Is it really so much to ask for 
> example code to demonstrate how to interact with the on die hardware ? 
> Without having to download 1GB of pretty much useless library . . . 
> 
> On Sat, Feb 20, 2016 at 12:23 PM, John Syne <john3...@gmail.com 
> <mailto:john3...@gmail.com>> wrote:
> 
>> On Feb 20, 2016, at 8:11 AM, Greg <soapy-sm...@comcast.net 
>> <mailto:soapy-sm...@comcast.net>> wrote:
>> 
>> The support from TI is quite extensive:
>> 
>> http://processors.wiki.ti.com/index.php/PRU-ICSS 
>> <http://processors.wiki.ti.com/index.php/PRU-ICSS>
>> 
>> Download the C compiler manual.  There is a section which describes several 
>> ways to incorporate assembly code.
>> This looks like a very detailed manual, which combined with the examples in 
>> the pru support package should be very helpful.
>> 
>> I'm still coming up to speed on all of this, and it's complicated because 
>> you have to think about what is going on with the C compiler, remoteproc, 
>> rpmsg, and
>> all of the details of what is going with these sort of kernel processes and 
>> the virtIO bus mechanism.  Too much going on for a Linux newbie, I've had to 
>> retreat
>> and study some of the fundamentals before getting back to this (I hope!).
>> 
>> You need to be aware the PASM is no longer supported.  The path forward is 
>> clpru, which is the C compiler which works with the included assembler 
>> (asmpru?).
>> There are some differences in the way assembly code is written for the newer 
>> assembler (there are notes on this in the command line package download).
>> 
>> I was also able to get the examples going with the PRU cape using remoteproc 
>> and version 4 kernel (Robert Nelson's testing image).  This massively 
>> simplified the process
>> compared to what you see the in the TI "Hands On Labs" tutorial.  Pretty 
>> much everything with regards to remoteproc and the clpru compiler is 
>> ready-to-run.  You don't need cross-compilation
>> or the IDE, all can be done at the command line on the BBB.  If you prefer 
>> to operate at the command line all the tools are there.
>> 
>> Please correct me if I've got this wrong, but I think it's fair to say that 
>> TI has provided a wealth of information for the PRU, however, they expect 
>> further support to be coming from the community.
>> 
>> Here's another really great contribution by TI:
>> 
>> http://processors.wiki.ti.com/index.php/PRU-ICSS_Remoteproc_and_RPMsg 
>> <http://processors.wiki.ti.com/index.php/PRU-ICSS_Remoteproc_and_RPMsg>
> This is an excellent explanation of the workings of Remoteproc/RPMSG. Thanks 
> for sharing.
> 
> Regards,
> John
>> 
>> Regards,
>> Greg
>> 
>> 
>> -- 
>> For more options, visit http://beagleboard.org/discuss 
>> <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 beagleboard+unsubscr...@googlegroups.com 
>> <mailto:beagleboard+unsubscr...@googlegroups.com>.
>> For more options, visit https://groups.google.com/d/optout 
>> <https://groups.google.com/d/optout>.
> 
> 
> -- 
> For more options, visit http://beagleboard.org/discuss 
> <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 beagleboard+unsubscr...@googlegroups.com 
> <mailto:beagleboard+unsubscr...@googlegroups.com>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.
> 
> 
> -- 
> For more options, visit http://beagleboard.org/discuss 
> <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 beagleboard+unsubscr...@googlegroups.com 
> <mailto:beagleboard+unsubscr...@googlegroups.com>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
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 beagleboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to