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

const void *

src_addr

Source address.

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.