I'm using STM32F745(can be found in kynix: http://www.kynix.com) on my own board, and I am trying to program USB device (I tried virtual COM and HID, separately).

But after plugging into PC it is detected (after a while) with "Unknown device (device descriptor request failed)" error.

Electrically (PCB):
I think that PCB is not an error here - I just have D+ and D- short tracks from the connector to the uC and that's all. I have a pull-up 1.5k (I tried with and without it), but it is not even needed in STM32. I have check connection and a cable and I'm certain it connects.

Code:

I'm using HAL and STM32CubeMx generated code merged with my project. Generally programs freezes.

1) After executing line (from library code) USBx->GAHBCFG |= USB_OTG_GAHBCFG_GINT;. I know that, as I tried printing before and after that line and only first printf() prints. I don't understand how the program can stuck there. Anyway, if I disable VBUS sensing then the program doesn't get stuck there and the whole MX_USB_DEVICE_Init finishes.

2) But then, program executes few cycles (for example, it will print "done" and lit the LED) and after that it freezes. Completely. This LED should blink in an infinite loop, but it doesn't. I have other LED to be enabled in all error handlers (like hard fault etc.) and it seems that the the program doesn't go there (as the LED is off), so I don't understand where it get stuck.

*After virtual COM, I tried HID but to no avail. It gives me the same behavior. *If I power the board from the charger (not PC) then the program doesn't get stuck.


Reply via email to