Note
The TCDn_CITER[E_LINK] bit and the
TCDn_BITER[E_LINK] bit must equal or a configuration error
is reported. The CITER and BITER vector widths must be
equal to calculate the major loop, half-way done interrupt point.
The following table summarizes how a DMA channel can link to another DMA channel,
i.e, use another channel's TCD, at the end of a loop.
Table 22-299. Channel Linking Parameters
Desired Link
Behavior
TCD Control Field Name
Description
Link at end of
Minor Loop
CITER[E_LINK]
Enable channel-to-channel linking on minor loop completion (current
iteration)
CITER[LINKCH]
Link channel number when linking at end of minor loop (current iteration)
Link at end of
Major Loop
CSR[MAJOR_E_LINK]
Enable channel-to-channel linking on major loop completion
CSR[MAJOR_LINKCH]
Link channel number when linking at end of major loop
22.5.7 Dynamic programming
This section provides recommended methods to change the programming model during
channel execution.
22.5.7.1 Dynamically changing the channel priority
The following two options are recommended for dynamically changing channel priority
levels:
1. Switch to Round-Robin Channel Arbitration mode, change the channel priorities,
then switch back to Fixed Arbitration mode,
2. Disable all the channels, change the channel priorities, then enable the appropriate
channels.
22.5.7.2 Dynamic channel linking
Dynamic channel linking is the process of setting the TCD.major.e_link bit during
channel execution. This bit is read from the TCD local memory at the end of channel
execution, thus allowing the user to enable the feature during channel execution.
Initialization/application information
K22F Sub-Family Reference Manual , Rev. 3, 7/2014
496
Freescale Semiconductor, Inc.