Hi guys,
we use Keil RTX on a M4 core (XMC 4500) which contains a memory protection unit. We want to run some parts of the software in its own memory space. I have found the description about CMSIS-Zone (CMSIS-Zone) which should provide MPU support. In the thread mode multiple processes should be possible.
Questions:
- Does anybody know if this feature is planned for Keil RTX.
- Are there other RTOSs which support this kind of features already?
Thanks a lot for any hint
Jussy
Hi,
Thank you. I figured that out and it seems to work. The current issue I am facing is that I get a hard fault while enabling the MPU (I think at __ISB()) if I don't set the PRIVDEFENA bit. I noticed the FreeRTOS implementation seems to always set it when enabling the MPU. Is their any reason why this needs to be done?
Thanks
that depends on your MPU configuration. The PRIVDEFENA allows privileged access to all memory without specific region definition. If you don't enable that bit you would need to add specific region configuration for all your (privileged) code/data, explicitly. In CMSIS this decision is not made implicitly like it might be done in FreeRTOS. You rather need to set this bis explicitly during MPU enable if you want to.
Cheers,
Jonatan