Hello again,

My application uses the two PRUs:
PRU0 will control four PWM and some digital outputs and has some tight time 
constraints. In short, the less assembly instructions it runs on the normal 
execution path, the better. 
PRU1 on the other hand, will read some inputs and do the interface with 
PRU0 and ARM. It implements a sort of ring buffer with the ARM side and 
transfer new data to PRU0 via scratchpad. Aside from the number of tasks, 
there a plenty of time to waste here.
PRU0 will send a interrupt to PRU1 every time it read the scratchpad. Also 
I can let PRU1 interrupt PRU0 to signal that the new data are ready, but 
doing so will waste at least two or three cycles. 

What I would like to know is, if there are a conflict on the scratchpad 
communication. lets say PRU1 is writing some registers to the scratchpad 
bank0 while, at the same time, PRU0 is loading the same registers from the 
same scratchpad bank.
Does anyone know what happens in this case?
 Will PRU0 or PRU1 stall and wait for the other to complete the access?
 Will PRU0 read the previous data?
 Will PRU1 read corrupted data?



PS: Section 5.2.4.2 of the am335xPruReferenceGuide.pdf 
<http://mythopoeic.org/BBB-PRU/am335xPruReferenceGuide.pdf> explains what 
happens if the two prus are trying to write at the same time. This is not 
my case as PRU0 will never write anything on the scratchpad.


-- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to