## CMSIS DMA Driver Data Structures Type Documentation

### _DMA_CFG_t

Location: Driver_DMA.h:268

DMA channel configuration.

Data Fields

Type | Name | Description
--- | --- | ---
DMA_TRG_t | src_sel | DMA source target.
DMA_SRC_STEP_t | src_step | Source step mode.
DMA_WORD_SIZE_t | word_size | Source word size.
DMA_TRG_t | dst_sel | DMA destination target.
DMA_DST_STEP_t | dst_step | Destination step mode.
DMA_CH_PRI_t | ch_priority | Channel priority.
uint32_t | __pad0__ | Reserved.

### _DMA_ADDR_CFG_t

Location: Driver_DMA.h:282

DMA src/dst address configuration.

Data Fields

Type | Name | Description
--- | --- | ---
volatile const void * | src_addr | Source address.
volatile const void * | dst_addr | Destination address.
uint32_t | counter_len | Value which when reached triggers the counter event.
uint32_t | transfer_len | DMA transfer length.

### _DMA_PRI_CFG_t

Location: Driver_DMA.h:293

DMA interrupt priority configuration.

Data Fields

Type | Name | Description
--- | --- | ---
uint32_t | preempt_pri | Preempt priority.
uint32_t | __pad0__ | Reserved.
uint32_t | subgrp_pri | Subgroup priority.
uint32_t | __pad1__ | Reserved.

### _DMA_STATUS_t

Location: Driver_DMA.h:304

DMA status.

Data Fields

Type | Name | Description
--- | --- | ---
uint32_t | active | Transfer was started.
uint32_t | completed | Transfer was completed.
uint32_t | counter_reached | Counter value was reached.
uint32_t | buffer_fill_lvl | Error occurred.
uint32_t | __pad0__ | Reserved.

### _DRIVER_DMA_t

Location: Driver_DMA.h:316

Access structure of the DMA Driver.

Data Fields

Type | Name | Description
--- | --- | ---
ARM_DRIVER_VERSION(* | GetVersion)(void) | Pointer to DMA_GetVersion : Get driver version.
int32_t(* | Initialize)(DMA_SignalEvent_t cb_event) | Pointer to DMA_Initialize : Initialize DMA driver.
int32_t(* | Configure)(DMA_SEL_t sel, const DMA_CFG_t *cfg, DMA_SignalEvent_t cb) | Pointer to DMA_Configure : Configure DMA channel.
int32_t(* | ConfigureWord)(DMA_SEL_t sel, uint32_t cfg, DMA_SignalEvent_t cb) | Pointer to DMA_ConfigureWord : Configure DMA channel.
int32_t(* | ConfigureAddr)(DMA_SEL_t sel, const DMA_ADDR_CFG_t *pri) | Pointer to DMA_ConfigureAddr : Configure DMA interrupt priority.
int32_t(* | SetInterruptPriority)(DMA_SEL_t sel, const DMA_PRI_CFG_t *pri) | Pointer to DMA_SetInterruptPriority : Configure DMA interrupt priority.
uint32_t(* | CreateConfigWord)(const DMA_CFG_t *cfg) | Pointer to DMA_CreateConfigWord : Create DMA channel configuration word.
void(* | SetConfigWord)(DMA_SEL_t sel, uint32_t cfg) | Pointer to DMA_SetConfigWord : Quickly update DMA channel configuration word.
int32_t(* | Start)(DMA_SEL_t sel, uint32_t trigger, uint32_t trigger_source) | Pointer to DMA_Start : Start DMA transfer.
int32_t(* | Stop)(DMA_SEL_t sel) | Pointer to DMA_Stop : Stop DMA transfer.
uint32_t(* | GetCounterValue)(DMA_SEL_t sel) | Pointer to DMA_GetCounterValue : Get the current channel transfer counter.
DMA_STATUS_t(* | GetStatus)(DMA_SEL_t sel) | Pointer to DMA_GetStatus : Returns DMA channel status.