When to use EEPROM Emulation Library Pack01 or Pack02 for RL78 family?
Question:
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 |
<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). |
<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 |
<When EEPROM emulation is continued> When writing is continued, the invalid data are skipped. |
<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
Data Flash Libraries |