2004-09-23 05:34 PM
EEPROM Emulation Code for uPSD3200
2011-05-17 03:03 AM
Hello,
I use the eeprom emulation code in my application. But I found that I have timing problems: If I called eeprom_update() more than 150 times, the writing time increased continous. At least I took 6 seconds (!) to write the data. Has anyone notice such a proplem ? Searching throung the linked-list ? I'am a little bit confusing how to use the id parameter in the functions update_record() and read_record() ? Especially if I choose a EEPROM_RECORD_SIZE greater than 1. I used the following configuration in eeprom.h: typedef enum { EEPROM_ID_HARDWARE_STATE = 0, EEPROM_ID_SECURITY_STATUS = 1, EEPROM_ID_TRANSPORT_KEY_BYTE1 = 2, EEPROM_ID_TRANSPORT_KEY_BYTE2 = 3, EEPROM_ID_TRANSPORT_KEY_BYTE3 = 4, EEPROM_ID_TRANSPORT_KEY_BYTE4 = 5, EEPROM_ID_TRANSPORT_KEY_BYTE5 = 6, EEPROM_ID_TRANSPORT_KEY_BYTE6 = 7, EEPROM_ID_TRANSPORT_KEY_BYTE7 = 8, EEPROM_ID_TRANSPORT_KEY_BYTE8 = 9, EEPROM_ID_LCD_LIGHT = 10, EEPROM_ID_POWER_LOSS_STATUS = 11, EEPROM_ID_SOUND_VOLUME = 12 } EepromId; // EEPROM Sector size is 8192 bytes // EEPROM_RECORD_SIZE and max_records (entered by application /programmer) // must be defined such that // (max_records * EEPROM_RECORD_SIZE) + header size (7 bytes) <= 8192/2 // size in bytes of each record #define EEPROM_RECORD_SIZE 1 // number of bytes per sector #define SECTOR_SIZE 0x2000 // maximum number of data records handled in the eeprom emulation #define EEPROM_MAX_RECORDS 50 Ciao, Ciao Andreas2011-05-17 03:03 AM
Please send your questions to the application engineering department at:
mailto:apps.psd@st.com
. Also provide the following information so we can better help you: Name Company Name Phone Number Location (City, State, Country) Production uPSD part number (3234, 3334, etc.) Application Projected annual volume (units) Production start date Thanks, uPSD Applications Engineering