Zephyr

CHERI-enabled Zephyr brings capability protection to a widely used embedded operating-system ecosystem while platform and feature coverage continue to expand.

Embedded teams often have an established Zephyr codebase, driver model, build system, and board ecosystem. Moving to CHERI should not require them to discard that investment if Zephyr is a hard product requirement.

The CHERI Zephyr work adapts the real-time operating system (RTOS) to use CHERI memory protection and support CHERI-enabled processors.

Why the operating system needs changes

Zephyr normally targets resource-constrained systems and supports several protection configurations. CHERI introduces protected capability state that must be handled across:

If any path treats a capability as ordinary integer data, it may lose tags, bounds, or permissions.

Current project structure

CHERI Zephyr development takes place in a CHERI Alliance repository and is coordinated through the CHERI Zephyr Working Group. The repository carries the active source and contribution history, while the working group brings together operating-system, toolchain, hardware, and product contributors.

Support is an active port rather than a feature present in every mainline Zephyr release and board. Check the repository for the current base version, architecture targets, board configurations, samples, test results, and release tags.

What to verify before use

Confirm:

A successful sample on one board does not establish support for the complete Zephyr hardware catalogue.

Zephyr and CHERIoT are different choices

Both address embedded systems, but they begin from different software models.

This is not a maturity ranking. The right choice follows the product’s APIs, devices, safety requirements, compartment design, and supplier path.

A sensible evaluation

  1. Build the repository’s documented sample on its reference simulator or board.
  2. Confirm capability state in a debugger or fault report.
  3. Port one small driver or application component.
  4. Test stack bounds, object access, threads, and interrupts.
  5. Deliberately attempt one denied access in a development build.
  6. Measure memory use, latency, and image size.
  7. Compare the required security property with CHERIoT or another RTOS route.

Contributing and sources

Use the CHERI repository’s issue tracker for target-specific bugs and include the exact board, configuration, compiler, commit, and capability-fault output.

Where next

A comparison of real-time operating system work relevant to CHERI.

Real-Time Operating Systems →