Skip to content

FreeRTOS rewritten in Rust for the PIC32MX target, and eventually for x86, ARM, and MSP430 as well.

License

Notifications You must be signed in to change notification settings

alexchandel/rust-rtos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RustRTOS

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!

Developer Quick Start

  1. Install Rust
  2. Download the FreeRTOS sources.
  3. Start reimplementing FreeRTOS in Rust!

Notes

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.

Progress

list.c

  • In Progress

tasks.c

  • In Progress

queue.c

  • Started

timers.c

  • Not Started

croutine.c

  • Not Started

event_groups.c

  • Not Started

FreeRTOS.h / StackMacros.h

  • Not Started

port.c / portmacro.h

  • Not Started

heap_1.c / heap_2.c / heap_4.c

  • Not Started

port ISR/ASM

  • Unnecessary, in assembly

License

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.

About

FreeRTOS rewritten in Rust for the PIC32MX target, and eventually for x86, ARM, and MSP430 as well.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages