![NXP Semiconductors SAFE ASSURE Qorivva MPC5601P Reference Manual Download Page 423](http://html.mh-extra.com/html/nxp-semiconductors/safe-assure-qorivva-mpc5601p/safe-assure-qorivva-mpc5601p_reference-manual_1721898423.webp)
Chapter 18 Enhanced Direct Memory Access (eDMA)
MPC5602P Microcontroller Reference Manual, Rev. 4
Freescale Semiconductor
423
When minor loop linking is enabled (TCD.CITER.E_LINK = 1), the TCD.CITER field uses a nine bit
vector to form the current iteration count.
When minor loop linking is disabled (TCD.CITER.E_LINK = 0), the TCD.CITER field uses a 15-bit
vector to form the current iteration count. The bits associated with the TCD.CITER.LINKCH field are
concatenated onto the CITER value to increase the range of the CITER.
NOTE
After configuration, the TCD.CITER.E_LINK bit and the
TCD.BITER.E_LINK bit must be 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.
summarizes how a DMA channel can “link” to another DMA channel, i.e, use another
channel’s TCD, at the end of a loop.
18.7.8
Dynamic programming
This section provides recommended methods to change the programming model during channel execution.
18.7.8.1
Dynamic channel linking and dynamic scatter/gather
Dynamic channel linking and dynamic scatter/gather is the process of changing the
TCD.MAJOR.E_LINK or TCD.E_SG bits during channel execution. These bits are read from the TCD
local memory at the
end
of channel execution thus allowing the user to enable either 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 is set in the programmer’s model, but it is unclear whether the link completed
before the channel retired.
Use the following coherency model when executing a dynamic channel link or dynamic scatter/gather
request:
1. Set the TCD.MAJOR.E_LINK bit
Table 18-25. 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
major.e_link
Enable channel-to-channel linking on major loop
completion
major.linkch
Link channel number when linking at end of major loop