Is there any C++ example on how to load the .img file to an EEPROM?

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

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

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
Moderator
1000 replies posted 750 replies posted 500 replies posted

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
Moderator
1000 replies posted 750 replies posted 500 replies posted

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

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

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

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

0 Likes

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