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

USB superspeed peripherals Forum Discussions

shsa_4792201
Level 1
Level 1

I2C EEPROM (AT24CM01) for boot is connected to Cyusb3014, PMODE is changed, and USB boot and I2C boot are used depending on the situation.I want to change the I2C Boot EEPROM Address from 0xA0 to 0xA8 or 0xA4. Can you tell me if this is possible and if so, how to do it?

pastedImage_0.png

0 Likes
1 Solution
YashwantK_46
Moderator
Moderator
Moderator
100 solutions authored 50 solutions authored 50 likes received

Hello,

It is not possible to change the default I2C slave address and is fixed at '0xA0'.

The Cypress USB FX3 Bootloader Device checks for the PMODE and based on that, load the firmware from the EEPROM, starting from the address 0xA0, and loads accordingly.

Regards,

Yashwant

View solution in original post

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

Hello,

It is not possible to change the default I2C slave address and is fixed at '0xA0'.

The Cypress USB FX3 Bootloader Device checks for the PMODE and based on that, load the firmware from the EEPROM, starting from the address 0xA0, and loads accordingly.

Regards,

Yashwant

0 Likes
shsa_4792201
Level 1
Level 1

Thank you for answer.

Can you recommend a reference document for I2C Slave Address?

0 Likes

Hello,


Can you let me know what you mean by, "reference document for I2C Slave Address"?

Do you want to know the slave address translation used while booting from EEPROM?

FX3 uses 7-bit + R/W slave addressing for I2C slaves.

Regards,

Yashwant

0 Likes

I checked various documents provided by Cypress, but I couldn't find the answer I wanted, so I made an inquiry to the Community, and you seem to know exactly, so I wrote a reply to know if related documents are provided by Cypress or if there is any reference.

0 Likes

Hello shsa_4792201​,

The way the I2C EEPROM programming works while programming from Control Center > Program > FX3 > I2C EEPROM, the Control Center utility calls the "CyBootProgrammer.img" which is then used to program the actual firmware image file to the I2C EEPROM.


The source code of the 'CyBootProgrammer.img' image file is present at the location: C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\basic_examples\cyfxflashprog

NOTE: The built firmware image needs to be renamed to "CyBootProgrammer.img" and replaced with the image file in the location, so that any changes to the BootProgrammer takes effect, in the path: C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\bin

You can go through the firmware implementation to understand how the I2C EEPROM and SPI FLASH are programmed using the Control Center utility.

We don't have any other related documents for reference specific to the I2C slave address or any way to change it.

Regards,
Yashwant

0 Likes