2 Replies Latest reply on May 18, 2016 12:56 AM by userc_40130

    Fx3 USB Bootloader (AN76405 / "Fx3BootAppGcc") and (re-)enumeration?



      I am trying to get the fx3boot usb bootloader example to work. Uploading works, however, there seems to be a usb (re-)enumeration problem which I don't understand.


      I am using the CYUSB3KIT-003 EZ-USB® FX3™ SuperSpeed Explorer Kit connected to a SuperSpeed USB port of my laptop. I also can read the Debug messages sent over the Uart using this board.


      I execute the following steps:

      • Compile the "Fx3BootAppGcc" firmware and download it to the FX3 RAM via Cypress USB Control Center
      • Compile the "USBBulkLoopAuto" example firmware, read, verify and transmit the the img file according to AN76405
      • The USBBulkLoopApp seems to be transmitted correctly. It starts but stops with the Uart debug message "CyU3PUsbStart failed to Start, Error code = 254". Code 254 is CY_U3P_ERROR_NO_REENUM_REQUIRED.

      I tried to modify the function CyFxBulkLpApplnInit() of the USBBulkLoopApp (e.g. leaving out the registration of the descriptors). However, it is still not clear to me how to initialize USB after the execution continues in the downloaded firmware after having used the bootloader. Does anybody have a hint for me how to get the USBBUlkLoopApp working with the bootloader? Thank you very much!