pub struct DMAC { /* private fields */ }Expand description
Direct Memory Access Controller
Implementations§
Source§impl DMAC
impl DMAC
Sourcepub const PTR: *const RegisterBlock = {0x3002000 as *const dmac::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x3002000 as *const dmac::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 dmac_irq_en0(&self) -> &DMAC_IRQ_EN0
pub fn dmac_irq_en0(&self) -> &DMAC_IRQ_EN0
0x00 - DMAC IRQ Enable Register 0
Sourcepub fn dmac_irq_en1(&self) -> &DMAC_IRQ_EN1
pub fn dmac_irq_en1(&self) -> &DMAC_IRQ_EN1
0x04 - DMAC IRQ Enable Register 1
Sourcepub fn dmac_irq_pend0(&self) -> &DMAC_IRQ_PEND0
pub fn dmac_irq_pend0(&self) -> &DMAC_IRQ_PEND0
0x10 - DMAC IRQ Pending Register 0
Sourcepub fn dmac_irq_pend1(&self) -> &DMAC_IRQ_PEND1
pub fn dmac_irq_pend1(&self) -> &DMAC_IRQ_PEND1
0x14 - DMAC IRQ Pending Register 1
Sourcepub fn dmac_auto_gate(&self) -> &DMAC_AUTO_GATE
pub fn dmac_auto_gate(&self) -> &DMAC_AUTO_GATE
0x28 - DMAC Auto Gating Register
Sourcepub fn dmac_desc_addr(&self, n: usize) -> &DMAC_DESC_ADDR
pub fn dmac_desc_addr(&self, n: usize) -> &DMAC_DESC_ADDR
0x108..0x148 - DMAC Channel Start Address Register
Sourcepub fn dmac_cfg(&self, n: usize) -> &DMAC_CFG
pub fn dmac_cfg(&self, n: usize) -> &DMAC_CFG
0x10c..0x14c - DMAC Channel Configuration Register
Sourcepub fn dmac_cur_src(&self, n: usize) -> &DMAC_CUR_SRC
pub fn dmac_cur_src(&self, n: usize) -> &DMAC_CUR_SRC
0x110..0x150 - DMAC Channel Current Source Register
Sourcepub fn dmac_cur_dest(&self, n: usize) -> &DMAC_CUR_DEST
pub fn dmac_cur_dest(&self, n: usize) -> &DMAC_CUR_DEST
0x114..0x154 - DMAC Channel Current Destination Register
Sourcepub fn dmac_bcnt_left(&self, n: usize) -> &DMAC_BCNT_LEFT
pub fn dmac_bcnt_left(&self, n: usize) -> &DMAC_BCNT_LEFT
0x118..0x158 - DMAC Channel Byte Counter Left Register
Sourcepub fn dmac_fdesc_addr(&self, n: usize) -> &DMAC_FDESC_ADDR
pub fn dmac_fdesc_addr(&self, n: usize) -> &DMAC_FDESC_ADDR
0x12c..0x16c - DMAC Former Descriptor Address Register
Sourcepub fn dmac_pkg_num(&self, n: usize) -> &DMAC_PKG_NUM
pub fn dmac_pkg_num(&self, n: usize) -> &DMAC_PKG_NUM
0x130..0x170 - DMAC Package Number Register