Skip to content

Support for ARM MPU.#85

Open
dmitrykos wants to merge 3 commits into
mainfrom
port
Open

Support for ARM MPU.#85
dmitrykos wants to merge 3 commits into
mainfrom
port

Conversation

@dmitrykos

@dmitrykos dmitrykos commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

PR adds a compete support for the Memory Protection Unit (MPU) on ARMv7-M/ARMv8-M platforms:

  • Global + per-task MPU regions
  • Examples for ARMv7-M and ARMv8-M (ARMv8-M does not support regions overlapping with different security attributes, so example demonstrates it)

There are API breaking changes for hw::CriticalSection which now requires an instance.

Work in progress!

Support for running isolated Non-Secure tasks with kernel residing in protected memory region.
Add ARM Cortex-M4 MPU example - blinky-mpu-stm32f407g-disc1.
Add Raspberri RP2350 MPU example - blinky_mpu_armv8.
@dmitrykos dmitrykos self-assigned this Jul 22, 2026
@dmitrykos dmitrykos added the enhancement New feature or request label Jul 22, 2026
@dmitrykos
dmitrykos force-pushed the port branch 2 times, most recently from b7302a8 to dd41aa1 Compare July 23, 2026 19:32
@SuperTinyKernel-RTOS SuperTinyKernel-RTOS deleted a comment from github-actions Bot Jul 23, 2026
@github-actions

Copy link
Copy Markdown

LCOV of commit dd41aa1 during Code Coverage - Generic #602

Summary coverage rate:
  lines......: 100.0% (1337 of 1337 lines)
  functions..: 43.4% (1605 of 3694 functions)
  branches...: no data found

Files changed coverage rate: n/a

@github-actions

github-actions Bot commented Jul 23, 2026

Copy link
Copy Markdown

MemBrowse Memory Report

stm32f0-sleep

  • FLASH: .isr_vector +48 B, .text +132 B (+0.9%, 19,980 B / 65,536 B, total: 30% used)
  • RAM: .bss +16 B (+0.4%, 4,200 B / 8,192 B, total: 51% used)

stm32f1-sleep

  • FLASH: .isr_vector +28 B, .text +80 B (+0.6%, 19,041 B / 131,072 B, total: 15% used)
  • RAM: .bss +16 B (+0.4%, 4,200 B / 20,480 B, total: 21% used)

stm32f4-sleep

  • FLASH: .isr_vector +32 B, .text +92 B (+0.6%, 19,885 B / 1,048,576 B, total: 2% used)
  • RAM: .bss +16 B (+0.4%, 4,204 B / 131,072 B, total: 3% used)

@github-actions

Copy link
Copy Markdown

LCOV of commit f4395f7 during Code Coverage - Generic #603

Summary coverage rate:
  lines......: 100.0% (1337 of 1337 lines)
  functions..: 43.4% (1605 of 3694 functions)
  branches...: no data found

Files changed coverage rate: n/a

@github-actions

Copy link
Copy Markdown

LCOV of commit 53ac225 during Code Coverage - Generic #604

Summary coverage rate:
  lines......: 100.0% (1337 of 1337 lines)
  functions..: 43.4% (1605 of 3694 functions)
  branches...: no data found

Files changed coverage rate: n/a

…ses.

Remove NSC_stk_ISyncObject_WakeOne, NSC_stk_ISyncObject_WakeAll in favor of new IKernelService::Wake API.
Introduce STK_USE_MEMMANAGE_HANDLER, STK_USE_HARDFAULT_HANDLER to toggle MemFault and HardFault handling inside STK's driver.
@github-actions

Copy link
Copy Markdown

LCOV of commit ea18c1d during Code Coverage - Generic #605

Summary coverage rate:
  lines......: 100.0% (1337 of 1337 lines)
  functions..: 43.4% (1605 of 3694 functions)
  branches...: no data found

Files changed coverage rate: n/a

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant