cancel
Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

New Contributor II

I am seeing that the control center application is only sending 1024 64-byte i2c packets when I try to program the FX3 from bootloader mode.  The image is larger than that.

Using an i2c snooper I can see that the length is 0x4A09 dwords:

Time ,Packet ID,Address,Data,Read/Write,ACK/NAK

0.000090010000000,0,P (0x50),'0' (0x00),Write,ACK

0.000180010000000,0,P (0x50),'0' (0x00),Write,ACK

0.000270010000000,0,P (0x50),C (0x43),Write,ACK

0.000360020000000,0,P (0x50),Y (0x59),Write,ACK

0.000450020000000,0,P (0x50),'30' (0x1E),Write,ACK

0.000540020000000,0,P (0x50),'176' (0xB0),Write,ACK

0.000630030000000,0,P (0x50),J (0x4A),Write,ACK

0.000720030000000,0,P (0x50),\t (0x09),Write,ACK

0.000810030000000,0,P (0x50),'0' (0x00),Write,ACK

0.000900040000000,0,P (0x50),'0' (0x00),Write,ACK

Which matches the .img file contents:

00000000  43 59 1E B0 4A 09 00 00

A couple questions...

1) are the leading two bytes of 0x00 and 0x00 expected to precede the image 'C' and 'Y'?

2) after 1024 64-byte packets the FX3 stops writing to the EEPROM device. 0x4A09 needs 1184 64-byte packets.  How can I get more information out of Control Center?  All I get is the status bar saying that programming failed:

pastedImage_2.png

FYI - the EEPROM is ST-Micro M24M02 which is 256k-byte, I'm configuring the image for the largest supported EEPROM size of 128k-byte (0x1E = 00 01 111 0, bits 3:1=7 is 128k-bytes).

0 Likes
Reply
1 Solution
New Contributor II

Just discovered this information in KBA218344 for the size field of the configuration byte:

7: 128 KB (Microchip) , 6: 64 KB (128K ATMEL ; 128K and 256K ST Electronics), 5: 32 KB,

4: 16 KB, 3: 8 KB, 2: 4 KB, 1 and 0: Reserved

This is NOT the same as the information from the  util/elf2img/readme.txt that came with the development tools which has this:

7 = 128 KB (Microchip), 6 = 64 KB, 5 = 32 KB, 4 = 16 KB,

3 = 8 KB, 2 = 4 KB

When I use 0x1C instead of 0x1E I can program the EEPROM sucessfully.

View solution in original post

0 Likes
Reply
2 Replies
New Contributor II

Just discovered this information in KBA218344 for the size field of the configuration byte:

7: 128 KB (Microchip) , 6: 64 KB (128K ATMEL ; 128K and 256K ST Electronics), 5: 32 KB,

4: 16 KB, 3: 8 KB, 2: 4 KB, 1 and 0: Reserved

This is NOT the same as the information from the  util/elf2img/readme.txt that came with the development tools which has this:

7 = 128 KB (Microchip), 6 = 64 KB, 5 = 32 KB, 4 = 16 KB,

3 = 8 KB, 2 = 4 KB

When I use 0x1C instead of 0x1E I can program the EEPROM sucessfully.

View solution in original post

0 Likes
Reply
Moderator
Moderator

Hello,

That is correct. You will have to follow the KBA218344 which was put up as a solution to the EEPROM Programming Failed issue since the addressing modes of EEPROM's from different manufacturers varies.

You will have to use 64KB for the 256K ST Electronics EEPROM in order for the EEPROM Programming to be successful.

Regards,
Yashwant

0 Likes
Reply