DPRG List  

[DPRG] Beagle Bone Black PRU

Subject: [DPRG] Beagle Bone Black PRU
From: Paradug paradug at gmail.com
Date: Sun Feb 8 19:27:19 CST 2015


From: Dick Swan 
Sent: Sunday, February 08, 2015 6:47 PM
To: DPRG List 
Subject: [DPRG] Beagle Bone Black PRU

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.


DPRGlist mailing list
DPRGlist at dprg.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.dprg.org/pipermail/dprglist/attachments/20150208/f5463e6e/attachment.html 

More information about the DPRG mailing list