Skip to content

mcu-rust/FreeRTOS

Repository files navigation

FreeRTOS Workspace

Crates.io

This project is based on code from freertos.rs and FreeRTOS-rust and some additions to simplify the usage of FreeRTOS in embedded applications written in Rust.

Crate sub projects:

  • freertos The runtime dependency for you FreeRTOS Rust application.
  • freertos-build A tool to build the FreeRTOS-Kernel.

How it works

The freertos-build build-dependency compiles the FreeRTOS code from its original "C" sources files into an archive to be linked against your Rust app. Internally it uses the cc crate and some meta info provided by your apps build.rs: A path to the app specific FreeRTOSConfig.h. You can copy one from examples.

The freertos dependency provides an interface to access all FreeRTOS functionality from your (embedded) Rust app.

Usage

See freertos README

Examples

stm32f1-FreeRTOS-example is a more complete example for STM32F1.

And there are some simple examples in freertos-rust-examples for:

  • Cortex M33 (nRF9160)
  • Cortex M3 (STM32F103C8)
  • Cortex M4 (STM32F411CE)
  • Windows
  • Linux

License

This repository is using the MIT License. Some parts might state different licenses that need to be respected when used.

🔖 Keywords

freertos · rtos · rust · embedded · embedded-hal · no-std · scheduler · multitasking · bindings · wrapper

About

Rust crate for FreeRTOS

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •