Part Number: TMS320C6678
This problem is a c66 corepac problem occurring on a c6678:
I am moving data via dma from ddr to l2. When this data is dmaed from the msmc everything works, but the dma from the DDR move always shoots blanks.
I suspect that the cache is involved in this problem. (According to the code composer memory browser the DDR data I am trying to move is in L1 and L2 data caches at dma time.)
The data that appears at the dst is all 0s even if some other data was written there. In other words, the data which is theoretically located in the DDR never finds its way to its intended destination, instead the destination location is blanked, although the dma definitely executes and even correctly links to another dma and fires an interrupt. That is why I figure that cache is involved although its operation is so shrouded in hardware that probative evidence is hard to come by.
Is there some way to make sections of the DDR off limits to the cache engine, so I can rule tis out? I can easily map the stuff I need into forbidden locations if there is some way I can protect these DDR locations from the cache.