pub struct SPINLOCK { /* private fields */ }Expand description
Spinlock
Implementations§
Source§impl SPINLOCK
impl SPINLOCK
Sourcepub const PTR: *const RegisterBlock = {0x3005000 as *const spinlock::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x3005000 as *const spinlock::RegisterBlock}
Pointer to the register block
Sourcepub const fn ptr() -> *const RegisterBlock
pub const fn ptr() -> *const RegisterBlock
Return the pointer to the register block
Sourcepub unsafe fn steal() -> Self
pub unsafe fn steal() -> Self
Steal an instance of this peripheral
§Safety
Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.
Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.
Methods from Deref<Target = RegisterBlock>§
Sourcepub fn spinlock_systatus(&self) -> &SPINLOCK_SYSTATUS
pub fn spinlock_systatus(&self) -> &SPINLOCK_SYSTATUS
0x00 - Spinlock System Status Register
Sourcepub fn spinlock_status(&self) -> &SPINLOCK_STATUS
pub fn spinlock_status(&self) -> &SPINLOCK_STATUS
0x10 - Spinlock Status Register
Sourcepub fn spinlock_irq_en(&self) -> &SPINLOCK_IRQ_EN
pub fn spinlock_irq_en(&self) -> &SPINLOCK_IRQ_EN
0x20 - Spinlock Interrupt Enable Register
Sourcepub fn spinlock_irq_sta(&self) -> &SPINLOCK_IRQ_STA
pub fn spinlock_irq_sta(&self) -> &SPINLOCK_IRQ_STA
0x40 - Spinlock Interrupt Status Register
Sourcepub fn spinlock_lockid(&self, n: usize) -> &SPINLOCK_LOCKID
pub fn spinlock_lockid(&self, n: usize) -> &SPINLOCK_LOCKID
0x80..0x94 - Spinlock Lockid Register
Sourcepub fn spinlock_lock(&self, n: usize) -> &SPINLOCK_LOCK
pub fn spinlock_lock(&self, n: usize) -> &SPINLOCK_LOCK
0x100..0x180 - Spinlock Register