This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Need to invalidate L1 cache after DMA on Cortex A9

Hi,

I'm using a Renesas RZ/A1L, Cortex A9 microcontroller. After a DMA operation which transfers some data from a SPI module into RAM, I can't read the data correctly unless I've disabled L1 cache. (The base code which Renesas supplies sets the caches up initially.)

I suppose what I need to do is tell the processor to invalidate any L1 cache just for the memory region in question (usually 512 bytes). I'm struggling to work out how to do this, despite googling a lot. I've learned about CP15 registers, which do things like enable or disable the cache as a whole, but to invalidate just a small region, I'm completely lost.

Any tips would be most welcome.

Parents Reply Children