![Freescale Semiconductor PXR4030 Reference Manual Download Page 583](http://html1.mh-extra.com/html/freescale-semiconductor/pxr4030/pxr4030_reference-manual_2330660583.webp)
Enhanced Direct Memory Access Controller (eDMA)
Freescale Semiconductor
21-59
PXR40 Microcontroller Reference Manual, Rev. 1
21.5.8
Dynamic Programming
This section provides recommended methods to change the programming model during channel execution.
21.5.8.1
Dynamic Channel Linking and Dynamic Scatter-Gather Operation
Dynamic channel linking and dynamic scatter-gather operation is the process of changing the
EDMA
_x
_TCD.MAJOR.E_LINK or EDMA
_x
_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 a scenario where the user attempts to execute a dynamic channel link by enabling the
EDMA
_x
_TCD.MAJOR.E_LINK bit at the same time the eDMA engine is retiring the channel. The
EDMA
_x
_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 or dynamic
scatter-gather request:
1. Set the EDMA
_x
_TCD.MAJOR.E_LINK bit.
2. Read back the EDMA
_x
_TCD.MAJOR.E_LINK bit
3. Test the EDMA
_x
_TCD.MAJOR.E_LINK request status:
a) If the bit is set, the dynamic link attempt was successful.
b) If the bit is cleared, the attempted dynamic link did not succeed, the channel was already
retiring.
This same coherency model is true for dynamic scatter-gather operations. For both dynamic requests, the
TCD local memory controller forces the EDMA
_x
_TCD.MAJOR.E_LINK and EDMA
_x
_TCD.E_SG
bits to zero on any writes to a channel’s TCD after that channel’s EDMA
_x
_TCD.DONE bit is set
indicating the major loop is complete.
Table 21-26. 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.
Summary of Contents for PXR4030
Page 1: ...PXR40 Microcontroller Reference Manual Devices Supported PXR4030 PXR4040 PXR40RM Rev 1 06 2011...
Page 30: ...PXR40 Microcontroller Reference Manual Rev 1 Freescale Semiconductor xxx...
Page 40: ...PXR40 Microcontroller Reference Manual Rev 1 xl Freescale Semiconductor...
Page 66: ...Memory Map PXR40 Microcontroller Reference Manual Rev 1 2 4 Freescale Semiconductor...
Page 120: ...Signal Descriptions 3 54 Freescale Semiconductor PXR40 Microcontroller Reference Manual Rev 1...
Page 860: ...FlexCAN Module 24 50 Freescale Semiconductor PXR40 Microcontroller Reference Manual Rev 1...
Page 1167: ...Decimation Filter Freescale Semiconductor 28 53 PXR40 Microcontroller Reference Manual Rev 1...
Page 1168: ...Decimation Filter 28 54 Freescale Semiconductor PXR40 Microcontroller Reference Manual Rev 1...