Skip to main content
Knowledgebase
Home
Renesas Electronics America - Knowledgebase

When to use EEPROM Emulation Library Pack01 or Pack02 for RL78 family?

Latest Updated:12/26/2014

Question:

When would I use EEPROM Emulation Library Pack01 or Pack02 for the RL78 family?
What are the differences between Pack01 and Pack02?

Answer:

The EEPROM emulation library is software for rewriting data flash memory. Specifically, it is application software that suits systems with multiple types of data that require frequent updating.
In this library, multiple types of data are managed by data IDs (identifiers) and data are updated by shifting memory addresses so that the number of cycles of erasing data flash memory is decreased and the number of cycles of updating data is increased.
Pack02 has been reduced in size and has simpler functionality than Pack01. The following table gives a comparison of the basic specifications of Pack01 and Pack02.

 

Comparison of Basic Specifications between EEPROM Emulation Library Pack01 and Pack02 for the RL78 Family

Basic Specifications
EEPROM Emulation Library
Pack01
EEPROM Emulation Library
Pack02
Blocks Required blocks
At least 4
At least 3
Operating blocks
At least 2
1 (fixed)
Data size Block management area size (in bytes)
32
8
Data length (in bytes)
1 to 255
1 to 255
Number of data IDs (identifiers)
1 to 255
1 to 64
Write data unit
4 bytes
1 byte
Reference data size (in bytes)
8
2

Number of empty bytes required at the termination information (separator):

12
2
Maximum usable size of one block(in bytes)
980
1014
Maximum size (in bytes)
980 × the number of EEPROM emulation blocks × 1/4*1
1014
Recommended data size (in bytes)
Maximum size - 980/2
1014/2
Clean-up/refresh processing Command
EEL_CMD_CLEANUP command
EEL_CMD_REFRESH command
Background processing
Yes (maintenance mode)
No
Others Data ID (identifier) number
Any desired setting is permitted.
Fixed
Data checksum
Supported
Not supported

States when there exists data where writing is incomplete due to a reset, etc.*2

Read data

  • Incomplete data are ignored as invalid.

<When the EEL_CMD_READ command is executed>
The latest write data excluding the invalid data are read (errors are not returned for the invalid data*3).
  • Incomplete data are ignored as invalid.

<When the EEL_CMD_READ command is executed>
The write data immediately before the invalid data are read (errors are not returned for the invalid data*3).

States when there exists data where writing is incomplete due to a reset, etc.*2

Corresponding block

  • Although the invalid data are ignored, the block can be continuously used as an EEPROM emulation block.

<When EEPROM emulation is continued>
When writing is continued, the invalid data are skipped.
  • The data after invalid data cannot be written or read as an EEPROM emulation block.
  • If writing is continued, the EEL_ERR_POOL_FULL error will occur.

<When EEPROM emulation is continued>
Executing the EEL_CMD_REFRESH command enables continuing EEPROM emulation in the new active block.
Execution modes Three:
Enforced/timeout/polling
Polling mode only

*Note 1: The following is the actual maximum size. 980 bytes × (the number of EEPROM emulation blocks – 2) Note, however, that since the need to move data each time values are updated in the above case may lower the processing efficiency, we recommend using the expression in the list.

*Note 2: The libraries check the state of written data by checking the checksum of the data (Pack01) or the values of the SoR and EoR fields (Pack02).

*Note 3: If a data ID (identifier) does not exist, the EEL_ERR_NO_INSTANCE error will occur.

For details on specifications of these libraries, refer to the following user's manuals, which are available here.

  • RL78 Family EEPROM Emulation Library Pack01 User's Manual
  • RL78 Family EEPROM Emulation Library Pack02 User's Manual
Suitable Products
Data Flash Libraries