cortex-ar

Crates.iocortex-ar
lib.rscortex-ar
version0.2.0
created_at2025-02-25 14:25:51.870141+00
updated_at2025-05-27 10:53:44.666419+00
descriptionCPU support for AArch32 Arm Cortex-R and Arm Cortex-A
homepagehttps://github.com/rust-embedded/cortex-ar.git
repositoryhttps://github.com/rust-embedded/cortex-ar.git
max_upload_size
id1569191
size314,133
Arm (github:rust-embedded:arm)

documentation

README

Support for Arm Cortex-R (AArch32) and Arm Cortex-A (AArch32)

This crate provides access to CPU registers and common peripherals for:

  • 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 processors running in AArch64 mode - A64 machine code uses different instructions for reading/writing system registers.

This crate contains:

  • Raw register access to many Armv7-R and Armv8-R 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/google/arm-gic.

Minimum Supported Rust Version (MSRV)

This crate is guaranteed to compile on stable Rust 1.82.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