RM0090
Figure 29. Memory-to-peripheral mode
1. For double-buffer mode.
Memory-to-memory mode
The DMA channels can also work without being triggered by a request from a peripheral.
This is the memory-to-memory mode, described in
When the stream is enabled by setting the Enable bit (EN) in the DMA_SxCR register, the
stream immediately starts to fill the FIFO up to the threshold level. When the threshold level
is reached, the FIFO contents are drained and stored into the destination.
The transfer stops once the DMA_SxNDTR register reaches zero or when the EN bit in the
DMA_SxCR register is cleared by software.
The stream has access to the AHB source or destination port only if the arbitration of the
corresponding stream is won. This arbitration is performed using the priority defined for
each stream using the PL[1:0] bits in the DMA_SxCR register.
Note:
When memory-to-memory mode is used, the Circular and direct modes are not allowed.
Only the DMA2 controller is able to perform memory-to-memory transfers.
DMA controller
Arbiter
REQ_STREAMx
Doc ID 018909 Rev 4
DMA_SxM0AR
(1)
DMA_SxM1AR
AHB memory
port
FIFO
level
FIFO
AHB peripheral
port
DMA_SxPAR
Peripheral DMA request
Figure
DMA controller (DMA)
Memory bus
Memory
source
Peripheral bus
Peripheral
destination
30.
ai15949
222/1422
Need help?
Do you have a question about the STM32F40 Series and is the answer not in the manual?
Questions and answers