21.5.3.2 Round-robin channel arbitrationChannels are serviced starting with the highest channel number and rotating through tothe lowest channel number without regard to the channel priority levels.21.5.4 Performing DMA transfers21.5.4.1 Single requestTo perform a simple transfer of n bytes of data with one activation, set the major loop toone (TCDn_CITER = TCDn_BITER = 1). The data transfer begins after the channelservice request is acknowledged and the channel is selected to execute. After the transferis complete, the TCDn_CSR[DONE] bit is set and an interrupt generates if properlyenabled.For example, the following TCD entry is configured to transfer 16 bytes of data. TheeDMA is programmed for one iteration of the major loop transferring 16 bytes periteration. The source memory has a byte wide memory port located at 0x1000. Thedestination memory has a 32-bit port located at 0x2000. The address offsets areprogrammed in increments to match the transfer size: one byte for the source and fourbytes for the destination. The final source and destination addresses are adjusted to returnto their beginning values.TCDn_CITER = TCDn_BITER = 1TCDn_NBYTES = 16TCDn_SADDR = 0x1000TCDn_SOFF = 1TCDn_ATTR[SSIZE] = 0TCDn_SLAST = -16TCDn_DADDR = 0x2000TCDn_DOFF = 4TCDn_ATTR[DSIZE] = 2TCDn_DLAST_SGA= –16TCDn_CSR[INT_MAJ] = 1TCDn_CSR[START] = 1 (Should be written last after all other fields have been initialized)All other TCDn fields = 0This generates the following event sequence:1. User write to the TCDn_CSR[START] bit requests channel service.2. The channel is selected by arbitration for servicing.3. eDMA engine writes: TCDn_CSR[DONE] = 0, TCDn_CSR[START] = 0,TCDn_CSR[ACTIVE] = 1.Chapter 21 Direct Memory Access Controller (eDMA)K51 Sub-Family Reference Manual, Rev. 6, Nov 2011Freescale Semiconductor, Inc. 483