cancel
Showing results for 
Search instead for 
Did you mean: 

Destination buffer not being updated- DMA standard mode - STM32N6

ClemR
Associate

Hello again,

The DMA now works in standard request mode with circular mode disabled, but it doesn't when I am trying to use circular buffering mode (my destination buffer only contains 0s).

ClemR_0-1752829546381.png

ClemR_1-1752829571635.png

I defined manually the data size, the source and destination addresses in my code once my memory buffers are defined. Once these parameters defined I enable the GPDMA.

Here are the lines I add in the main() :

LL_DMA_ConfigAddresses(GPDMA1, LL_DMA_CHANNEL_0, p_dma_buffer, m_dma_buffer);

LL_DMA_SetBlkDataLength(GPDMA1, LL_DMA_CHANNEL_0, 8);

LL_DMA_EnableChannel(GPDMA1, LL_DMA_CHANNEL_0);

 

 

But when I launch the debug only the parameters I set manually were taken into account. All the CubeMX Configuration doesn't appear here (for example DINC and SINC should be at 1 in GPDMA_C0TR1 in the image below) ...

ClemR_2-1752830041582.png

Do you have any idea of what I should do to use circular buffering in standard request mode?

I saw in the user manual an example of application for circular buffering using linked-lists. Is it possible to do circular buffering without linked lists ? 

 

Thanks

 

 

 

 

2 REPLIES 2
Sarra.S
ST Employee

This post was moved from this related thread: Solved: GPDMA & HPDMA on STM32N6 - STMicroelectronics Community

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Sarra.S
ST Employee

Hello again @ClemR

Circular mode is specifically designed for continuous data flows between peripherals and memory, for example in ADC scan mode.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.