STM32F767 has two DMA controllers. Each controller has 10 channels and 8 streams to map DMA requests from one location in the MCU to another. On the STM32F767 hardware, streams can do the following:
- Can be thought of as a way to flow data from one address to another
- Can transfer data from peripherals to RAM or RAM to peripherals
- Can transfer data from RAM to RAM
- Can only transfer data between two points at any given moment in time
Each stream has up to 10 channels for mapping a peripheral register into a given stream. In order to configure the DMA controller to handle requests from the USART2 receive, we'll reference table 27 from the STM32F7xx RM0410 reference manual:
In this table, we can see that DMA1 Channel ...