aarch32-cpu

Crates.ioaarch32-cpu
lib.rsaarch32-cpu
version0.2.0
created_at2025-10-31 18:34:46.356644+00
updated_at2026-01-21 15:35:27.803431+00
descriptionCPU support for AArch32 Arm Processors
homepagehttps://github.com/rust-embedded/aarch32
repositoryhttps://github.com/rust-embedded/aarch32.git
max_upload_size
id1910533
size395,244
Arm (github:rust-embedded:arm)

documentation

README

crates.io docs.rs

Support for AArch32 Arm Processors

This crate provides access to CPU registers and common peripherals 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.

This crate contains:

  • Raw register access to many AArch32 system registers
  • A driver for the PMSAv7 Memory Protection Unit (MPU)
  • A driver for the PMSAv8-R Memory Protection Unit (MPU)
  • A driver for the Arm Generic Timer

If you need a driver for the Arm Generic Interrupt Controller, see https://github.com/ArmFirmwareCrates/arm-gic.

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.

Commit count: 0

cargo fmt