You are here

programming microchip 24lc512 trough FC3 | Cypress Semiconductor

programming microchip 24lc512 trough FC3

Summary: 3 Replies, Latest post by caifei on 09 Jan 2014 09:04 PM PST
Verified Answers: 0
Last post
Log in to post new comments.
joebreprivate's picture
49 posts

Hi, did anybody succeeded un programming a microchip 24LC512 I2C EEprom using FX3 and the USB control center ?

I just want the FX3 coming up with the bootloader (trough USB) but with a custom PID/VID. For having this I prepared an 8 bytes IMG file with:

 val_hex = [

'43' -> C

'59' ->Y

'0C' -> 512 kbit; 100 kHz

'B2' -> I2C boot with USB fall back

'63' -> PID/VID

'08' -> PID/VID

'D0' -> PID/VID

'16'] -> PID/VID

I'm able to program this values into the Cypress FX3 DVK board (Microchip 24FC1026; 1024 Kbit) which boots with the desired PID/VID when configured F1F on PMODES. The same procedure doesn't works on our board where 24LC512 has been mounted (no write protection; F1F Pmode). When I try to program the I2C EEPROM the USB control center returns "programming of I2C EEPROM failed". Does FX3 supports 20LC512 Eproms ? is the above 8 byte vector correct for a 512 kbit microchip EEPROM ?


Thanks, Joel


scutifer's picture
Cypress Employee
134 posts

 There shouldn't be any problem booting from a 24LC512. The main problem is usually the 3rd byte that specifies I2C speed and type which, in your case, seems correct.


First, verify that the device works correctly. You can use FX3 for this -- download some I2C example code (in SDK_INSTALL_PATH/firmware/serialif_examples) and see if you can talk to the device. 


Also verify that A[2:0] of the EEPROM is set to {000} and its Vcc between 2.5V and 5.5V.

joebreprivate's picture
49 posts

Ok, for some reason the control word has to be set to 1E instead of 0C  (even if it ia a 64 kByte eprom). Doing this solves the issue.

Thanks, Joel

caifei's picture
3 posts

I am taking the same method to make fx3 coming with new PID/VID.

I have tested the eeprom module and it works normally

I use the control centre to download the img file(generated by the test program)

It downloads successfully but it failed to enumerate with new VID/PID.

so is the problem that I should create a new  8 bytes img file(not the img file generated by the test program)?

can you give me some suggestions?

best regards

Log in to post new comments.