7 16-BIT DATA EEPROM EMULATION MCC MODULE

The 16-bit Data EEPROM emulation MCC module provides a simple GUI for the user to configure the EEPROM emulation algorithm and generates the code for the Data EEPROM emulation.

This module avoids the users from making the above configuration manually, instead users have to provide 2 parameters i.e. the numbers 16-bit data EEPROM data users want to store and the required endurance for their application/data.

Based on the users input all the required parameters which are mentioned in the previous section are automatically calculated by the module.

In devices with dual partition support , users are provided an option to choose whether they want the DEE library to copy the DEE data from active partition to inactive partition in case of an execution switch. Execution switch can happen if there exists a new version of the application/firmware (using live update functionality provided by the bootloader) in the inactive panel and if there is a requirement to copy DEE data from the previous execution of the application so that the previous data is not lost.

Note: Application by default uses the highest flash memory area excluding the configuration settings area for the emulated structure. If the uses want to provide the start address for the emulated data structure they can do so by disabling the Use Highest Flash Memory Area button.

This module also provides the following useful information to the users,

  1. Calculated Total Effective endurance cycles: The achieved endurance is not exactly same as the requested endurance, the algorithm will always achieve the requested endurance. This parameter provides the actual endurance achieved using this algorithm. Calculated Total Effective endurance = (Page Size – Page Status Size – Maximum Data EE Size Per Bank) x Number of Pages Flash Pages Per EEPROM Bank x Requested Total Effective Endurance. If the device has ECC, the hardware has one ECC per two instruction words, but DEE operate at a single instruction word level. So for devices with ECC, DEE uses every other instruction word only, So Page size should be half. Page Status Size is 1(size of the status info).
  2. End Flash Address: This is the end address of the emulated data structure.
  3. Flash Size (Instruction words): This gives the actual size in Instruction Words occupied by the emulated data structure in the flash. 1 Instruction word = 3 Bytes.
  4. Number of EEPROM Banks: This tells the number of EEPROM banks required to store the user data. EEPROM data bank is a logical entity. The maximum size of a bank is 255 i.e. in a flash page maximum of 255 addresses and their data will be stored
  5. Number of Flash Pages per EEPROM Bank: This tells the number of flash pages allocated per bank to achieve the required endurance.
  6. Data EE Size Per Bank: This is the maximum EE data that can be stored in a bank i.e. this will decide the number of EE addresses per flash page. The maximum value is 255.
  7. Minimum Flash Cell Endurance: This is the minimum endurance of the flash cell in the given device.
  8. Flash Erase Page Size (Instruction Words): This is the flash page size.