Hello,
I am working on 6670 evm. I have configured L1D as Cache and kept L2 cache size to 0.
I have a big buffer in L2SRAM of size around 32000 Words. Out of which first 8000 words are being writted through DMA and being read by CPU. After processing CPU is giving output starting at index 8000 of this buffer. This process is working fine initially but after some time randomly there occurs an event when CPU does not get read the correct input buffer written by DMA. Analysing the situation i found that cpu is instead reading values written in previous run. But when i see this buffer after the cpu processing the content of this buffer is correctly updated as it should be.
I have configured the DMA in polling mode where i kept waiting until DMA transfer completion event is triggered (done thorugh CSL_EDMA3_QUERY_INTRPEND query). So i presume that cpu processing is occuring after DMA transfer is completed.
So either could it be related to EDMA configuration or is it a cache coherency issue? Can somebody help me in understanding this behaviour. Will appreciate any help you can provide in clarifying this situation.
Regards
Naveen