EEPROM Emulation Module (EepM) EEPROM Emulation in Flash Memory access the stored data by identifiers that are predefined or flexi-bly In recent years, flash memory has become more cost-effective and faster than conventional EEPROMs. New microcontrollers are often offered without EEPROM memory and just have a larger internal flash memory. Since writing to flash memory, unlike EEPROMs, is not by the byte but by the page, it is only possible to achieve optimized utilization of the flash memory with the help of an EEPROM emulation. defined at runtime. Special Functions The EEPROM Emulation module is configurable and so it can be adapted to the requirements of the application. It enables: > Simultaneous emulation of multiple EEPROMs > Integration of different flash hardware Overview of Advantages > Usable for external and internal flash > Usable for data and program flash > Conserves resources and optimizes flash lifetime > Possible to use EEPROM emulation module together with the Vector Flash Bootloader Differences between EEPROMs and Flash Memory Flash memories cannot be written byte-by-byte. Their smallest writing unit, known as a page, extends over a number of bytes. A page cannot be overwritten directly. First, it must be erased together with all of the pages of a sector (smallest erasing unit). The page length and sector length are hardware-dependent, and sector lengths may also vary within a flash memory. Application Areas Flash memory cannot be erased or written in the same way as con-ventional Efficient Structuring of Nonvolatile Data Essentially, the use of a flash memory requires that the data to be stored is defined in so-called records. They are addressable by unique identifiers, and besides the stored data they also contain management information. This information assures quick and reli-able EEPROMs. EEPROM emulation in flash memory makes it possible for an application to store changed nonvolatile data in a flash memory, just as in a conventional EEPROM. 5/6 Functions The Vector EEPROM Emulation Module (EepM) manages predefined flash areas by taking all hardware-specific constraints into con-sideration. read access to valid data. The application either defines the length of a record either statically during software configuration or dynamically at runtime, depending on the configuration. Reading and writing of changeable nonvolatile data via the EepM is fully transparent to the application. It is easy to Software architecture of the EepM