2016-05-25 04:23 AM
Hi All,
I'm using a STM32F7 Discovery board. I am using the example application (unmodified) from Cube for being a USB MSC device.When I run the code with the debugger connected (using ST Link) everything works as expected - the device is detected and enumerated by Windows. I can read/write files to the STM32-based mass storage device through the HS-USB port on the board.To demo the project without the debugger running, I disconnected the ST Link cable and changed the power supply jumper to the usb_hs position. I now find that the detection of the device is intermittent. When it is detected by Windows on insertion, everything works fine. Other times Windows does not detect the device at all.I guess the intermittent performance is either a race condition or a physical layer issue.I have checked the HAL and there is a timeout to allow the external ULPI PHY to boot (T start in the 3320 datasheet).Does anyone have any experience in reliably using the STM32F7 discovery board as a High Speed USB device? Any ideas?Thanks in advance.2016-05-25 04:55 AM
Replying to my own post... :)
I've made the operation of the HS-USB MSC reliable by inserting a delay before USBD_Init():HAL_Delay(10);That is a horrible bodge as I still don't know what/where the issue is. I believe it is still connected with the ULPI PHY boot sequence/timing but it could also be the SD card.I will keep looking but I wanted to post this here in case anyone else sees the same issue.2016-05-25 06:52 AM
Hi chris250,
Try to change the optimization like mentionned in this and let me know if it solve the problem. -Hannibal-