#cortex-m #waker #bare-metal #executor #async

no-std tinywake

A minimal, no_std-compatible waker implementation for Cortex-M async executors

4 releases

Uses new Rust 2024

new 0.2.2 Mar 18, 2025
0.2.1 Mar 18, 2025
0.2.0 Mar 15, 2025
0.1.0 Mar 14, 2025

#6 in #waker

Download history 204/week @ 2025-03-13

204 downloads per month

MIT license

12KB
190 lines

TinyWake

A minimal, no_std-compatible waker implementation for Cortex-M async executors.

Features

  • No-std support: Designed for bare-metal systems without the Rust standard library.
  • Lightweight: Minimal overhead using heapless and portable-atomic.
  • Cortex-M Optimised: Designed to work efficiently with the cortex-m architecture.

Usage

Add this to your Cargo.toml:

[dependencies]
tinywake = "0.1.0"

Example

use tinywake::run_all;

async fn my_task() {
    // Your async code here
}

fn main() {
    let mut task1 = my_task();
    run_all([&mut task1]);
}

License

This project is licensed under the MIT License.

Dependencies

~2MB
~34K SLoC