4 releases
Uses new Rust 2024
| 0.1.3 | Mar 24, 2026 |
|---|---|
| 0.1.2 | Jan 9, 2026 |
| 0.1.1 | Jun 30, 2025 |
| 0.1.0 | Mar 16, 2025 |
#2091 in Embedded development
85KB
2K
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-pagingfor page table management.aarch64-rtfor the entry point and exception handling.arm-sysregsfor accessing system registers.smcccfor PSCI and other standard SMC calls to EL3 firmware.
As well as some more general crates for embedded development:
buddy_system_allocatorfor heap allocation.dtoolkitfor device tree parsing.percorefor exception masking.
And some device driver crates:
arm-gicfor the Arm Generic Interrupt Controller.arm_pl031for the PL031 real-time clock.arm-pl011-uartfor the PL011 UART.uart_16550for the 16550 UART.virtio-driversfor various VirtIO devices.
This is not an officially supported Google product.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contributing
If you want to contribute to the project, see details of how we accept contributions.
Dependencies
~5.5MB
~96K SLoC