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.

Reply via email to