bern-kernel

Crates.iobern-kernel
lib.rsbern-kernel
version0.3.0
sourcesrc
created_at2021-06-17 10:55:40.396774
updated_at2022-08-07 19:15:28.273877
descriptionPreemptive real-time kernel for microcontrollers.
homepagehttps://bern-rtos.org
repositoryhttps://gitlab.com/bern-rtos/bern-rtos
max_upload_size
id411306
size200,128
(stefanluethi)

documentation

https://docs.rs/bern-kernel

README

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
Commit count: 211

cargo fmt