LDMA_Descriptor_t Union Reference
DMA descriptor.
#include <em_ldma.h>
Data Fields |
|
struct { | |
uint32_t structType : 2 | |
Set to 0 to select XFER descriptor type.
|
|
uint32_t reserved0 : 1 | |
Reserved
|
|
uint32_t structReq : 1 | |
DMA transfer trigger during LINKLOAD.
|
|
uint32_t xferCnt : 11 | |
Transfer count minus one.
|
|
uint32_t byteSwap : 1 | |
Enable byte swapping transfers.
|
|
uint32_t blockSize : 4 | |
Number of unit transfers per arbitration cycle.
|
|
uint32_t doneIfs : 1 | |
Generate interrupt when done.
|
|
uint32_t reqMode : 1 | |
Block or cycle transfer selector.
|
|
uint32_t decLoopCnt : 1 | |
Enable looped transfers.
|
|
uint32_t ignoreSrec : 1 | |
Ignore single requests.
|
|
uint32_t srcInc : 2 | |
Source address increment unit size.
|
|
uint32_t size : 2 | |
DMA transfer unit size.
|
|
uint32_t dstInc : 2 | |
Destination address increment unit size.
|
|
uint32_t srcAddrMode : 1 | |
Source addressing mode.
|
|
uint32_t dstAddrMode : 1 | |
Destination addressing mode.
|
|
uint32_t srcAddr | |
DMA source address.
|
|
uint32_t dstAddr | |
DMA destination address.
|
|
uint32_t linkMode : 1 | |
Select absolute or relative link address.
|
|
uint32_t link : 1 | |
Enable LINKLOAD when transfer is done.
|
|
int32_t linkAddr : 30 | |
Address of next (linked) descriptor.
|
|
} | xfer |
TRANSFER DMA descriptor, this is the only descriptor type which can be used to start a DMA transfer.
|
|
struct { | |
uint32_t structType : 2 | |
Set to 1 to select SYNC descriptor type.
|
|
uint32_t reserved0 : 1 | |
Reserved.
|
|
uint32_t structReq : 1 | |
DMA transfer trigger during LINKLOAD.
|
|
uint32_t xferCnt : 11 | |
Transfer count minus one.
|
|
uint32_t byteSwap : 1 | |
Enable byte swapping transfers.
|
|
uint32_t blockSize : 4 | |
Number of unit transfers per arbitration cycle.
|
|
uint32_t doneIfs : 1 | |
Generate interrupt when done.
|
|
uint32_t reqMode : 1 | |
Block or cycle transfer selector.
|
|
uint32_t decLoopCnt : 1 | |
Enable looped transfers.
|
|
uint32_t ignoreSrec : 1 | |
Ignore single requests.
|
|
uint32_t srcInc : 2 | |
Source address increment unit size.
|
|
uint32_t size : 2 | |
DMA transfer unit size.
|
|
uint32_t dstInc : 2 | |
Destination address increment unit size.
|
|
uint32_t srcAddrMode : 1 | |
Source addressing mode.
|
|
uint32_t dstAddrMode : 1 | |
Destination addressing mode.
|
|
uint32_t syncSet : 8 | |
Set bits in LDMA_CTRL.SYNCTRIG register.
|
|
uint32_t syncClr : 8 | |
Clear bits in LDMA_CTRL.SYNCTRIG register.
|
|
uint32_t reserved3 : 16 | |
Reserved.
|
|
uint32_t matchVal : 8 | |
Sync trigger match value.
|
|
uint32_t matchEn : 8 | |
Sync trigger match enable.
|
|
uint32_t reserved4 : 16 | |
Reserved.
|
|
uint32_t linkMode : 1 | |
Select absolute or relative link address.
|
|
uint32_t link : 1 | |
Enable LINKLOAD when transfer is done.
|
|
int32_t linkAddr : 30 | |
Address of next (linked) descriptor.
|
|
} | sync |
SYNCHRONIZE DMA descriptor, used for intra channel transfer synchronization.
|
|
struct { | |
uint32_t structType : 2 | |
Set to 2 to select WRITE descriptor type.
|
|
uint32_t reserved0 : 1 | |
Reserved.
|
|
uint32_t structReq : 1 | |
DMA transfer trigger during LINKLOAD.
|
|
uint32_t xferCnt : 11 | |
Transfer count minus one.
|
|
uint32_t byteSwap : 1 | |
Enable byte swapping transfers.
|
|
uint32_t blockSize : 4 | |
Number of unit transfers per arbitration cycle.
|
|
uint32_t doneIfs : 1 | |
Generate interrupt when done.
|
|
uint32_t reqMode : 1 | |
Block or cycle transfer selector.
|
|
uint32_t decLoopCnt : 1 | |
Enable looped transfers.
|
|
uint32_t ignoreSrec : 1 | |
Ignore single requests.
|
|
uint32_t srcInc : 2 | |
Source address increment unit size.
|
|
uint32_t size : 2 | |
DMA transfer unit size.
|
|
uint32_t dstInc : 2 | |
Destination address increment unit size.
|
|
uint32_t srcAddrMode : 1 | |
Source addressing mode.
|
|
uint32_t dstAddrMode : 1 | |
Destination addressing mode.
|
|
uint32_t immVal | |
Data to be written at dstAddr.
|
|
uint32_t dstAddr | |
DMA write destination address.
|
|
uint32_t linkMode : 1 | |
Select absolute or relative link address.
|
|
uint32_t link : 1 | |
Enable LINKLOAD when transfer is done.
|
|
int32_t linkAddr : 30 | |
Address of next (linked) descriptor.
|
|
} | wri |
WRITE DMA descriptor, used for write immediate operations.
|
|
DMA descriptor.
The LDMA DMA controller supports three different DMA descriptors. Each consists of four WORDs 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.
Field Documentation
◆ structType
uint32_t LDMA_Descriptor_t::structType |
Set to 0 to select XFER descriptor type.
Set to 2 to select WRITE descriptor type.
Set to 1 to select SYNC descriptor type.
◆ reserved0
uint32_t LDMA_Descriptor_t::reserved0 |
Reserved
Reserved.
◆ structReq
uint32_t LDMA_Descriptor_t::structReq |
DMA transfer trigger during LINKLOAD.
◆ xferCnt
uint32_t LDMA_Descriptor_t::xferCnt |
Transfer count minus one.
◆ byteSwap
uint32_t LDMA_Descriptor_t::byteSwap |
Enable byte swapping transfers.
◆ blockSize
uint32_t LDMA_Descriptor_t::blockSize |
Number of unit transfers per arbitration cycle.
◆ doneIfs
uint32_t LDMA_Descriptor_t::doneIfs |
Generate interrupt when done.
◆ reqMode
uint32_t LDMA_Descriptor_t::reqMode |
Block or cycle transfer selector.
◆ decLoopCnt
uint32_t LDMA_Descriptor_t::decLoopCnt |
Enable looped transfers.
◆ ignoreSrec
uint32_t LDMA_Descriptor_t::ignoreSrec |
Ignore single requests.
◆ srcInc
uint32_t LDMA_Descriptor_t::srcInc |
Source address increment unit size.
◆ size
uint32_t LDMA_Descriptor_t::size |
DMA transfer unit size.
◆ dstInc
uint32_t LDMA_Descriptor_t::dstInc |
Destination address increment unit size.
◆ srcAddrMode
uint32_t LDMA_Descriptor_t::srcAddrMode |
Source addressing mode.
◆ dstAddrMode
uint32_t LDMA_Descriptor_t::dstAddrMode |
Destination addressing mode.
◆ srcAddr
uint32_t LDMA_Descriptor_t::srcAddr |
DMA source address.
◆ dstAddr
uint32_t LDMA_Descriptor_t::dstAddr |
DMA destination address.
DMA write destination address.
◆ linkMode
uint32_t LDMA_Descriptor_t::linkMode |
Select absolute or relative link address.
◆ link
uint32_t LDMA_Descriptor_t::link |
Enable LINKLOAD when transfer is done.
◆ linkAddr
int32_t LDMA_Descriptor_t::linkAddr |
Address of next (linked) descriptor.
◆ xfer
struct { ... } LDMA_Descriptor_t::xfer |
TRANSFER DMA descriptor, this is the only descriptor type which can be used to start a DMA transfer.
◆ syncSet
uint32_t LDMA_Descriptor_t::syncSet |
Set bits in LDMA_CTRL.SYNCTRIG register.
◆ syncClr
uint32_t LDMA_Descriptor_t::syncClr |
Clear bits in LDMA_CTRL.SYNCTRIG register.
◆ reserved3
uint32_t LDMA_Descriptor_t::reserved3 |
Reserved.
◆ matchVal
uint32_t LDMA_Descriptor_t::matchVal |
Sync trigger match value.
◆ matchEn
uint32_t LDMA_Descriptor_t::matchEn |
Sync trigger match enable.
◆ reserved4
uint32_t LDMA_Descriptor_t::reserved4 |
Reserved.
◆ sync
struct { ... } LDMA_Descriptor_t::sync |
SYNCHRONIZE DMA descriptor, used for intra channel transfer synchronization.
◆ immVal
uint32_t LDMA_Descriptor_t::immVal |
Data to be written at dstAddr.
◆ wri
struct { ... } LDMA_Descriptor_t::wri |
WRITE DMA descriptor, used for write immediate operations.