Intel PXA26X User Manual Page 164

  • Download
  • Add to my manuals
  • Print
  • Page
    / 624
  • Table of contents
  • BOOKMARKS
  • Rated. / 5. Based on customer reviews
Page view 163
5-6 Intel® PXA26x Processor Family Developer’s Manual
Direct Memory Access Controller
5.1.4 Direct Memory Access Descriptors
The DMAC operates in two distinct modes: descriptor fetch mode and no-descriptor fetch mode.
The mode used is determined by the DCSRx[NODESCFETCH] bit.
The descriptor fetch and no-descriptor modes can be used simultaneously on different channels.
This means that some DMA channels can be active in one mode while other channels are active in
the other mode.
A channel must be stopped before it can be switched from one mode to the other.
If an error occurs in a channel, it returns to its stopped state and remains there until software clears
the error condition and writes a 1 to the DCSR[RUN] register.
5.1.4.1 No-Descriptor Fetch Mode
In no-descriptor fetch mode, the DDADRx is reserved. Software must not write to the DDADRx
and must load the DSADRx, DTADRx, and DCMDx registers. When the run bit is set, the DMAC
immediately begins to transfer data. No-descriptor fetches are performed at the beginning of the
transfer. The channel stops when it finishes the transfer.
Ensure that the software does not program the channels DDADRx in no-descriptor fetch mode.
A typical no-descriptor fetch mode (DCSR[NODESCFETCH] = 1) operation is:
1. The channel is in an uninitialized state after reset.
2. The DCSR[RUN] bit is set to a 0 and the DCSR[NODESCFETCH] bit is set to a 1.
3. The software writes a source address to the DSADR register, a target address to the DTADR
register, and a command to the DCMD register. The DDADR register is reserved in this No-
Descriptor Fetch Mode and must not be written.
4. The software writes a 1 to the DCSR[RUN] bit and the No-Descriptor fetches are performed.
5. The channel waits for the request or starts the data transfer, as determined by the
DCMD[FLOW] source and target bits.
6. The channel transmits a number of bytes equal to the smaller of DCMD[SIZE] and
DCMD[LENGTH].
7. The channel waits for the next request or continues with the data transfer until the
DCMD[LENGTH] reaches zero.
8. The DDADR[STOP] is set to a 1 and the channel stops.
Figure 5-3 summarizes typical no-descriptor fetch mode operation.
Page view 163
1 2 ... 159 160 161 162 163 164 165 166 167 168 169 ... 623 624

Comments to this Manuals

No comments