cancel
Showing results for 
Search instead for 
Did you mean: 

what is the limitation for buffer size in SAI DMA?

risingEdge
Associate II

I am working on the STM32F769 series microcontroller in my project. I am using SAI interface of the mcu. And of course I also use DMA of SAI interface . I adjusted the DMA(DMA2 Stream 1) as listed below in the application :

DMA Request Settings :

Mode Circular, and increment address is memory as "half word"

And, I strongly wonder what is this limitations of DMA circular buffer? So, how many bytes can I kept inside the circular buffer?

1 REPLY 1

You set up the number of *transfers* in given DMA Stream's NDTR register, which is 16-bits wide, so that's the buffer length limitation.

> So, how many bytes can I kept inside the circular buffer?

65535 * 1 or 2 or 4, depending on how do you set up PSIZE field in given stream's CR register.

Read the DMA chapter in RM.

JW