EFR32 Mighty Gecko 1 Software Documentation
efr32mg1-doc-5.1.2
|
DMA descriptor.
The LDMA DMA controller supports three different DMA descriptors. Each consist of four WORD's which map directly onto hw control registers for a given DMA channel. The three descriptor types are XFER, SYNC and WRI. Refer to the reference manual for further information.
#include <em_ldma.h>
Data Fields | |
struct { | |
uint32_t blockSize: 4 | |
uint32_t byteSwap: 1 | |
uint32_t decLoopCnt: 1 | |
uint32_t doneIfs: 1 | |
uint32_t dstAddrMode: 1 | |
uint32_t dstInc: 2 | |
uint32_t ignoreSrec: 1 | |
uint32_t link: 1 | |
int32_t linkAddr: 30 | |
uint32_t linkMode: 1 | |
uint32_t matchEn: 8 | |
uint32_t matchVal: 8 | |
uint32_t reqMode: 1 | |
uint32_t reserved0: 1 | |
uint32_t reserved3: 16 | |
uint32_t reserved4: 16 | |
uint32_t size: 2 | |
uint32_t srcAddrMode: 1 | |
uint32_t srcInc: 2 | |
uint32_t structReq: 1 | |
uint32_t structType: 2 | |
uint32_t syncClr: 8 | |
uint32_t syncSet: 8 | |
uint32_t xferCnt: 11 | |
} | sync |
struct { | |
uint32_t blockSize: 4 | |
uint32_t byteSwap: 1 | |
uint32_t decLoopCnt: 1 | |
uint32_t doneIfs: 1 | |
uint32_t dstAddr | |
uint32_t dstAddrMode: 1 | |
uint32_t dstInc: 2 | |
uint32_t ignoreSrec: 1 | |
uint32_t immVal | |
uint32_t link: 1 | |
int32_t linkAddr: 30 | |
uint32_t linkMode: 1 | |
uint32_t reqMode: 1 | |
uint32_t reserved0: 1 | |
uint32_t size: 2 | |
uint32_t srcAddrMode: 1 | |
uint32_t srcInc: 2 | |
uint32_t structReq: 1 | |
uint32_t structType: 2 | |
uint32_t xferCnt: 11 | |
} | wri |
struct { | |
uint32_t blockSize: 4 | |
uint32_t byteSwap: 1 | |
uint32_t decLoopCnt: 1 | |
uint32_t doneIfs: 1 | |
uint32_t dstAddr | |
uint32_t dstAddrMode: 1 | |
uint32_t dstInc: 2 | |
uint32_t ignoreSrec: 1 | |
uint32_t link: 1 | |
int32_t linkAddr: 30 | |
uint32_t linkMode: 1 | |
uint32_t reqMode: 1 | |
uint32_t reserved0: 1 | |
uint32_t size: 2 | |
uint32_t srcAddr | |
uint32_t srcAddrMode: 1 | |
uint32_t srcInc: 2 | |
uint32_t structReq: 1 | |
uint32_t structType: 2 | |
uint32_t xferCnt: 11 | |
} | xfer |
uint32_t LDMA_Descriptor_t::blockSize |
uint32_t LDMA_Descriptor_t::byteSwap |
uint32_t LDMA_Descriptor_t::decLoopCnt |
uint32_t LDMA_Descriptor_t::doneIfs |
uint32_t LDMA_Descriptor_t::dstAddr |
uint32_t LDMA_Descriptor_t::dstAddrMode |
uint32_t LDMA_Descriptor_t::dstInc |
uint32_t LDMA_Descriptor_t::ignoreSrec |
uint32_t LDMA_Descriptor_t::immVal |
uint32_t LDMA_Descriptor_t::link |
int32_t LDMA_Descriptor_t::linkAddr |
uint32_t LDMA_Descriptor_t::linkMode |
uint32_t LDMA_Descriptor_t::matchEn |
uint32_t LDMA_Descriptor_t::matchVal |
uint32_t LDMA_Descriptor_t::reqMode |
uint32_t LDMA_Descriptor_t::srcAddrMode |
uint32_t LDMA_Descriptor_t::srcInc |
uint32_t LDMA_Descriptor_t::structReq |
uint32_t LDMA_Descriptor_t::structType |
struct { ... } LDMA_Descriptor_t::sync |
SYNCHRONIZE DMA descriptor, used for intra channel transfer syncronization.
uint32_t LDMA_Descriptor_t::syncClr |
uint32_t LDMA_Descriptor_t::syncSet |
struct { ... } LDMA_Descriptor_t::wri |
WRITE DMA descriptor, used for write immediate operations.
struct { ... } LDMA_Descriptor_t::xfer |
TRANSFER DMA descriptor, this is the only descriptor type which can be used to start a DMA transfer.
uint32_t LDMA_Descriptor_t::xferCnt |