English
Language : 

PXD10RM Datasheet, PDF (524/1332 Pages) Freescale Semiconductor, Inc – PXD10 Microcontroller
will execute as:
1. minor loop done -> set channel 12 TCD.start bit
2. minor loop done -> set channel 12 TCD.start bit
3. minor loop done -> set channel 12 TCD.start bit
4. minor loop done, major loop done -> set channel 7 TCD.start bit
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
The TCD.citer.e_link bit and the TCD.biter.e_link bit must equal or a
configuration error will be reported. The citer and biter vector widths must
be equal to calculate the major loop, half-way done interrupt point.
15.4.7 Dynamic programming
This section provides recommended methods to change the programming model during channel execution.
15.4.7.1 Dynamic priority changing
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 within a group, then change the channel priorities within that group only,
then enable the appropriate channels.
The following two options are available for dynamically changing group priority levels:
1. Switch to round-robin group arbitration mode, change the group priorities, then switch back to
fixed arbitration mode.
2. Disable ALL channels, change the group priorities, then enable the appropriate channels.
15.4.7.2 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 DMA 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.
15-54
PXD10 Microcontroller Reference Manual, Rev. 1
Preliminary—Subject to Change Without Notice
Freescale Semiconductor