#arm-cortex-a #aarch64 #osdev #arm #cortex-a

no-std app osdemo

An example of combining various libraries for aarch64 OS development

1 unstable release

0.1.0 Mar 16, 2025

#123 in Embedded development

Download history 111/week @ 2025-03-12

111 downloads per month

MIT/Apache

67KB
1.5K SLoC

aarch64 Rust OS demo

An example of combining various libraries for aarch64 OS development in Rust.

This crate demonstrates how to use a number of aarch64-specific crates:

  • aarch64-paging for page table management.
  • aarch64-rt for the entry point and exception handling.
  • smccc for PSCI and other standard SMC calls to EL3 firmware.

As well as some more general crates for embedded development:

  • buddy_system_allocator for heap allocation.
  • percore for exception masking.

And some device driver crates:

  • arm-gic for the Arm Generic Interrupt Controller.
  • arm_pl031 for the PL031 real-time clock.
  • arm-pl011-uart for the PL011 UART.
  • virtio-drivers for various VirtIO devices.

This is not an officially supported Google product.

License

Licensed under either of

at your option.

Contributing

If you want to contribute to the project, see details of how we accept contributions.

Dependencies

~4MB
~69K SLoC