[][src]Struct cortex_mpu::cortex_m0p::Mpu

pub struct Mpu(_);

Wrapper around the Cortex-M0+ Memory Protection Unit (MPU).

Methods

impl Mpu[src]

pub const MIN_REGION_SIZE: Size[src]

The smallest supported region size.

pub const REGION_COUNT: u8[src]

Number of supported memory regions.

pub unsafe fn new(raw: MPU) -> Self[src]

Creates a new MPU wrapper, taking ownership of the MPU peripheral.

Safety

This function is safe to call if the processor is a Cortex-M0+ and has an MPU.

pub fn into_inner(self) -> MPU[src]

Consumes self and returns the raw MPU peripheral.

pub fn configure_unprivileged(&mut self, regions: &ArrayVec<[Region; 8]>)[src]

Configures the MPU to restrict access to software running in unprivileged mode.

Any violation of the MPU settings will cause a HardFault exception. The Cortex-M0+ does not have a dedicated memory management exception.

Unprivileged code will only be allowed to access memory inside one of the given regions.

Code running in privileged mode will not be restricted by the MPU, except that regions that have executable set to false will be marked as Never eXexcute (NX), which is enforced even for privileged code.

Auto Trait Implementations

impl Unpin for Mpu

impl Send for Mpu

impl !Sync for Mpu

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self