Hi, I am trying to understand how the Bus Matrix work and how can I use the DMA most efficient way possible in STM32G431KB microcontroller.
In AN2548 Application Note Section 5.2, it says that " For example when using STM32L486, a DMA1 transfer from SRAM1 to AES can access the bus matrix simultaneously with DMA2 transfer from Flash memory to any APB communication interface. No conflict and arbitration occurs."
So does this mean that I can transfer the data I want in parallel, as long as I don't use the same bus?
For example:
In the Datasheet memory diagram it shows the ADCs connected to AHB2 Bus and USART1 is connected AHB1 Bus.
In the Reference Manual Bus matrix diagram it shows that DMA1 is connected to SRAM1 and AHB1 and DMA2 is connected to SRAM2 and AHB2.
So can I use the DMA2 to store ADC values to SRAM2 while transferring data from SRAM1 to USART1 using DMA1 simultaneously in parallel fashion?
Is this the most efficient way to do this kind of stuff?
Also does this mean that when I try to send data from SPI2 while receiving data from USART 1 (Same AHB1 bus), the data will be transferred in serial fashion from/to memory?