pub enum CortexM4F {}
Trait Implementations§
source§impl CortexMVariant for CortexM4F
impl CortexMVariant for CortexM4F
source§const GENERIC_ISR: unsafe extern "C" fn() = {cortexv7m::generic_isr_arm_v7m as unsafe extern "C" fn()}
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()}
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()}
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()}
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
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)
unsafe fn print_cortexm_state(writer: &mut dyn Write)
Format and display architecture-specific state useful for debugging. Read more
Auto Trait Implementations§
impl Freeze for CortexM4F
impl RefUnwindSafe for CortexM4F
impl Send for CortexM4F
impl Sync for CortexM4F
impl Unpin for CortexM4F
impl UnwindSafe for CortexM4F
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more