2 unstable releases

0.2.0 Jan 21, 2026
0.1.0 Oct 31, 2025

#2078 in Embedded development

Download history 10/week @ 2025-11-01 52/week @ 2025-11-22 5/week @ 2025-11-29 16/week @ 2026-01-10 23/week @ 2026-01-17 7/week @ 2026-01-31 31/week @ 2026-02-07 201/week @ 2026-02-14

239 downloads per month
Used in zynq7000-rt

MIT/Apache

455KB
11K SLoC

crates.io docs.rs

Run-time support for Arm AArch32 Processors

This library implements a simple Arm vector table, suitable for getting into a Rust application running in System Mode. It also provides a reference start up method. Some Arm AArch32 based systems will require chip specific start-up code, so the start-up method can be overridden. It should be suitable for:

  • Legacy Arm Processors, like the ARM7TDMI and ARM926
  • Armv7-R Processors, like the Arm Cortex-R5
  • Armv8-R AArch32 Processors, like the Arm Cortex-R52
  • Armv7-A Processors, like the Arm Cortex-A5
  • Armv8-A AArch32 Processors, like the Arm Cortex-A53 running in 32-bit mode

It does not support any M-Profile Processors (like the Arm Cortex-M3) as they have a fundamentally different interrupt vector table.

It also does not support processors running in AArch64 mode - A64 machine code uses different instructions for reading/writing system registers.

Minimum Supported Rust Version (MSRV)

This crate is guaranteed to compile on stable Rust 1.83.0 and up, as recorded by the package.rust-version property in Cargo.toml.

Increasing the MSRV is not considered a breaking change and may occur in a minor version release (e.g. from 0.3.0 to 0.3.1, because this is still a 0.x release).

Licence

  • Copyright (c) Ferrous Systems
  • Copyright (c) The Rust Embedded Devices Working Group developers

Licensed under either MIT or Apache-2.0 at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be licensed as above, without any additional terms or conditions.

Dependencies

~360–760KB
~15K SLoC