Can you give me any insight into the control register saves I see in the Cortex M3 MPU port(s) of FreeRTOS? The control register does not appear to be readable on the processors I have experimented with, yet I don't see any discussion of this in the forums. Perhaps folks that are using the MPU ports are not actually running unprivileged tasks?
I have stepped through code on both Energy Micro and ST Cortex M3 based chips, and in both cases "mrs r1, control" seems to always return zero.
“The control register does not appear to be readable on the processors I have experimented with”
Which processor are you actually using? The original STM32 chips don't have an MPU. Not sure about Energy Micro, but I wouldn't be surprised if they didn't either as it would consume some power.
The control register is used to raise the privilege and test the current privilaged, and that part of the code is working, so reading it must also be working to some extent. Which function are you having a problem with?