I would like to set a specific bit based on the PRU it is running on.
So I would like to do a
SET R0, 12 // Set bit 12 if PRU 0
SET RO, 10 // Set bit 10 if PRU 1
The code is the same other then this output, so is there a syntax of the commend I can use? I have been looking and nothing is obvious to me.
It seems like there should be a way to identify which PRU code is
running on, but I'm not seeing anything with a quick review of the
You could modify the code written to the PRU, or if you want the exact
code, make the bit to set configurable via a location in the data memory
and load a different value for each PRU:
LDI R2, ADDRESS_OF_BIT2SET
LBBO R1, R2, 0, 1
SET R0, R1
Just make sure ADDRESS_OF_BIT2SET is in local PRU data memory
(0x0000_0000 to 0x0000_1FFF), so each PRU has it's own copy, and insure
this memory location is initialized properly by the ARM code that
interfaces with the PRU.