Skip to main content
andreasschreckenberg9
Associate
September 24, 2004
Question

EEPROM Emulation Code for uPSD3200

  • September 24, 2004
  • 2 replies
  • 768 views
Posted on September 24, 2004 at 02:34

EEPROM Emulation Code for uPSD3200

This topic has been closed for replies.

2 replies

joseph2399
Associate II
May 17, 2011
Posted on May 17, 2011 at 12:03

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

andreasschreckenberg9
Associate
May 17, 2011
Posted on May 17, 2011 at 12:03

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

Andreas