Resurrecting a project that used EZ-USB FX3 SDK 1.3.3

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
GrSe_4664521
Level 2
Level 2

I've been asked to resurrect a project that someone else did from 3 years ago that used  EZ-USB FX3 SDK 1.3.3, that work was done on a Mac and I'm looking for the installer for v1.3.3 for Windows (the Mac installer is lost to history so I have no installers for v1.3.3).  Anyone know where I can get it?  I couldn't find it on the Cypress website, the "archive" area doesn't include installers, only firmware.

I'm looking for v1.3.3 because when I use the current version (v1.3.4) when booting from USB the driver doesn't enumerate (I have checked the PMODE signals and they are Z11 so it should boot from USB, in fact it must be because I can tell that it is not booting the existing FW in the I2C EEPROM).  Because I get nothing enumerated I'm stuck and can't program FW into the I2C EEPROM on the board.  I don't know for certain that v1.3.3 will enumerate but I've seen a lot of discussions online talking about different versions and enumeration problems.  Does anyone know from experience that the exact version matters?

Thanks for any/all assistance!

Greg

0 Likes
1 Solution

Hello Greg,

Please confirm if you are using your custom board?


If so, can you please check the schematics and layout of the board to see if you have the USB 2.0 lines connected to the device?

The device enumerates as a Cypress USB Bootloader Device in USB 2.0 and only after programming the device with firmware, the device either re-enumerates as a USB 2.0 device or a USB 3.0 device based on the CyU3PConnectState API in the firmware.

The reason for EEPROM boot to work is because as soon as the device is powered on, the firmware from the EEPROM is loaded which makes the device enumerate a USB 3.0 device, eliminating the need to a USB 2.0 connection initially.

Regards,

Yashwant

View solution in original post

0 Likes
8 Replies
YashwantK_46
Moderator
Moderator
Moderator
100 solutions authored 50 solutions authored 50 likes received

Hello Greg,

This seems to be most probably a driver binding related issue.

You will have to bind the device to the driver that comes along with the SDK in order for the device to enumerate in the control center application.

You can refer to the KBA: Trouble Shooting Guide for the FX3/FX3S/CX3 Enumeration - KBA222372

This will help you on how to manually bind the driver to the device.

When you connect the device to PC, are you able to see the device come up in the windows device manager?

Regards,

Yashwant

0 Likes

Hi Yashwant,

Thanks for the reply but I saw that KBA.  Since I get nothing enumerated there is nothing to select to set the binding.

When I let the device boot from the I2C EEPROM it properly enumerates as the custom device and I can in fact talk to it using our test applications but when I make it boot from USB I get nothing at all.  I will be adding features to the FW so my first order of business is to re-program the EEPROM with the exact same code that is on it now.  That's where I'm stuck.


Thanks,

Greg

0 Likes

Hey Greg,

You mean to say that you aren't seeing the device enumerate as " Cypress USB Bootloader Device" in the device manager as well?

But are able to use the i2c boot to get it enumerated with the firmware that's already present?

Can you please confirm?

Regards,

Yashwant

0 Likes

Hi Yashwant,

Yes, that is correct.  That is exactly what I am seeing.  From this I concluded that the HW (connections, signal integrity, etc.) are fine because when booting from the I2C EEPROM it functions properly as a 3.0 device.  Nominally PMODE0 is floating, when I pull PMODE0 to 3.3v it should change from booting from I2C (Z1Z) to booting from USB (Z11) and I believe it is doing that (based on the lack of normally blinking LEDs from the code in the EEPROM).  I have also tried to force the I2C code to fail to be loaded and I get the same behavior (the hardware is setup with I2C booting w/ USB fallback).  From all this I have concluded that it must be a driver issue on the PC.  I have uninstalled and re-installed the v1.3.4 SDK as both a normal user and administrator as well as re-installing the CyUSB driver from the INF file but nothing changes - it never shows up in Device Manager.


Thanks,

Greg

0 Likes

Using MS UsbView debugger shows no device at all when plugged in booting from USB...

Greg

0 Likes

Hello Greg,

Are you using any of the cypress' DVK or RDK or is it your own custom board?


Also, do you have the USB 2.0 lines connected in the kit?

Cypress USB Bootloader Device enumerates as a 2.0 device and if you don't have the lines connected on your kit, you won't be able to see the device at all.


Regards,

Yashwant

0 Likes

I changed PWBs and the new board is enumerating, the tool version must not matter.

0 Likes

Hello Greg,

Please confirm if you are using your custom board?


If so, can you please check the schematics and layout of the board to see if you have the USB 2.0 lines connected to the device?

The device enumerates as a Cypress USB Bootloader Device in USB 2.0 and only after programming the device with firmware, the device either re-enumerates as a USB 2.0 device or a USB 3.0 device based on the CyU3PConnectState API in the firmware.

The reason for EEPROM boot to work is because as soon as the device is powered on, the firmware from the EEPROM is loaded which makes the device enumerate a USB 3.0 device, eliminating the need to a USB 2.0 connection initially.

Regards,

Yashwant

0 Likes