2017-12-07 05:29 AM
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.
Tom
2017-12-07 07:34 AM
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.
This is because the USB OTG core is split to several register groups in the CMSIS headers. The USB_OTG_GlobalTypeDef contains only the registers related to both roles (host + device). See for further details.