Thanks to visit codestin.com
Credit goes to lib.rs

#rtos #cortex-m #iot

no-std bern-kernel

Preemptive real-time kernel for microcontrollers

8 releases

0.3.1 Sep 14, 2025
0.3.0 Aug 7, 2022
0.2.5 Jun 26, 2021

#484 in Embedded development

Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

355 downloads per month

MIT license

235KB
6K SLoC

bern-kernel

crates.io docs.rs book

Bern RTOS preemptive real-time kernel for microcontrollers written in Rust.

Documentation

The API Documentation is not up to date, please prefer the Bern RTOS Kernel Book for now.

Semantic Versioning

This project follows Semantic Versioning 2.0.0.

Currently the version is below 1.0.0 meaning that everything is very much unstable and the API could change completely.

Cargo Features

  • time-slicing (default): A task runs at max for one system tick period if there are other tasks of equal priority
  • log-defmt: Activate system log messages using defmt. The user must select a log transport in the application, e.g. defmt-rtt.
  • log-rtt: Activate system log messages with core formatting and RTT transport.
  • log-global: Activate system log messages using the log facade. The use must provide a global logger.
  • trace: Activate system tracing. The user must provide a global tracer, e.g. systemview-target.

License

Supported Architectures

Core Name Architecture Rust Target
ARM Cortex-M3 w/MPU Armv7-M thumbv7m-none-eabi
ARM Cortex-M4 w/MPU Armv7E-M thumbv7em-none-eabi
ARM Cortex-M7 w/MPU Armv7E-M thumbv7em-none-eabi

Quickstart

cargo generate --git https://gitlab.com/bern-rtos/templates/cortex-m.git

Dependencies

~3.5–5.5MB
~103K SLoC