Skip to main content
Associate II
June 30, 2025
Question

STM32N6570-DK High Speed USB with DMA

  • June 30, 2025
  • 1 reply
  • 293 views

I have USB2 OTG high speed port1 working in "device mode" on the STM32N6570-DK board. I need to transfer an image file (around 10 MBytes in size) from the external PSRAM IC (APS256XXN-OBR-BG Hexadeca‑SPI PSRAM) to external PC via  a bulk CDC IN endpoint. I am able to do this currently without DMA enabled by repeatedly calling CDC_Transmit_HS( ) and waiting for the transmit done interrupt  before sending the next segment. I now want to do this with DMA enabled so that I get one transmit done interrupt instead of one per segment. I only have 3 endpoints (in end point 0, out end point 0 and one bulk in end point). Note that I am not using USBX.

When I try enabling DMA in USBD_LL_Init(  ) by setting " hpcd_USB_HS.Init.dma_enable" to "ENABLE", the board does not enumerate. What am I missing ?

Thx

1 reply

Technical Moderator
July 3, 2025

Hi @johndoeEngg 

Did you try to increase the stack size? Did you debug the issue? 

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.Best regards,FBL