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

M7 atomic operation faults on non cacheable memory

I'm trying to make one region of SRAM non cacheable for DMA buffers.  But what I have found is that when I do that, the first atomic operation bus faults (eg RTOS mutex).

Here's an example where I made all of SRAM normal memory non cacheable (TEX=1 B=0 C=0 S=1) for testing:

It does not matter what the atomic operation is; it faults on the `ldrex` instruction.  I've checked alignment and the access is on a 32 bit boundary.  Actual memory location can be in DTCM or SRAM1 and it will fault in both.

If I change the MPU region to 'normal memory non cacheable non sharable (TEX=1 B=0 C=0 S=0)' then it will not fault but it appears that caching is still enabled for that memory region.

0