Struct DMA

Source
pub struct DMA { /* private fields */ }
Expand description

DMA (Direct Memory Access) Controller

Implementations§

Source§

impl DMA

Source

pub const PTR: *const RegisterBlock = {0x6003f000 as *const dma::RegisterBlock}

Pointer to the register block

Source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

Source

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>§

Source

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?

Source

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?

Source

pub fn ahb_test(&self) -> &AHB_TEST

0x3c0 - reserved

Source

pub fn pd_conf(&self) -> &PD_CONF

0x3c4 - reserved

Source

pub fn misc_conf(&self) -> &MISC_CONF

0x3c8 - MISC register

Source

pub fn in_sram_size_ch(&self, n: usize) -> &IN_SRAM_SIZE_CH

0x3cc..0x3e0 - Receive L2 FIFO depth of Rx channel 0

Source

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

Source

pub fn out_sram_size_ch(&self, n: usize) -> &OUT_SRAM_SIZE_CH

0x3d0..0x3e4 - Transmit L2 FIFO depth of Tx channel 0

Source

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

Source

pub fn extmem_reject_addr(&self) -> &EXTMEM_REJECT_ADDR

0x3f4 - Reject address accessing external RAM

Source

pub fn extmem_reject_st(&self) -> &EXTMEM_REJECT_ST

0x3f8 - Reject status accessing external RAM

Source

pub fn extmem_reject_int_raw(&self) -> &EXTMEM_REJECT_INT_RAW

0x3fc - Raw interrupt status of external RAM permission

Source

pub fn extmem_reject_int_st(&self) -> &EXTMEM_REJECT_INT_ST

0x400 - Masked interrupt status of external RAM permission

Source

pub fn extmem_reject_int_ena(&self) -> &EXTMEM_REJECT_INT_ENA

0x404 - Interrupt enable bits of external RAM permission

Source

pub fn extmem_reject_int_clr(&self) -> &EXTMEM_REJECT_INT_CLR

0x408 - Interrupt clear bits of external RAM permission

Source

pub fn date(&self) -> &DATE

0x40c - Version control register

Trait Implementations§

Source§

impl Debug for DMA

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for DMA

Source§

type Target = RegisterBlock

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Send for DMA

Auto Trait Implementations§

§

impl Freeze for DMA

§

impl RefUnwindSafe for DMA

§

impl !Sync for DMA

§

impl Unpin for DMA

§

impl UnwindSafe for DMA

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.