Skip to content

Flo1991/FabriOs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FabriOs

THE PROJECT IS WORK IN PROGRESS.

Simple Rust Os using rust core features only. It uses no unstable features and no external crates for minimum external dependencies and maximum stability. In fact this project is not a "ready to use" Os - instead you can find all the necessary functionality to build / adapt to a custom Rust Os on this code.

This project needs Rust 1.88.0 or higher, because the "naked" attribute and "naked_asm!" macro are needed for this project.

So it mainly provides
(1) very simple cooperative scheduler using timeslots with a function pointer array (--> tasks)
(2) simple and easy to understand scheduler for processes that take to long for a single task slot (--> very basic context switch, adapt the inline assembler to match your target mcu)
(3) simple software timer implementation for slow tasks to do

The implementation completely interrupt free. This maximizes determinism and makes it easy to adapt to different other mcu target plattforms.

About

Simple Rust Os using rust core features only

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors