8 releases
| 0.3.1 | Sep 14, 2025 |
|---|---|
| 0.3.0 | Aug 7, 2022 |
| 0.2.5 | Jun 26, 2021 |
#484 in Embedded development
355 downloads per month
235KB
6K
SLoC
bern-kernel
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 prioritylog-defmt: Activate system log messages usingdefmt. The user must select a log transport in the application, e.g.defmt-rtt.log-rtt: Activate system log messages withcoreformatting and RTT transport.log-global: Activate system log messages using thelogfacade. 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