dear all,
anybody using a silabs C8051F060 with sdcc in dma mode should be aware
that the following assembler sequence may lead to unpredictable results
as the second movx a,@dptr may not be executed properly if the execution
is parallel to the dma write cycle to the on-chip xram.
movx a,@dptr
inc dptr
movx a,@dptr
silabs was not able to confirm this problem to me, but the following
patch worked fine for me (thanks to Maarten Brock), which inserts a nop
before or after the inc dptr.
use the compile option "--peep-file peepfile" and create a peep file
with the following directives:
replace {
movx a,@dptr,a
inc dptr
movx a,@dptr,a
} by {
movx a,@dptr,a
nop
inc dptr
movx a,@dptr,a
}
best regards
Dani
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Sdcc-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sdcc-user