RustRTOS is FreeRTOSv8.0.1 rewritten in Rust for the PIC32MX target, and eventually for the x86, ARM, and MSP430 targets as well.
Any help is appreciated, so feel free to contribute!
RustRTOS aims to replace FreeRTOS with no loss of functionality. It doesn't use the Rust standard library (#![no_std]
), and there may be significant unsafe
code. See the Rust guide for Writing Safe Unsafe and Low-Level Code.
Current work is focused on translating the three minimum files, list.c
, tasks.c
, and queue.c
, and their headers into Rust. Then, the PIC32MX-specific (or x86 or ARM) files port.c
and heap_4.c
will be translated. Once a bare bones project can be built, other features of FreeRTOS, including timers and coroutines, will be reimplemented.
- In Progress
- In Progress
- Started
- Not Started
- Not Started
- Not Started
- Not Started
- Not Started
- Not Started
- Unnecessary, in assembly
RustRTOS is presently distributed under the full GPLv3. See LICENSE for details. If RustRTOS is ever production worthy, I may redistribute it under FreeRTOS's Modified GPL license.