![NXP Semiconductors MPC5605BK Reference Manual Download Page 270](http://html.mh-extra.com/html/nxp-semiconductors/mpc5605bk/mpc5605bk_reference-manual_1721852270.webp)
Chapter 16 Enhanced Direct Memory Access (eDMA)
MPC5606BK Microcontroller Reference Manual, Rev. 2
270
Freescale Semiconductor
16.3.2.16 DMA Channel n Priority (EDMA_CPRn)
When the fixed-priority channel arbitration mode is enabled (EDMA_CR[ERCA] = 0), the contents of
these registers define the unique priorities associated with each channel. The channel priorities are
evaluated by numeric value; that is, 0 is the lowest priority, 1 is the next higher priority, then 2, 3, etc. If
software modifies channel priority values, then the software must ensure that the channel priorities contain
unique values, otherwise a configuration error will be reported. The range of the priority value is limited
to the values of 0 through 15.
Channel preemption is enabled on a per-channel basis by setting the ECP bit in the EDMA_CPRn register.
Channel preemption allows the executing channel’s data transfers to be temporarily suspended in favor of
starting a higher priority channel. After the preempting channel has completed all its minor loop data
transfers, the preempted channel is restored and resumes execution. After the restored channel completes
one read/write sequence, it is again eligible for preemption. If any higher priority channel requests service,
the restored channel will be suspended and the higher priority channel will be serviced. Nested preemption
(attempting to preempt a preempting channel) is not supported. After a preempting channel begins
execution, it cannot be preempted. Preemption is available only when fixed arbitration is selected for
channel arbitration mode
A channel’s ability to preempt another channel can be disabled by setting the DPA bit in the EDMA_CPRn
register. When a channel’s preempt ability is disabled, that channel cannot suspend a lower priority
channel’s data transfer; regardless of the lower priority channel’s ECP setting. This allows for a pool of
low priority, large data moving channels to be defined. These low priority channels can be configured to
not preempt each other, thus preventing a low priority channel from consuming the preempt slot normally
available a true, high priority channel. See
and
for the EDMA_CPRn definition.
Table 16-16. EDMA_HRSL field descriptions
Field
Description
HRSn
DMA Hardware Request Status n
0 A hardware service request for channel n is not present.
1 A hardware service request for channel n is present.
Note:
The hardware request status reflects the state of the request as seen by the arbitration
logic. Therefore, this status is affected by the EDMA_ERQRL[n] bit.
Offset: n
Access: Read/write
0
1
2
3
4
5
6
7
R
ECP
DPA
GRPPRI
CHPRI
W
RESET:
0
0
*
*
*
*
*
*
*
= defaults to channel number (n) after reset
Figure 16-17. DMA Channel n Priority (EDMA_CPRn) Register
Summary of Contents for MPC5605BK
Page 2: ...This page is intentionally left blank...
Page 20: ...MPC5606BK Microcontroller Reference Manual Rev 2 20 Freescale Semiconductor...
Page 103: ...MPC5606BK Microcontroller Reference Manual Rev 2 Freescale Semiconductor 103 Clocks and power...
Page 645: ...MPC5606BK Microcontroller Reference Manual Rev 2 Freescale Semiconductor 643 Timers...
Page 715: ...MPC5606BK Microcontroller Reference Manual Rev 2 Freescale Semiconductor 713 ADC system...
Page 787: ...MPC5606BK Microcontroller Reference Manual Rev 2 Freescale Semiconductor 787 Memory...
Page 893: ...MPC5606BK Microcontroller Reference Manual Rev 2 Freescale Semiconductor 893 Integrity...
Page 943: ...MPC5606BK Microcontroller Reference Manual Rev 2 Freescale Semiconductor 943 Debug...