pub struct AHB_DMA { /* private fields */ }Expand description
AHB_DMA Peripheral
Implementations§
Source§impl AHB_DMA
impl AHB_DMA
Sourcepub const PTR: *const RegisterBlock = {0x50085000 as *const ahb_dma::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x50085000 as *const ahb_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 in_int_ch(&self, n: usize) -> &IN_INT_CH
pub fn in_int_ch(&self, n: usize) -> &IN_INT_CH
0x00..0x30 - Cluster IN_INT_CH%s, containing IN_INT_RAW_CH?, IN_INT_ST_CH?, IN_INT_ENA_CH?, IN_INT_CLR_CH?
Sourcepub fn in_int_ch_iter(&self) -> impl Iterator<Item = &IN_INT_CH>
pub fn in_int_ch_iter(&self) -> impl Iterator<Item = &IN_INT_CH>
Iterator for array of: 0x00..0x30 - Cluster IN_INT_CH%s, containing IN_INT_RAW_CH?, IN_INT_ST_CH?, IN_INT_ENA_CH?, IN_INT_CLR_CH?
Sourcepub fn out_int_ch(&self, n: usize) -> &OUT_INT_CH
pub fn out_int_ch(&self, n: usize) -> &OUT_INT_CH
0x30..0x60 - Cluster OUT_INT_CH%s, containing OUT_INT_RAW_CH?, OUT_INT_ST_CH?, OUT_INT_ENA_CH?, OUT_INT_CLR_CH?
Sourcepub fn out_int_ch_iter(&self) -> impl Iterator<Item = &OUT_INT_CH>
pub fn out_int_ch_iter(&self) -> impl Iterator<Item = &OUT_INT_CH>
Iterator for array of: 0x30..0x60 - Cluster OUT_INT_CH%s, containing OUT_INT_RAW_CH?, OUT_INT_ST_CH?, OUT_INT_ENA_CH?, OUT_INT_CLR_CH?
Sourcepub fn ch(&self, n: usize) -> &CH
pub fn ch(&self, n: usize) -> &CH
0x70..0x2b0 - Cluster CH%s, containing IN_CONF0_CH?, IN_CONF1_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_PRI_CH?, IN_PERI_SEL_CH?, OUT_CONF0_CH?, OUT_CONF1_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_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: 0x70..0x2b0 - Cluster CH%s, containing IN_CONF0_CH?, IN_CONF1_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_PRI_CH?, IN_PERI_SEL_CH?, OUT_CONF0_CH?, OUT_CONF1_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_PRI_CH?, OUT_PERI_SEL_CH?
Sourcepub fn out_crc_ch(&self, n: usize) -> &OUT_CRC_CH
pub fn out_crc_ch(&self, n: usize) -> &OUT_CRC_CH
0x2bc..0x334 - Cluster OUT_CRC_CH%s, containing OUT_CRC_INIT_DATA_CH?, TX_CRC_WIDTH_CH?, OUT_CRC_CLEAR_CH?, OUT_CRC_FINAL_RESULT_CH?, TX_CRC_EN_WR_DATA_CH?, TX_CRC_EN_ADDR_CH?, TX_CRC_DATA_EN_WR_DATA_CH?, TX_CRC_DATA_EN_ADDR_CH?, TX_CH_ARB_WEIGH_CH?, TX_ARB_WEIGH_OPT_DIR_CH?
Sourcepub fn out_crc_ch_iter(&self) -> impl Iterator<Item = &OUT_CRC_CH>
pub fn out_crc_ch_iter(&self) -> impl Iterator<Item = &OUT_CRC_CH>
Iterator for array of: 0x2bc..0x334 - Cluster OUT_CRC_CH%s, containing OUT_CRC_INIT_DATA_CH?, TX_CRC_WIDTH_CH?, OUT_CRC_CLEAR_CH?, OUT_CRC_FINAL_RESULT_CH?, TX_CRC_EN_WR_DATA_CH?, TX_CRC_EN_ADDR_CH?, TX_CRC_DATA_EN_WR_DATA_CH?, TX_CRC_DATA_EN_ADDR_CH?, TX_CH_ARB_WEIGH_CH?, TX_ARB_WEIGH_OPT_DIR_CH?
Sourcepub fn in_crc_ch(&self, n: usize) -> &IN_CRC_CH
pub fn in_crc_ch(&self, n: usize) -> &IN_CRC_CH
0x334..0x3ac - Cluster IN_CRC_CH%s, containing IN_CRC_INIT_DATA_CH?, RX_CRC_WIDTH_CH?, IN_CRC_CLEAR_CH?, IN_CRC_FINAL_RESULT_CH?, RX_CRC_EN_WR_DATA_CH?, RX_CRC_EN_ADDR_CH?, RX_CRC_DATA_EN_WR_DATA_CH?, RX_CRC_DATA_EN_ADDR_CH?, RX_CH_ARB_WEIGH_CH?, RX_ARB_WEIGH_OPT_DIR_CH?
Sourcepub fn in_crc_ch_iter(&self) -> impl Iterator<Item = &IN_CRC_CH>
pub fn in_crc_ch_iter(&self) -> impl Iterator<Item = &IN_CRC_CH>
Iterator for array of: 0x334..0x3ac - Cluster IN_CRC_CH%s, containing IN_CRC_INIT_DATA_CH?, RX_CRC_WIDTH_CH?, IN_CRC_CLEAR_CH?, IN_CRC_FINAL_RESULT_CH?, RX_CRC_EN_WR_DATA_CH?, RX_CRC_EN_ADDR_CH?, RX_CRC_DATA_EN_WR_DATA_CH?, RX_CRC_DATA_EN_ADDR_CH?, RX_CH_ARB_WEIGH_CH?, RX_ARB_WEIGH_OPT_DIR_CH?
Sourcepub fn in_link_addr_ch(&self, n: usize) -> &IN_LINK_ADDR_CH
pub fn in_link_addr_ch(&self, n: usize) -> &IN_LINK_ADDR_CH
0x3ac..0x3b8 - Link descriptor configure of Rx channel 0
Sourcepub fn in_link_addr_ch_iter(&self) -> impl Iterator<Item = &IN_LINK_ADDR_CH>
pub fn in_link_addr_ch_iter(&self) -> impl Iterator<Item = &IN_LINK_ADDR_CH>
Iterator for array of: 0x3ac..0x3b8 - Link descriptor configure of Rx channel 0
Sourcepub fn out_link_addr_ch(&self, n: usize) -> &OUT_LINK_ADDR_CH
pub fn out_link_addr_ch(&self, n: usize) -> &OUT_LINK_ADDR_CH
0x3b8..0x3c4 - Link descriptor configure of Tx channel 0
Sourcepub fn out_link_addr_ch_iter(&self) -> impl Iterator<Item = &OUT_LINK_ADDR_CH>
pub fn out_link_addr_ch_iter(&self) -> impl Iterator<Item = &OUT_LINK_ADDR_CH>
Iterator for array of: 0x3b8..0x3c4 - Link descriptor configure of Tx channel 0
Sourcepub fn intr_mem_start_addr(&self) -> &INTR_MEM_START_ADDR
pub fn intr_mem_start_addr(&self) -> &INTR_MEM_START_ADDR
0x3c4 - The start address of accessible address space.
Sourcepub fn intr_mem_end_addr(&self) -> &INTR_MEM_END_ADDR
pub fn intr_mem_end_addr(&self) -> &INTR_MEM_END_ADDR
0x3c8 - The end address of accessible address space. The access address beyond this range would lead to descriptor error.
Sourcepub fn arb_timeout_tx(&self) -> &ARB_TIMEOUT_TX
pub fn arb_timeout_tx(&self) -> &ARB_TIMEOUT_TX
0x3cc - This retister is used to config arbiter time slice for tx dir
Sourcepub fn arb_timeout_rx(&self) -> &ARB_TIMEOUT_RX
pub fn arb_timeout_rx(&self) -> &ARB_TIMEOUT_RX
0x3d0 - This retister is used to config arbiter time slice for rx dir
Sourcepub fn weight_en_tx(&self) -> &WEIGHT_EN_TX
pub fn weight_en_tx(&self) -> &WEIGHT_EN_TX
0x3d4 - This register is used to config arbiter weigh function to on or off for tx dir
Sourcepub fn weight_en_rx(&self) -> &WEIGHT_EN_RX
pub fn weight_en_rx(&self) -> &WEIGHT_EN_RX
0x3d8 - This register is used to config arbiter weigh function to on or off for rx dir