2004-09-23 5:34 PM
EEPROM Emulation Code for uPSD3200
2011-05-17 3: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 3: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 EngineeringWe’re moving the ST Community to a new platform to give you a better and more reliable community experience.