libftdi Archives

Subject: EEPROM string storage and user data, libFTDI 0.20

From: Ryan Tennill <rtennill@xxxxxxxxxxxxxxxx>
To: libftdi <libftdi@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 16 Oct 2012 16:18:53 -0500
I want to use some of the extra EEPROM space after the strings area to
store some hardware specific information. While setting up some
prototype code I noticed that the string characters show up in the MSB
of each word when the device is read in FTPROG. I had previously
programmed the chip using my own version of the ftdi_eeprom example and
it looks the same when programming with FTPROG too:

Word: Data
0000: 0040 0304 0160 0006 802D 0803 0000 980A 
0008: A20E B012 AAAA 0900 0A03 4600 5400 4400 
0010: 4900 0E03 5500 4200 3200 3300 3200 5200 
0018: 1203 4600 5400 5600 5300 5A00 5500 4500 
0020: 5900 0000 0000 0000 0000 0000 0000 0000 
0028: 0000 0000 0000 0000 0000 0000 0000 0000 
0030: 0000 0000 0000 0000 0000 0000 0000 0000 
0038: 0000 0000 0000 0000 0000 0000 0000 876E 
0040: 1B04 E4FB 0000 3849 1780 4200 0000 0000 
0048: 0000 0000 0000 0000 3841 4E54 4D48 4631 


In AN-121 it says that the EEPROM must have a 16bit word for
232B/245B/2232D/2232H/4232H devices so couldn't we store 2 characters in
each word for longer strings or more user space? The extra overhead from
shifting shouldn't be that significant on such a small chunk of data.

Lastly, is there a best practice for inserting the user data while
keeping the checksum valid so that eeprom_decode() doesn't return an
error? I thought I could create my output buffer, insert my data, and
call eeprom_build() but there is a memset to clear the output buffer in
build()...

Thanks!

Ryan


--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx   

Current Thread
  • EEPROM string storage and user data, libFTDI 0.20, Ryan Tennill <=