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.
