Enhanced Direct Memory Access (eDMA)
MCF52277 Reference Manual, Rev. 1
17-36
Freescale Semiconductor
For both activation types, the major-loop-complete status is explicitly indicated via the
TCD
n
_CSR[DONE] bit.
The TCD
n
_CSR[START] bit is cleared automatically when the channel begins execution regardless of
how the channel activates.
17.8.5.2
Active Channel TCD
n
Reads
The eDMA reads back the true TCD
n
_SADDR, TCD
n
_DADDR, and TCD
n
_NBYTES values if read
while a channel executes. The true values of the SADDR, DADDR, and NBYTES are the values the
eDMA engine currently uses in its internal register file and not the values in the TCD local memory for
that channel. The addresses (SADDR and DADDR) and NBYTES (decrements to zero as the transfer
progresses) can give an indication of the progress of the transfer. All other values are read back from the
TCD local memory.
17.8.5.3
Preemption Status
Preemption is available only when fixed arbitration is selected as the channel arbitration mode. A
preemptive situation is one in which a preempt-enabled channel runs and a higher priority request becomes
active. When the eDMA engine is not operating in fixed channel arbitration mode, the determination of
the actively running relative priority outstanding requests become undefined. Channel priorities are treated
as equal (constantly rotating) when round-robin arbitration mode is selected.
The TCD
n
_CSR[ACTIVE] bit for the preempted channel remains asserted throughout the preemption.
The preempted channel is temporarily suspended while the preempting channel executes one major loop
iteration. If two TCD
n
_CSR[ACTIVE] bits are set simultaneously in the global TCD map, a higher
priority channel is actively preempting a lower priority channel.
17.8.6
Channel Linking
Channel linking (or chaining) is a mechanism where one channel sets the TCD
n
_CSR[START] bit of
another channel (or itself), therefore initiating a service request for that channel. When properly enabled,
the EDMA engine automatically performs this operation at the major or minor loop completion.
The minor loop channel linking occurs at the completion of the minor loop (or one iteration of the major
loop). The TCD
n
_CITER[E_LINK] field determines whether a minor loop link is requested. When
enabled, the channel link is made after each iteration of the major loop except for the last. When the major
TCD
n
_CSR bits
State
START
ACTIVE
DONE
1
0
0
0
Channel service request via hardware (peripheral
request asserted)
2
0
1
0
Channel is executing
3a
0
0
0
Channel has completed the minor loop and is idle
3b
0
0
1
Channel has completed the major loop and is idle
Summary of Contents for MCF52277
Page 22: ...MCF52277 Reference Manual Rev 1 Freescale Semiconductor xxii...
Page 32: ...MCF52277 Reference Manual Rev 0 xxxii Freescale Semiconductor...
Page 60: ...Signal Descriptions MCF52277 Reference Manual Rev 1 2 16 Freescale Semiconductor...
Page 128: ...Static RAM SRAM MCF52277 Reference Manual Rev 1 6 6 Freescale Semiconductor...
Page 140: ...Clock Module MCF52277 Reference Manual Rev 1 7 12 Freescale Semiconductor...
Page 172: ...Chip Configuration Module CCM MCF52277 Reference Manual Rev 1 9 16 Freescale Semiconductor...
Page 180: ...Serial Boot Facility SBF MCF52277 Reference Manual Rev 1 10 8 Freescale Semiconductor...
Page 188: ...Reset Controller Module MCF52277 Reference Manual Rev 1 11 8 Freescale Semiconductor...
Page 210: ...Crossbar Switch XBS MCF52277 Reference Manual Rev 1 13 8 Freescale Semiconductor...
Page 542: ...FlexCAN MCF52277 Reference Manual Rev 1 23 32 Freescale Semiconductor...
Page 724: ...UART Modules MCF52277 Reference Manual Rev 1 30 34 Freescale Semiconductor...
Page 740: ...I2 C Interface MCF52277 Reference Manual Rev 1 31 16 Freescale Semiconductor...
Page 790: ...Debug Module MCF52277 Reference Manual Rev 1 32 50 Freescale Semiconductor...