#rtos #cortex-m #iot #no-std

no-std bern-kernel

为微控制器设计的抢占式实时内核

7个版本

0.3.0 2022年8月7日
0.2.5 2021年6月26日

472嵌入式开发

每月32次下载

MIT 许可证

180KB
4.5K SLoC

bern-kernel

crates.io docs.rs book

Bern RTOS为微控制器编写的Rust抢占式实时内核。

文档

API文档可能不是最新的,请目前优先参考Bern RTOS内核手册

语义版本

本项目遵循语义版本2.0.0

目前版本低于1.0.0,意味着一切都非常不稳定,API可能会完全更改。

Cargo功能

  • time-slicing (默认):如果有其他同等优先级的任务,任务最多运行一个系统滴答周期
  • log-defmt:使用defmt激活系统日志消息。用户必须在应用程序中选择日志传输,例如 defmt-rtt
  • log-rtt:使用core格式化和RTT传输激活系统日志消息。
  • log-global:使用log界面激活系统日志消息。用户必须提供一个全局日志记录器。
  • trace:激活系统跟踪。用户必须提供一个全局跟踪器,例如 systemview-target

许可证

支持的架构

核心名称 架构 Rust目标
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

快速入门

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

依赖项

~4–6MB
~107K SLoC