cancel
Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

MiVi_1497601
New Contributor

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

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

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
MiVi_1497601
New Contributor

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

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
New Contributor

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

0 Likes
SrinathS_16
Moderator
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