Page 1 of 1

Support for FreeRTOS-MPU functions in ESP32-S3

Posted: Mon Mar 04, 2024 4:25 pm
by marcelounisb
Hello,

I'm using ESP32-S3 for a project, and the FreeRTOS-MPU features would be of great use.
While trying to use the "xTaskCreateRestricted", however, it appears to be undefined. Looking into the task.c file, this function is indeed not compiled due to the macro portUSING_MPU_WRAPPERS. Does ESP32-S3 support these features? Some extra configuration is needed? If not, is there any other API developed to use the MPU?

Thanks in advance,
Marcelo.

Re: Support for FreeRTOS-MPU functions in ESP32-S3

Posted: Tue Mar 05, 2024 1:51 am
by ESP_Sprite
No, we do not support the MPU functionality of FreeRTOS. Some features of the MPU (e.g. no-executable data / non-writable code) are implemented by ESP-IDF itself, but there's no concept of privileged tasks. We have code for privilege separation, but this is still beta-quality and I'm not sure if it compiles for current ESP-IDF versions.

Re: Support for FreeRTOS-MPU functions in ESP32-S3

Posted: Mon Sep 23, 2024 7:52 pm
by ClockToshi
@ESP_Sprite

Do you know if there is currently a stable/non experimental/supported way on esp32-s3 to take advantage of the separation features?

For example, say I want to run a complicated parser isolated, at the moment all I could find was the esp privilege Separation framework which has not been updated for a couple of years.

Is the separated flash partition for the code a requirement for an separated task?

thank you

Re: Support for FreeRTOS-MPU functions in ESP32-S3

Posted: Tue Sep 24, 2024 2:42 am
by ESP_Sprite
ClockToshi wrote:
Mon Sep 23, 2024 7:52 pm
Do you know if there is currently a stable/non experimental/supported way on esp32-s3 to take advantage of the separation features?
Not to my knowledge.