pub struct DMA { /* private fields */ }
Expand description
DMA (Direct Memory Access) Controller
Implementations§
Source§impl DMA
impl DMA
Sourcepub const PTR: *const RegisterBlock = {0x6003f000 as *const dma::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x6003f000 as *const dma::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 ch(&self, n: usize) -> &CH
pub fn ch(&self, n: usize) -> &CH
0x00..0x3c0 - Cluster CH%s, containing IN_CONF0_CH?, IN_CONF1_CH?, IN_INT_RAW_CH?, IN_INT_ST_CH?, IN_INT_ENA_CH?, IN_INT_CLR_CH?, INFIFO_STATUS_CH?, IN_POP_CH?, IN_LINK_CH?, IN_STATE_CH?, IN_SUC_EOF_DES_ADDR_CH?, IN_ERR_EOF_DES_ADDR_CH?, IN_DSCR_CH?, IN_DSCR_BF0_CH?, IN_DSCR_BF1_CH?, IN_WIGHT_CH?, IN_PRI_CH?, IN_PERI_SEL_CH?, OUT_CONF0_CH?, OUT_CONF1_CH?, OUT_INT_RAW_CH?, OUT_INT_ST_CH?, OUT_INT_ENA_CH?, OUT_INT_CLR_CH?, OUTFIFO_STATUS_CH?, OUT_PUSH_CH?, OUT_LINK_CH?, OUT_STATE_CH?, OUT_EOF_DES_ADDR_CH?, OUT_EOF_BFR_DES_ADDR_CH?, OUT_DSCR_CH?, OUT_DSCR_BF0_CH?, OUT_DSCR_BF1_CH?, OUT_WIGHT_CH?, OUT_PRI_CH?, OUT_PERI_SEL_CH?
Sourcepub fn ch_iter(&self) -> impl Iterator<Item = &CH>
pub fn ch_iter(&self) -> impl Iterator<Item = &CH>
Iterator for array of: 0x00..0x3c0 - Cluster CH%s, containing IN_CONF0_CH?, IN_CONF1_CH?, IN_INT_RAW_CH?, IN_INT_ST_CH?, IN_INT_ENA_CH?, IN_INT_CLR_CH?, INFIFO_STATUS_CH?, IN_POP_CH?, IN_LINK_CH?, IN_STATE_CH?, IN_SUC_EOF_DES_ADDR_CH?, IN_ERR_EOF_DES_ADDR_CH?, IN_DSCR_CH?, IN_DSCR_BF0_CH?, IN_DSCR_BF1_CH?, IN_WIGHT_CH?, IN_PRI_CH?, IN_PERI_SEL_CH?, OUT_CONF0_CH?, OUT_CONF1_CH?, OUT_INT_RAW_CH?, OUT_INT_ST_CH?, OUT_INT_ENA_CH?, OUT_INT_CLR_CH?, OUTFIFO_STATUS_CH?, OUT_PUSH_CH?, OUT_LINK_CH?, OUT_STATE_CH?, OUT_EOF_DES_ADDR_CH?, OUT_EOF_BFR_DES_ADDR_CH?, OUT_DSCR_CH?, OUT_DSCR_BF0_CH?, OUT_DSCR_BF1_CH?, OUT_WIGHT_CH?, OUT_PRI_CH?, OUT_PERI_SEL_CH?
Sourcepub fn in_sram_size_ch(&self, n: usize) -> &IN_SRAM_SIZE_CH
pub fn in_sram_size_ch(&self, n: usize) -> &IN_SRAM_SIZE_CH
0x3cc..0x3e0 - Receive L2 FIFO depth of Rx channel 0
Sourcepub fn in_sram_size_ch_iter(&self) -> impl Iterator<Item = &IN_SRAM_SIZE_CH>
pub fn in_sram_size_ch_iter(&self) -> impl Iterator<Item = &IN_SRAM_SIZE_CH>
Iterator for array of: 0x3cc..0x3e0 - Receive L2 FIFO depth of Rx channel 0
Sourcepub fn out_sram_size_ch(&self, n: usize) -> &OUT_SRAM_SIZE_CH
pub fn out_sram_size_ch(&self, n: usize) -> &OUT_SRAM_SIZE_CH
0x3d0..0x3e4 - Transmit L2 FIFO depth of Tx channel 0
Sourcepub fn out_sram_size_ch_iter(&self) -> impl Iterator<Item = &OUT_SRAM_SIZE_CH>
pub fn out_sram_size_ch_iter(&self) -> impl Iterator<Item = &OUT_SRAM_SIZE_CH>
Iterator for array of: 0x3d0..0x3e4 - Transmit L2 FIFO depth of Tx channel 0
Sourcepub fn extmem_reject_addr(&self) -> &EXTMEM_REJECT_ADDR
pub fn extmem_reject_addr(&self) -> &EXTMEM_REJECT_ADDR
0x3f4 - Reject address accessing external RAM
Sourcepub fn extmem_reject_st(&self) -> &EXTMEM_REJECT_ST
pub fn extmem_reject_st(&self) -> &EXTMEM_REJECT_ST
0x3f8 - Reject status accessing external RAM
Sourcepub fn extmem_reject_int_raw(&self) -> &EXTMEM_REJECT_INT_RAW
pub fn extmem_reject_int_raw(&self) -> &EXTMEM_REJECT_INT_RAW
0x3fc - Raw interrupt status of external RAM permission
Sourcepub fn extmem_reject_int_st(&self) -> &EXTMEM_REJECT_INT_ST
pub fn extmem_reject_int_st(&self) -> &EXTMEM_REJECT_INT_ST
0x400 - Masked interrupt status of external RAM permission
Sourcepub fn extmem_reject_int_ena(&self) -> &EXTMEM_REJECT_INT_ENA
pub fn extmem_reject_int_ena(&self) -> &EXTMEM_REJECT_INT_ENA
0x404 - Interrupt enable bits of external RAM permission
Sourcepub fn extmem_reject_int_clr(&self) -> &EXTMEM_REJECT_INT_CLR
pub fn extmem_reject_int_clr(&self) -> &EXTMEM_REJECT_INT_CLR
0x408 - Interrupt clear bits of external RAM permission