On Wed, Sep 7, 2016 at 5:39 PM, Charles Steinkuehler < [email protected]> wrote:
> On 9/7/2016 5:18 PM, William Hermans wrote: > > > > I agree with Charles with one exception. I personally prefer to use > DATAOUT > > directly instead of using SETDATAOUT / CLEARDATAOUT. > > If you write directly to DATAOUT from either the PRU or the ARM side, > you risk data corruption. Example access patterns causing data > corruption: > > 1: > * PRU reads DATAOUT > * ARM modifies DATAOUT > * PRU writes DATAOUT > * ARM Update is *LOST* > > 2: > * ARM reads DATAOUT > * PRU modifies DATAOUT > * ARM writes DATAOUT > * PRU update is *LOST* > > Both the PRU and the ARM need to use the set/clear registers for > updates or some updtes can get *LOST* (which can be *REALLY* hard to > debug in the RealWorld). > > -- > Charles Steinkuehler > [email protected] > > It does not say anything about that in the TRM. In fact as I recall it mentions that SETDATAOUT, and CLEARDATAOUT directly write to DATAOUT. Something like SETDATAOUT -> |= BITx CLEARDATAOUT -> &=(~BITx) I gues I'll have to reread the TRM again. -- 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]. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/CALHSORpxBHmNoHRQDEi8VjJKc1zup0AEoH7MWnZURi0fieDX-Q%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
