Crates.io | lilos |
lib.rs | lilos |
version | 1.3.0 |
source | src |
created_at | 2021-04-29 01:33:05.589514 |
updated_at | 2024-09-19 16:32:47.236104 |
description | A tiny embedded OS based around Futures and async. |
homepage | |
repository | https://github.com/cbiffle/lilos |
max_upload_size | |
id | 390844 |
size | 163,014 |
lilos
This is a wee operating system written to support the async
style of
programming in Rust on microcontrollers. It fits in about 2 kiB of Flash and
uses about 40 bytes of RAM (before your tasks are added). In that space, you get
a full async
runtime with multiple tasks, support for complex concurrency via
join
and select
, and a lot of convenient but simple APIs. (If you want to
see what a lilos
program looks like, look in the examples
directory, or read
the intro guide.)
lilos
has been deployed in real embedded systems since 2019, running
continuously. I've built about a dozen systems around it of varying complexity,
on half a dozen varieties of microcontroller. It works pretty okay! Perhaps you
will find it useful too.
See the repository for example code and getting started instructions, or the
Rustdoc on the top level lilos
module for API details and descriptions of
modules.