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

USB superspeed peripherals

MiVi_1497601
Level 1
5 replies posted First reply posted First question asked
Level 1

If I use the ControlCenter Program->FX3->I2C EEPROM it successfully loads that img to the EEPROM. I want to know how to write my own code to do exactly that. I have tried enmResult = fx3Device->DownloadFw(("cyfxusbspidmamode_EEPROM.img"), I2CE2PROM); It always returns failed. I have tried enmResult = fx3Device->DownloadFw(("cyfxusbspidmamode_EEPROM.img"), RAM); This is always successful, but the EEPROM never gets programmed.

CCyFX3Device *fx3Device = new CCyFX3Device();

FX3_FWDWNLOAD_ERROR_CODE enmResult = FAILED;

0 Likes
1 Solution
SrinathS_16
Moderator
Moderator 250 solutions authored 100 solutions authored 100 likes received
Moderator

Hello,

The C++ based examples to download firmware to FX3 RAM, I2CEEPROM or SPI Flash is included with the FX3 SDK 1.3.4.

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

After the installation of SDK, the application source and the executable can be found in the below path.

C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\application\cpp\fwdownload_fx3

Best regards,

Srinath S

View solution in original post

0 Likes
5 Replies
SrinathS_16
Moderator
Moderator 250 solutions authored 100 solutions authored 100 likes received
Moderator

Hello,

The C++ based examples to download firmware to FX3 RAM, I2CEEPROM or SPI Flash is included with the FX3 SDK 1.3.4.

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

After the installation of SDK, the application source and the executable can be found in the below path.

C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\application\cpp\fwdownload_fx3

Best regards,

Srinath S

0 Likes
MiVi_1497601
Level 1
5 replies posted First reply posted First question asked
Level 1

Thank you for the info. A key aspect is missing or I might have missed it when I was reviewing the code. But you need to first download CyBootProgrammer.img to the ram, then you can download the eeprom.img file.

0 Likes
SrinathS_16
Moderator
Moderator 250 solutions authored 100 solutions authored 100 likes received
Moderator

Hello,

Exactly. The CyBootProgrammer.img file needs to be loaded to program the I2C EEPROM. The Cypress USB Control Center also performs the same. This firmware contains the vendor commands needed to write to the EEPROM over the I2C lines.

Best regards,

Srinath S

0 Likes
MiVi_1497601
Level 1
5 replies posted First reply posted First question asked
Level 1

Perfect thank you. Is the code for the CyBootProgrammer.img made available?

0 Likes
SrinathS_16
Moderator
Moderator 250 solutions authored 100 solutions authored 100 likes received
Moderator

Hello,

The cyfxflashprog example firmware that comes with the FX3 SDK contains the implementation for the programming of I2C EEPROM. The firmware can be found in the below path.

C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\basic_examples\cyfxflashprog

Best regards,

Srinath S

0 Likes