Skip to main content
Visitor II
June 30, 2025
Question

STM32N6570-DK High Speed USB with DMA

  • June 30, 2025
  • 1 reply
  • 291 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

    This topic has been closed for replies.

    1 reply

    Technical Moderator
    July 3, 2025

    Hi @johndoeEngg 

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