We a have the problem described in the previous post. The problem has been reproduced on the Beagleboard X board. We are using embedded RTOS, but have minimized functionality for a minimum for test purposes. After some period of work, MPU0 stuck and is even inaccessible by the JTAG debugger. It is still possible to connect to the debugger to the other cores (DSP, IPU) and sometimes it is possible to connect to the MPU1. Also, I can access some peripheral registers, but never MPU register. As described in the suggestion in the previous post we have minimized the SW and switch from the custom board to the Beagleboard X. Problem observed also on the Beaglebone. Making simulation with unexpected code execution or tight loop has don't reproduce the issue.
The problem with the similar symptoms has been reproduced when switching off the clock from the GPMC and running memory read operations on physical address starting from zero. GPMC was not initialized with any CS region at this time.
Another observation regarding this issue related to the work of the Ethernet subsystem together with GPMC or EMMC. When Ethernet works alone no problem is observed. When GPMC or EMMC works alone everything also works fine. But as soon as Ethernet start working with GPMC or EMMC issue starts to reproduce. Also observed that in the GPMC_ERR_TYPE register errors appears (0x211). This error doesn't always lead to the MPU stuck and wasn't noticed that impact system functionality.
One more notes, our Ethernet drivers used chases, when we turn off the cache and starts working on the uncashed buffers GPMC error doesn't appear.
What could be the correlation between the uncashed memory, GPMC error, and CPU stuck?