I'm currently working on an STM32F7 design trying to get a composite device going on USB. I have this same composite device working on an STM32F0 board and it implements the CDC and Audio USB device classes. However, on the F7, I can not seem to get the Audio transfers to function. Whatever I try, I can not make the F7 generate an interrupt when an isochronous transfer is supposed to take place- hence no data gets transferred. I can see the isoc requests happen on a USB analyzer, but nothing happens on the F7.
I have a sample project that I just put together that shows this on the STM32F769I Discovery board- attached. It builds if you put it in the F7 Cube examples tree here: ......\STM32Cube_FW_F7_V1.8.0\Projects\STM32F769I-Discovery\Applications\USB_Device\
Some additional information: I am seeing strange (strange to me anyways) things in the USB TxFifo registers (viewing with the debugger) when things get initialized. You can see my comments in the usbd_conf.c file at line 325. When stepping through this code, I don't see the registers being initialized as I would expect. This could be a debugger issue but it does not seem like one. In addition, another thing has me confused: the Global USB registers are defined in the typedef USB_OTG_GlobalTypeDef in the file stm32f769xx.h. With the exception of the GLPMCFG register, I can not find any other register between CID and HPTXFSIZ in any of the documentation. I am primarily looking at the document RM0410.
This has me stumped- thanks for any help you can provide.