Hi
I have a buffer that is 15MB created using CMEM. I used DMA to transfer data from SRAM to the buffer for processing.
I did a data check by transferring 6MB of data. In the first transfer of the 6MB, the data is transferred successfully but in the second transfer of the 6MB, I realized that there are some inconsistencies occurring randomly around 2-3Mb.
I referenced some EDMA examples and tried the EDMA3_CacheFlush and EDMA3_CacheInvalidate.
The process takes time because of the flushing and invalidating 15MB each time after transferring 65500 bytes of data. For example to fill the 15MB of data, i will need to invalidate and flush for 240 times. Then, I tried replace the length by some values and somehow I manage to get the inconsistencies to go away but it still takes time to complete the process.
I am not sure if I require to flush the cache or invalidate the cache or what is the proper way to do so if I require flushing and invalidating. Somewhere is wrong but I am not sure.
Please assist.
Thanks...