2022-12-17 4:31 PM
I'm lerning Cortex-M7 (stm32f722) and I don't fully understand how DMA1 works. On the one side DMA1 not connected with AHB therefore PORTs and SRAM not available. On the other side in datasheet didn't type that Peripheral-to-memory and Memory-to-peripheral modes not available for DMA1. Can I use DMA1 in Memory-to-peripheral mode that transfer a data over USART2? Thanks!
2022-12-17 8:12 PM
DMA (Direct Memory Access) without memory access? ;) Take a look on AN4667 "Figure 1. STM32F7 Series system architecture".
The RM0431 "Table 26. DMA1 request mapping" clearly shows USART2 on channel 4 of streams 5 and 6.
2022-12-18 2:23 AM
But SRAM connected to AHB BUS. And DMA1 not available AHB BUS. Or I don't right?
2022-12-18 4:30 AM
Yes you can use DMA1 to access USART2, which is on APB1:
JW
2022-12-18 6:19 AM
The place, you encircled, literally shows that the DMA1 is also connected to the same AHB bus matrix.
2022-12-18 11:01 AM
Whilst it is not true on all STM, the STM32F2/4/7 the DMA1 associates with APB1, and the "Peripherals" on that bus, and DMA2 to APB2. But here DMA2 also supports Memory-to-Memory which has broader reach, but also involves more bus cycles/sequencing to "load-then-store" across different or conflicting paths, whereas others more direct/local actions can be done in a "feed-thru".
Also peripherals on APB1 can trigger action on DMA1, like UART or TIM
By localizing traffic you can avoid conflicting, and slowing, other usage, most especially code execution
We’re moving the ST Community to a new platform to give you a better and more reliable community experience.