UM10503
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2012. All rights reserved.
User manual
Rev. 1.3 — 6 July 2012
411 of 1269
NXP Semiconductors
UM10503
Chapter 19: LPC43xx General Purpose DMA (GPDMA) controller
3. CLLI
4. CCONTROL
Note:
The CCONFIG DMA channel Configuration Register is not part of the linked list
item.
19.8.5.1.1
Programming the DMA controller for scatter/gather DMA
To program the DMA Controller for scatter/gather DMA:
1. Write the LLIs for the complete DMA transfer to memory. Each linked list item contains
four words:
–
Source address.
–
Destination address.
–
Pointer to next LLI.
–
Control word.
The last LLI has its linked list word pointer set to 0.
2. Choose a free DMA channel with the priority required. DMA channel 0 has the highest
priority and DMA channel 7 the lowest priority.
3. Write the first linked list item, previously written to memory, to the relevant channel in
the DMA Controller.
4. Write the channel configuration information to the channel Configuration Register and
set the Channel Enable bit. The DMA Controller then transfers the first and then
subsequent packets of data as each linked list item is loaded.
5. An interrupt can be generated at the end of each LLI depending on the Terminal
Count bit in the CCONTROL Register. If this bit is set an interrupt is generated at the
end of the relevant LLI. The interrupt request must then be serviced and the relevant
bit in the INTTCCLEAR Register must be set to clear the interrupt.
19.8.5.1.2
Example of scatter/gather DMA
See
for an example of an LLI. A section of memory is to be transferred to a
peripheral. The addresses of each LLI entry are given, in hexadecimal, at the left-hand
side of the figure. The right side of the figure shows the memory containing the data to be
transferred.