[−][src]Struct cortex_mpu::cortex_m0p::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
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Same<T> for T
type Output = T
Should always be Self