Dealing with MPU faults

tamirmichael wrote on Monday, June 25, 2012:


I am using a LPC1788 with FreeRTOS MPU. In case of a memory protection fault, is there a valid and solid way to resume program operation? I intend to develop the system with the MPU enabled, but if a fielded system encounters a memory issue I do not necessarily with the have it watchdog reset and report a failure - some violations are survivable, or maybe this is compromises the entire purpose of an MPU…? I would appreciate any opinion.

rtel wrote on Monday, June 25, 2012:

MPU faults allow you to detect access violations before they occur.  That means the system state is know because nothing bad has actually happened yet, so you can then take evasive action as is appropriate to your application.  This is different to detecting something like a stack overflow after it has happened, because after it has happened all you know is it has happened, and that is it, so there is nothing you can do to correct the situation with confidence that you have corrected everything.

Only the application itself can know what to do when a fault occurs.  The application knows the software components, which are critical, which not, which can be restarted, which it would not be safe to restart, etc.


tamirmichael wrote on Tuesday, June 26, 2012:

Thank you.