This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Tips for debugging DMA MPU

I am using DMA to move CAN messages into a rolling buffer as they come in where I can process them periodically. Each time I detect a message in the buffer, I set the DMA MPU to protect that slot. Once per millisecond, I check the DMAMPST register for an MPU error which would indicate an overflow. What I am finding is that occationally it will detect an overflow, but when I look at the buffer there is nothing there as if DMA decremented its destination pointer instead of incrementing it after writing the block. Is there any way to see what exactly triggered the MPU? Could anything else other than a DMA write to the protected area cause that?