Enum cortexm4f::CortexM4F

source ·
pub enum CortexM4F {}

Trait Implementations§

source§

impl CortexMVariant for CortexM4F

source§

const GENERIC_ISR: unsafe extern "C" fn() = {cortexv7m::generic_isr_arm_v7m as unsafe extern "C" fn()}

All ISRs not caught by a more specific handler are caught by this handler. This must ensure the interrupt is disabled (per Tock’s interrupt model) and then as quickly as possible resume the main thread (i.e. leave the interrupt context). The interrupt will be marked as pending and handled when the scheduler checks if there are any pending interrupts. Read more
source§

const SYSTICK_HANDLER: unsafe extern "C" fn() = {cortexv7m::systick_handler_arm_v7m as unsafe extern "C" fn()}

The systick_handler is called when the systick interrupt occurs, signaling that an application executed for longer than its timeslice. This interrupt handler is no longer responsible for signaling to the kernel thread that an interrupt has occurred, but is slightly more efficient than the generic_isr handler on account of not needing to mark the interrupt as pending.
source§

const SVC_HANDLER: unsafe extern "C" fn() = {cortexv7m::svc_handler_arm_v7m as unsafe extern "C" fn()}

This is called after a svc instruction, both when switching to userspace and when userspace makes a system call.
source§

const HARD_FAULT_HANDLER: unsafe extern "C" fn() = {cortexv7m::hard_fault_handler_arm_v7m as unsafe extern "C" fn()}

Hard fault handler.
source§

unsafe fn switch_to_user( _user_stack: *const usize, _process_regs: &mut [usize; 8], ) -> *const usize

Assembly function called from UserspaceKernelBoundary to switch to an an application. This handles storing and restoring application state before and after the switch.
source§

unsafe fn print_cortexm_state(writer: &mut dyn Write)

Format and display architecture-specific state useful for debugging. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.