Cargo Features

aarch32-cpu has no features set by default.

[dependencies]
aarch32-cpu = { version = "0.2.0", features = ["critical-section-single-core", "critical-section-multi-core", "defmt", "serde", "check-asm"] }
critical-section-single-core = critical-section

Adds a critical-section implementation that only disables interrupts.
This is not sound on multi-core systems because interrupts are per-core.

critical-section-multi-core = critical-section

Adds a critical-section implementation that disables interrupts and does a CAS spinlock.

defmt

Adds defmt::Format implementation for the register types

Enables defmt, defmt of arbitrary-int

serde

Enables serde and serde of arbitrary-int

arbitrary-int:

Supports serde

check-asm

Stops assembly routines being inlined, so they can be checked when this library is compiled (as opposed to when the function is used)

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

critical-section critical-section-multi-core? critical-section-single-core?