ADuCM310 Hardware Reference Manual
UG-549
Rev. C | Page 69 of 192
Example Code: Define DMA Structures
memset(dmaChanDesc,0x0,sizeof(dmaChanDesc));
// Setup the DMA base address pointer register.
uiBasPtr = (unsigned int)&dmaChanDesc; // Setup the DMA base pointer.
pADI_DMA->DMACFG = 1; // Enable DMA controller
pADI_DMA->DMAPDBPTR = uiBasPtr;
CONTROL DATA CONFIGURATION
For each DMA transfer, the CHNL_CFG memory location provides the control information for the DMA transfer to the controller.
Table 83. Control Data Configuration
Bits
Name
Description
[31:30]
DST_INC
Destination address increment. The address increment depends on the source data width as follows:
Source Data Width
DST_INC
Destination Address Increment
Byte
00
Byte.
01
Half word.
10
Word.
11
No increment. Address remains set to the value that the DST_END_PTR
memory location contains.
Half Word
00
Reserved.
01
Half word.
10
Word.
11
No increment. Address remains set to the value that the DST_END_PTR
memory location contains.
Word
00
Reserved.
01
Reserved.
10
Word.
11
No increment. Address remains set to the value that the DST_END_PTR
memory location contains.
[29:28]
DST_SIZE
Size of the destination data. Must match SRC_SIZE.
00: byte.
01: half word.
10: word.
11: reserved.
[27:26]
SRC_INC
Source address increment. The address increment depends on the source data width as follows:
Source Data Width
DST_INC
Source
Address Increment
Byte
00
Byte.
01
Half word.
10
Word.
11
No increment. Address remains set to the value that the SRC_END_PTR
memory location contains.
Half Word
00
Reserved.
01
Half word.
10
Word.
11
No increment. Address remains set to the value that the SRC_END_PTR
memory location contains.
Word
00
Reserved.
01
Reserved.
10
Word.
11
No increment. Address remains set to the value that the SRC_END_PTR
memory location contains.