FreeRTOS-MPU With FreeRTOS Kernel V10.3.1 For Cortex M7

Hi,

I was going to try out a system where I have a static task running in privileged mode so I can use the MPU settings to block other tasks from corrupting the privileged task’s stack and globals.

I don’t have a real project for this at the moment, but I would like to know how to do it because I am sure that a job that needs this will come up.

I read a bit about FreeRTOS-MPU and it seems like it would enable this, but I am using ST’s CubeIDE for My development and the FreeRTOS version that this defualts to is Kernel V10.3.1.

Is it possible to use this version in such an application and what additional freeRTOS modules would I need to include.

Could you advise me on the best way to proceed with this

Kind regards
Rob

Hi @rgarnett
You can take a look at this MPU demo as a reference for a starting point.

Assuming the CubeIDE supports CMSIS, you can get the newer FreeRTOS versions from ARM’s CMSIS packs. CMSIS-FreeRTOS: Introduction

This FreeRTOS version is good enough, though updating to the latest version should be pretty easy. First, check if you are using the FreeRTOS port with MPU support. You can check that by checking which portable files your project is using. If you are not using a port with MPU support, you need to change the port to the one with MPU support. This will also require some changes in the linker script and you can use the project shared by @karahulx as a reference. Let us know if you face any problem.