This document describes the method of building an efficient circular FIFO using STM32F10x's DMA, and provides implementation methods.
This application note explains how to implement an emulated FIFO using DMA and interrupts in STM32F10x microcontrollers to prevent data overflow during reception when the data length is unknown. It details the use of a circular buffer in system RAM and describes the software architecture required for this implementation.
The emulation prevents data overflow in the receive buffer when the number of incoming data items is not known in advance.
The example implementation uses a circular buffer with a size of 200 bytes.
The transmitter sends 250 data bytes to the receiver in the example.