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.
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.
See freertos README
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
This repository is using the MIT License. Some parts might state different licenses that need to be respected when used.
- The Linux port is licensed under GPLv2
freertos · rtos · rust · embedded · embedded-hal · no-std · scheduler · multitasking · bindings · wrapper