Features Documentation Examples Repository Blog Contact

Supported Hardware

Updated: Jan 2026

CMRX real-time operating system is designed to run on microcontrollers. Microcontrollers are low-power devices having limited amount of resources such as RAM and Flash memory. Microcontrollers also usually don’t contain memory management unit and it is not possible to run Linux or similar operating system there.

Supported CPU families

CMRX supports following microcontroller families:

  • ARM Cortex-M0+
  • ARM Cortex-M3
  • ARM Cortex-M4 (both with and without FPU extension)
  • ARM Cortex-M7

All ARM cores of ARMv6-M and ARMv7-M are supported as long as they are equipped with ARM Cortex MPU peripheral.

Supported MCU families

This is a brief list of microcontrollers with known level of support. This list is by no means complete and the fact that device is not present in this list does not mean that the microcontroller is not supported.

Manufacturer Model Family CPU Core SDK / HAL Supported Notes
Linus Torvalds Linux any any Yes *6
Microchip PIC32CK Cortex-M33 MPLAB X Yes
Microchip PIC32CM GV00 Cortex-M0+ MPLAB X Yes
Microchip PIC32CM JHxx Cortex-M0+ MPLAB X Yes
Microchip PIC32CM LX Cortex-M23 MPLAB X Yes
Microchip PIC32CM MC Cortex-M0+ MPLAB X Yes
Microchip PIC32CX Cortex-M4 MPLAB X Yes
Microchip PIC32CZ Cortex-M7 MPLAB X Yes
Microchip SAM 4 Cortex-M4 MPLAB X Yes
Microchip SAM C Cortex-M0+ MPLAB X Yes
Microchip SAM D Cortex-M0+ MPLAB X Yes
Microchip SAM D5x Cortex-M4 MPLAB X Yes
Microchip SAM E5x Cortex-M4 MPLAB X Yes
Microchip SAM E7x Cortex-M7 MPLAB X Yes
Microchip SAM G Cortex-M4 MPLAB X Yes
Microchip SAM L21/L22 Cortex-M0+ MPLAB X Yes
Microchip SAM L10/L11 Cortex-M23 MPLAB X Yes
Microchip SAM S7x Cortex-M7 MPLAB X Yes
Microchip SAM V7x Cortex-M7 MPLAB X Yes
Nordic Semiconductor nRF51 Cortex-M0 nRF5 SDK No
Nordic Semiconductor nRF52 Cortex-M4 nRF5 SDK Yes
Nordic Semiconductor nRF53 Cortex-M33 nRF-Connect SDK No *4
Nordic Semiconductor nRF54 Cortex-M33 nRF-Connect SDK Yes *5
Nordic Semiconductor nRF91 Cortex-M33 nRF-Connect SDK No *4
NXP Kinetis Cortex-M any No *3
ST Microelectronics STM32C0 Cortex-M0+ CubeMX Yes
ST Microelectronics STM32F0 Cortex-M0 CubeMX No
ST Microelectronics STM32F1 Cortex-M3 CubeMX Yes
ST Microelectronics STM32F2 Cortex-M3 CubeMX Yes
ST Microelectronics STM32F3 Cortex-M4 CubeMX Yes
ST Microelectronics STM32F4 Cortex-M4 CubeMX Yes
ST Microelectronics STM32F7 Cortex-M7 CubeMX Yes
ST Microelectronics STM32G0 Cortex-M0+ CubeMX Yes
ST Microelectronics STM32G4 Cortex-M4 CubeMX Yes
ST Microelectronics STM32H5 Cortex-M33 CubeMX Yes
ST Microelectronics STM32H7 Cortex-M7 CubeMX Yes
ST Microelectronics STM32L0 Cortex-M0+ CubeMX Yes
ST Microelectronics STM32L4 Cortex-M4 CubeMX Yes
ST Microelectronics STM32L4+ Cortex-M4 CubeMX Yes
ST Microelectronics STM32L5 Cortex-M33 CubeMX Yes
ST Microelectronics STM32N6 Cortex-M55 CubeMX Not yet *1
ST Microelectronics STM32U0 Cortex-M0+ CubeMX Yes
ST Microelectronics STM32U3 Cortex-M33 CubeMX Yes
ST Microelectronics STM32U5 Cortex-M33 CubeMX Yes
Raspberry Pi RP2040 Cortex-M0+ Pico-SDK Almost *2
Raspberry Pi RP235x Cortex-M33 Pico-SDK Yes ARM mode only
  1. Basic ARMv8-M architecture support is present. All Cortex-M23, Cortex-M33 and potentially Cortex-M55 MCUs are now supported. Entries marked previously as Not Yet in table above were changed to Yes.
  2. While the CPU itself is supported the way how Pico-SDK is organized and calls routines in BootROM makes the use of CMRX on this CPU complicated.
  3. Microcontrollers made by NXP are equipped with NXP-specific MPU which is not compatible with ARM Cortex-M MPU.
  4. nRF Connect SDK is essentially a distribution of Zephyr RTOS with Nordic Semiconductor drivers bundled. To our best knowledge this SDK does not contain necessary CMSIS headers and thus is not directly usable with CMRX.
  5. See also note 4 above. In August 2025 Nordic Semiconductor released Bare Metal version of the nRF Connect SDK for nRF54 devices which makes use of CMRX on these microcontrollers possible.
  6. The CMRX hosted environment runs on Linux. It was tested on x86_64 platform. As of now, this environment lacks support for memory isolation.

Additionally CMRX can be run on any auxiliary CPU core in SoCs which is Cortex-M0+ or better and supports ARM Cortex-M MPU.

64kB of protected memory ought to be enough for everyone.