DMA_Init_TypeDef Struct Reference

DMA initialization structure.

#include <em_dma.h>

Data Fields

uint8_t hprot
HPROT signal state when accessing the primary/alternate descriptors.
DMA_DESCRIPTOR_TypeDef * controlBlock
Pointer to the control block in memory holding descriptors (channel control data structures).

DMA initialization structure.

Field Documentation

hprot

uint8_t DMA_Init_TypeDef::hprot

HPROT signal state when accessing the primary/alternate descriptors.

Normally set to 0 if protection is not an issue. The following bits are available:

  • bit 0 - HPROT[1] control for descriptor accesses (i.e., when the DMA controller accesses the channel control block itself), privileged/non-privileged access.

controlBlock

DMA_DESCRIPTOR_TypeDef* DMA_Init_TypeDef::controlBlock

Pointer to the control block in memory holding descriptors (channel control data structures).

This memory must be properly aligned at a 256 bytes, i.e., the 8 least significant bits must be zero.

Refer to the reference manual, DMA chapter for more details.

It is possible to provide a smaller memory block, only covering those channels actually used, if not all available channels are used. For instance, if only using 4 channels (0-3), both primary and alternate structures, then only 16*2*4 = 128 bytes must be provided. However, this implementation has no check if later exceeding such a limit by configuring for instance channel 4, in which case memory overwrite of some other data will occur.