Skip to main content
Associate
July 15, 2025
Solved

GPDMA & HPDMA on STM32N6

  • July 15, 2025
  • 2 replies
  • 853 views

Hello, 

I am currently working on implementing a memory-to-memory DMA transfer on a STM32N6 board, but I have trouble making the DMA work (GPDMA or HPDMA).

I tried to follow the Reference Manual for a LL implementation, but my code doesn't work and I can't find why. 

I'm a beginner in using DMAs but I still managed to make the DMA work on smaller STM32s such as the STM32F411RE, by following the User Manual, but on STM32N6, it does not work. 

You can find my code on the figure below. I have 8 bytes to transfer between two buffers in a secured AXISRAM2 memory space. I chose to transfer bursts such that 1 burst = 1 beat = 1 byte. I chose HPDMA because I am transferring data in AXISRAMs (I assumed it wouldn't work with GPDMA since it is adapted to AHB/APB).

When I debug my code I can see that the Transfer Complete Flag in the Status Register was enabled but my destination buffer is still empty (it didn't copy the source buffer).

Do you have any advice on why my code doesn't work ?

Thanks !

 

 

ClemR_0-1752586391908.png

 

Best answer by Sarra.S

Hello @ClemR

Try  configuring the Resource isolation slave unit for address space protection in order to let the HPDMA1 master to have access to SRAM2 or SRAM1 as suggested in this post: STM32N6 HPDMA not copying data

Hope that helps!

2 replies

Sarra.SBest answer
ST Employee
July 16, 2025

Hello @ClemR

Try  configuring the Resource isolation slave unit for address space protection in order to let the HPDMA1 master to have access to SRAM2 or SRAM1 as suggested in this post: STM32N6 HPDMA not copying data

Hope that helps!

ClemRAuthor
Associate
July 17, 2025

Hello,

Thanks the issue was coming from this !