3 Replies Latest reply on Oct 7, 2019 12:34 PM by GuSc_293616

    CyFx3BootUsbStart with option "Re-Enumeration will not be done" fail after reboot (caused by very short USB disconnect / reconnect)


      Normally we use CyFx3BootUsbStart( CyTrue, ..) with option "Re-Enumeration will NOT be done" and it works as expected.


      At the unusual situation where the device power up, start it's USB connect cycle, short after CyFx3BootUsbStart, CyFx3BootUsbConnect but before device became emumerated, a very short USB disconnect / re-connect occur. From this moment on, the device don't start it's enumeration cycle, firmware stay at bootloader and wait until USB connection is ready.


      This behaviour can be easily reproduced within a debug session, by restarting the debug session directly after CyFx3BootUsbConnect have been called. From than till next device reset (power cycle or CyFx3BootDeviceReset), no USB enumeration will be triggered. Further firmware reloads within the debugger won't fix that.


      If we call CyFx3BootUsbStart( CyFalse, ..)  with option "Re-Enumeration will be done" than it seems to work in any situation.


      Is there a way to reset the USB within Second Stage Bootloader to ensure the same behavior like after first power up? Any thing to undo the changes cause by CyFx3BootUsbStart - option "Re-Enumeration will NOT be done"?