Configuring DMA peripherals

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 ...

Get Hands-On RTOS with Microcontrollers now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.