Skip to content

arch_armv6m

ARMv6-M primitives shared by Cortex-M0+ targets.

RP2040-specific clock, reset, boot2, and peripheral setup do not belong here. The one chip-specific mechanism is the critical-section backend: RP2040 needs its SIO spinlock because PRIMASK excludes only the local core.

  • mpu — ARMv6-M PMSAv6 encoding. RP2040 implements eight regions, minimum 256
  • smp —
  • tick —
struct Armv6mArch;

Implements: Architecture

struct TaskContext {
pub stack_pointer: u32,
}

Pointer to the software-plus-hardware frame on a task’s own stack.

Implements: TaskContext

unsafe fn fault_info(frame: *const u32, cause: u32, address: u32) -> hal::arch::FaultInfo

Convert a Cortex-M fault frame into the kernel’s neutral diagnostic form.

frame must point to the eight-word hardware exception frame supplied by the Cortex-M exception entry sequence and remain readable for this call.

References: FaultInfo