cancel
Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

KeWa_2323766
New Contributor II

Sample firmware " USBBulkSourceSinkLED.img"  is downloaded to RAM of FX3 on CYUSB3KIT-003 demo board. In normal working, after downloading, the device enumerates as device"Cypress FX3 USB StreamerExample Device".  But sometimes, after downloading , the device can't enumerate.  It has to recycle the power by unplug USB cable and download it again. I need some help on  why and how to avoid it

0 Likes
1 Solution
JayakrishnaT_76
Moderator
Moderator

Hello,

I have tested the project USBBulkSourceSinkLED on Superspeed Explorer kit (CYUSB3KIT-003) and found that the device enumerated properly on all my attempts to program the RAM with this firmware.

Please let me know if you have made any modifications to any source file within the project? If you have made any modifications, then please comment out the modifications for the time being and use the latest version of FX3 SDK for building the project. The latest version of FX3 SDK (1.3.4) can be downloaded from the following link:

https://www.cypress.com/documentation/software-and-drivers/ez-usb-fx3-software-development-kit

Note: If you already have SDK 1.3.4 installed already on your PC, then there is no need to download the same again.

 Also, please make use of certified USB cables for connecting the device to the host as this issue can be seen if the cable is defective. In addition to this, please check if the same issue is seen on multiple host PCs.

If the issue occur even after following the steps mentioned in this response, then please share the UART debug logs when the problem occurs so that we can debug the issue further.

Best Regards,
Jayakrishna

View solution in original post

0 Likes
3 Replies
JayakrishnaT_76
Moderator
Moderator

Hello,

I have tested the project USBBulkSourceSinkLED on Superspeed Explorer kit (CYUSB3KIT-003) and found that the device enumerated properly on all my attempts to program the RAM with this firmware.

Please let me know if you have made any modifications to any source file within the project? If you have made any modifications, then please comment out the modifications for the time being and use the latest version of FX3 SDK for building the project. The latest version of FX3 SDK (1.3.4) can be downloaded from the following link:

https://www.cypress.com/documentation/software-and-drivers/ez-usb-fx3-software-development-kit

Note: If you already have SDK 1.3.4 installed already on your PC, then there is no need to download the same again.

 Also, please make use of certified USB cables for connecting the device to the host as this issue can be seen if the cable is defective. In addition to this, please check if the same issue is seen on multiple host PCs.

If the issue occur even after following the steps mentioned in this response, then please share the UART debug logs when the problem occurs so that we can debug the issue further.

Best Regards,
Jayakrishna

View solution in original post

0 Likes
KeWa_2323766
New Contributor II

Jayakrishna,

Thank you. SDK 1.3.4 has been installed and the 1m cable that comes in the superspeed explorer kit is used. It might be the computer I used for test. I tried on another computer, it does not happen although sometimes, the re enumeration after download takes long time, like 5 seconds.    Is there any difference between power on boot from I2C flash and reboot from RAM after firmware download to RAM? Like power surging?  The enumeration process works fine if the firmware downloaded to flash memory and boot from flash memory after power on. What is the difference between these 2 computers that will result in this re enumeration ?  

0 Likes
JayakrishnaT_76
Moderator
Moderator

Hello,

The I2C boot is slow compared to USB boot. This is because, in case of USB boot, the firmware image that is send from the PC is directly loaded into the RAM by the FX3 Bootloader followed by the re-enumeration of the device with the new firmware. But, in case of I2C boot, the firmware stored in I2C EEPROM is read by the FX3 Bootloader and copied into RAM. The I2C interface is very slow compared to the USB interface which causes the I2C boot to be slow.

Regarding the re-enumeration issue on the PC, can you please check for the enumeration on multiple hosts and let me know the result? As of now, we see that on one host it is not enumerating and on another host it is enumerating. Can you please test on multiple hosts so that we can understand if the problem is on the PC or not.

Best Regards,
Jayakrishna
0 Likes