Hi
We are observing Cache coherency issues in a Sys/Bios application.
Note on the Setup:
Hardware: TMS320TCI6482, Sys/BIOS 6.32.5.54
Problem:
In the code, we first transfer the contents from one buffer to another buffer which is located in the DDR. This is done using a memcpy operation. Before the copy we are performing the CACHE_FREEZE using the Sys/BIOS Api. After the copy we set the mode back to normal. This is done several times till the buffer in the DDR is not populated with the full contents. Following this we setup a EDMA to transfer the contents from the DSP to the FPGA. What we observe is the following:
1) The EDMA transfer does not get completed, it gets stuck somewehere between and the completion interrupt is not triggered.
2) On halting the core and browsing the memory, it is seen the contents in Cache are different from the ones in the DDR.
This application worked fine with DSP/BIOS.
Questions:
1) Are there some known issues while performing EDMA in a SYS/BIOS application?
2) The above appears to be a cache coherency issue because it was ensured that the Cache was Frozen at the time of memcpy. Still after EDMA has initiated, there is updation of contents in the cache.
Please suggest.
Regards
Dushyant