Return from MemManageFault

Hi everyone, 

There was a post of this question here: Returning from MemFault - Architectures and Processors forum - Support forums - Arm Community
But I don't see any reply on this post and it has been locked

I cannot find any document or guideline about how to return from MemManageFault exception on Cortex-M4

I am using the stm32f4 (cortex m4), trying to set up a read-only region, enable MemManageFault and MPU, write to the read-only region

The MemManageFault is triggered:
    + MMFAR register update to the accessed address
    + CFSR.MemManage (MMFSR)  = 0x84

Everything is good but then I cannot return from the MemManageFault, the CPU constantly gets back to the write instruction which caused the error and the MemManageFault exception handler.

As the ARMv7-M Architecture RM states: write a one to a register bit to clear the corresponding fault.

I try to return from MemManageFault by clearing the error (write 0x84 to CFSR.MemManage (MMFSR) and clear the error address MMFAR. but it seems like the two registers are not cleared. then the exception re-trigger again and again.

My question is how to clear the MemManage error, and return from the exception to continue other instructions after the fault.

I am really appreciate any reply. Thanks