Skip to content

arch_armv6m::mpu

ARMv6-M PMSAv6 encoding. RP2040 implements eight regions, minimum 256 bytes (RP2040 datasheet §2.4.6), not the 32-byte minimum of ARMv7-M. MMIO is deliberately unsafe: only the privileged scheduler may replace a domain, with local interrupts masked and no concurrent user execution.

fn encode(region: hal::isolation::Region) -> (u32, u32)

(RBAR, RASR), with normal shareable non-cacheable memory (TEX=1, S=1). Disabled slots are completely cleared, never inherited from another task.

References: Region

fn image(memory: Option<hal::isolation::TaskMemory>) -> [(u32, u32); 8]

References: TaskMemory

const REGIONS: usize;