RM0402
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.
Figure 26. Memory-to-peripheral mode
DMA controller
Arbiter
REQ_STREAMx
RM0402 Rev 6
Direct memory access controller (DMA)
DMA_SxM0AR
(1)
DMA_SxM1AR
AHB memory
port
FIFO
level
FIFO
AHB peripheral
port
DMA_SxPAR
Peripheral DMA request
Figure
Memory bus
Memory
source
Peripheral bus
Peripheral
destination
27.
ai15949
203/1163
230
Need help?
Do you have a question about the STM32F412 and is the answer not in the manual?
Questions and answers