#aarch64 #bare-metal #no-std

no-std aarch64-std

为裸金属aarch64实现标准库组件

3个版本

0.1.2 2022年12月11日
0.1.1 2022年12月11日
0.1.0 2022年12月11日

#983 in 嵌入式开发

MIT 许可证

43KB
658

aarch64-std

aarch64-std以适合no_std或裸金属ARM应用的方式实现了Rust标准库的组件。

设计目标

为了

  1. 在任何aarch64平台上运行,在EL0级别。从微控制器到Zynq UltraScale+ MPSoC再到M1 Mac,都应该正常工作。
  2. 尽可能模仿标准库API。大多数模块可以直接替换标准库。
  3. 尽可能高效地运行。

亮点

  • sync
    • 互斥锁
  • 线程
    • 睡眠
    • 创建线程
      • 使用协作式绿色线程。
      • 可以通过thread::contribute使用尽可能多的核心。
      • 线程通过标准thread::yield_now函数进行让步。
  • 时间
    • Instant

Cargo功能

  • "alloc"启用需要使用alloc crate的功能。默认启用,但如果您没有分配器,则可能被禁用。

依赖关系

~390KB