DPRG List  

[DPRG] Beagle Bone Black PRU

Subject: [DPRG] Beagle Bone Black PRU
From: Dick Swan dickswan at sbcglobal.net
Date: Sun Feb 8 18:47:43 CST 2015

I spent a little while online skimming the PRU technology used in the
BeagleBone Black. Here's my notes.


.         The two PRUs are 32-bit RISC CPUs. I didn't look at the
instruction set in detail but it is not ARM. Each PRU has internal memory
for 1000 instructions that are each 32-bit in size. I think they each have
4K of RAM.

.         The C/C++ compiler is GCC. It was developed and is now maintained
by the Open Source community and was not developed by TI. While it's called
a C++ compiler I would guess the 1K limit on instructions must prevent
support for all the C++ features - for example 

.         Given the limited program memory on a PRU, there is only partial
support for the standard C libraries.

.         I saw one reference that the compiler was a subset of C. But I
scanned the documentation and it looked pretty complete except for the
library limitations. It supports char, short, long and float variables. I
don't think the "new" and "delete" functions are supported.

.         For the APM autonomous vehicle software one PRU handles generating
outgoing servo pulses for 8 (16?) servos. I think the assignment is
reconfigurable - i.e. the exact GPIO pins used for servo control can be
reconfigured in software. The other PRU does the incoming servo pulse
recognition from the signal from the R/C receiver; APM uses the signal that
multiplexes signaling for several servos on a single line.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.dprg.org/pipermail/dprglist/attachments/20150208/72f54986/attachment.html 

More information about the DPRG mailing list