Information

Table 21-298. 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
21.5.7 Dynamic programming
21.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.
21.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.
Because the user is allowed to change the configuration during execution, a coherency
model is needed. Consider the scenario where the user attempts to execute a dynamic
channel link by enabling the TCD.major.e_link bit at the same time the eDMA engine is
retiring the channel. The TCD.major.e_link would be set in the programmer’s model, but
it would be unclear whether the actual link was made before the channel retired.
The following coherency model is recommended when executing a dynamic channel link
request.
Initialization/application information
K20 Sub-Family Reference Manual, Rev. 1.1, Dec 2012
466
Preliminary
Freescale Semiconductor, Inc.
General Business Information