#free-rtos #rtos #rtx #linker

sys no-std freertos-sys

Builds FreeRTOS from source for specific device families and provides easy linking

3 releases

0.1.3 Jun 7, 2020
0.1.2 Jun 7, 2020
0.1.1 Jun 6, 2020

#889 in Embedded development


38K SLoC

C 38K SLoC // 0.3% comments Rust 37 SLoC // 0.1% comments


Add this crate to your rust applications Cargo.toml to ensure that the FreeRTOS library is included in your build.

This crate builds a static freertos library from source, and provide it as a dependency crate for hybrid rust apps. Currently this uses make and ARM gcc cross-compilation. It does not use, for example, the cc crate.
This means that you will need to have arm cross-compilation tools installed on your system, such as arm-none-eabi-gcc

This crate exports the CMSIS RTOS2 API to make operating FreeRTOS tasks using rust as simple as possible.


In your Cargo.toml select a device family by using a feature:

freertos-sys = {version="0.1.1", features=["stm32f4x"] }

Example application tested on stm32f401CxUx: rolkien


BSD-3-Clause: See LICENSE file.


Currently the library build is tuned for the options we've found most useful. If you'd like to see a library configuration option exposed in eg a crate feature, please open a pull request or issue.

  • Supports stm32f3, f4, f7, h7
  • Supports release library build
  • Supports debug library build
  • Example application
  • CI build and test