I am using a KE18F MCU.
I am using DMA to transfer received UART data into a circular queue. I use the DADDR of the DMA channel that handles these actions and a pointer of "read" data to determine if new data has been put into the queue.
I am concerned that when I read my data queue, I will read what is in cache, instead of the what's actually in my queue. Since there is no DMA coherency with cache.
I am wondering if I would need to search the cache and invalidate any data that is from my data queue when it comes time to process the received data, since the data was moved into the queue by DMA?