This application note shows a method of performing EEPROM emulation on ST10F27x MCUs using the ST10F27x Flash library.
The document explains how to utilize unused space in the ST10F27x MCU's embedded Flash technology as virtual EEPROM. Since Flash is typically used for program instructions and erased by sector, this method overcomes limitations regarding read/write access and cycle counts to store non-volatile data without an external serial EEPROM.
The note provides a detailed software example using the ST10F27x Flash library. It covers the principles of dividing Flash sectors into variable storage spaces, managing header fields for status tracking, and implementing routines to handle data transfer between sectors when memory fills up.
| Technology node | 0.18um |
|---|---|
| Program/Erase cycles | 100 Kcycles, 20 years data retention |
| Data bus width (IFLASH) | 32 bits wide |
| Data bus width (XFLASH) | 16 bits wide |
To show how a portion of the ST10F27x embedded Flash can be used to replace a serial EEPROM to store and update non volatile data.
A minimum of two Flash sectors of identical size must be allocated.
The EEPROM emulation driver was compiled using the Tasking and Keil tool chains.