STM32H747 USB with DMA does not work
(STM32H747I-DISCO board)
It seems to be a common problem -- USB HS works fine as long as this line reads:
hpcd_USB_OTG_HS.Init.dma_enable = DISABLE;
As soon as I change this to ENABLE (either manually or through STM32CubeMX) then USB enumerates but as soon as I start a BULK IN transfer, no data is received by the host, the host flags the transfer as "failed", and the STM32H747 USB pipeline is just "stuck". I have enabled level 3 USB debug messages and there is no error message printed.
I have already read this post and can confirm that:
1. My transmit buffers are aligned on 4-byte boundaries
2. The transmit buffer is in SRAM1 which is accessible to USB_OTG_HS1
3. All USB operations are happening on the Cortex-M4 processor of the STM32H747I, so there is no Cortex-M7 caching issues to consider
Any other ideas for how to enable the internal USB DMA?
