The USB pullup isn’t disabled when exiting the bootloader. This could give problems with some operating systems as the USB disconnect/connect time is almost zero. This might not actually match the USB specifications. For Windows this means that the USB disconnect/connect sounds are not properly played back, which is not a real problem, but can be confusing. I have fixed this by changing this code in Nuttx file stm32_otgfsdev.c, function usbdev_register:
stm32_pullup(&priv->usbdev, false);
usleep(1500000);
stm32_pullup(&priv->usbdev, true);
Perhaps there is a better solution to this, which can be applied to the main branch?
Thanks a lot.