Skip to content

FreeRTOS MPU: Remove MPU region number check#1261

Merged
aggarg merged 2 commits intoFreeRTOS:mainfrom
ErickReyesR:main
Mar 19, 2025
Merged

FreeRTOS MPU: Remove MPU region number check#1261
aggarg merged 2 commits intoFreeRTOS:mainfrom
ErickReyesR:main

Conversation

@ErickReyesR
Copy link
Copy Markdown
Contributor

@ErickReyesR ErickReyesR commented Mar 19, 2025

Description

This change removes the assertion and runtime check that enforces matching between configTOTAL_MPU_REGIONS and physical MPU regions,. This allows applications running on devices with 16 MPU regions to manage 8 MPU regions while leaving the remaining 8 for the kernel.

Test Steps

Local test running an app that controls the second half of the MPU regions on a CM55 core.

Checklist:

  • I have tested my changes. No regression in existing tests.
  • I have modified and/or added unit-tests to cover the code changes in this Pull Request.

Related Issue

#1259

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Remove the assertion that forces the application to match
configTOTAL_MPU_REGIONS with the number of regions present in the
hardware.

This allows applications running on devices with 16 MPU regions to
control the second half, while the kernel retains control of the first.

Signed-off-by: Erick Reyes <erickreyes@google.com>
@ErickReyesR ErickReyesR requested a review from a team as a code owner March 19, 2025 07:15
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
@aggarg aggarg changed the title FreeRTOS MPU: allow user control on CM55 devices with 16 MPU regions FreeRTOS MPU: Remove MPU region number check Mar 19, 2025
@sonarqubecloud
Copy link
Copy Markdown

@aggarg aggarg merged commit b9aa064 into FreeRTOS:main Mar 19, 2025
17 checks passed
moninom1 pushed a commit to moninom1/FreeRTOS-Kernel that referenced this pull request Sep 30, 2025
SoftConsole failed to execute MI command to load the RTOSDebug.elf built in this project. Since the debugger couldn't find  address `0xe000ed00` defined in ARM processor. 

We need to set `$target_riscv` to 1 so that the gdb can be initialized correctly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants