hello:
I am working with c6678 evm, I transfer data from local L2 SRAM to MSM SRAM with TPCC0, I find that the data have been transfered to MSM SRAM, But when I view the memory, and enable the L1D cache, find that L1D cahce data is differrent with the MSM SRAM.
<<TMS320C66x DSP Cache User Guide>> says:
C66x DSPs automatically maintain cache coherence for data accesses by the CORE and
EDMA/IDMA through a hardware cache coherence protocol based on snoop
commands. The coherence mechanism is activated on a DMA read and write access.
When a DMA read of a cached L2 SRAM location occurs, the data is directly forwarded
from L1D cache to the DMA without being updated in L2 SRAM. On a DMA write, the
data is forwarded to L1D cache and is updated in L2 SRAM.
so if I transfer data from local L2 SRAM to MSM SRAM, the L1D cache data and MSM SRAM data should be the same ,not different!
I want to know why? thanks!
I load the c6678evm.gel, and set Global_Default_Setup(), witch set L1D 32K Bcache, L1P 32 KB cache, L2 ALL SRAM, then run my example!