Skip to content

ccbrown/aarch64-std

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aarch64-std Build docs crates.io

aarch64-std implements components from the Rust standard library in a way suitable for no_std or bare metal ARM applications.

Design Goals

In order:

  1. Run on any aarch64 platform at EL0. Anything from microcontrollers to Zynq UltraScale+ MPSoCs to M1 Macs should just work.
  2. Mimic the standard library APIs as closely as possible. For the most part these modules are drop-in replacements for the standard library.
  3. Perform as efficiently as possible.

Highlights

  • sync
    • Mutex
  • thread
    • sleep
    • spawn
      • Uses cooperative green threads.
      • As many cores as you'd like can participate using thread::contribute.
      • Threads yield via the standard thread::yield_now function.
  • time
    • Instant

Cargo Features

  • "alloc" enables functionality which requires the use of the alloc crate. It's enabled by default, but may be disabled if you don't have an allocator available.

About

implementations of standard library components for bare-metal aarch64

Resources

License

Stars

Watchers

Forks

Languages