SLAAEB4 april   2023 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3106 , MSPM0G3107 , MSPM0G3505 , MSPM0G3506 , MSPM0G3507 , MSPM0L1105 , MSPM0L1106 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346

 

  1.   Abstract
  2.   Trademarks
  3. 1Introduction
    1. 1.1 Difference Between EEPROM and On-Chip Flash
  4. 2Implementation
    1. 2.1 Principle
    2. 2.2 Header
  5. 3Software Description
    1. 3.1 Software Functionality and Flow
    2. 3.2 EEPROM Functions
      1. 3.2.1 Global Variables
      2. 3.2.2 EEPROM_TypeB_readDataItem
      3. 3.2.3 EEPROM_TypeB_findDataItem
      4. 3.2.4 EEPROM_TypeB_write
      5. 3.2.5 EEPROM_TypeB_transferDataItem
      6. 3.2.6 EEPROM_TypeB_eraseGroup
      7. 3.2.7 EEPROM_TypeB_init
    3. 3.3 Application Integration
    4. 3.4 EEPROM Emulation Memory Footprint
    5. 3.5 EEPROM Emulation Timing
  6. 4Application Aspects
    1. 4.1 Selection of Configurable Parameters
      1. 4.1.1 Number of Data Items
      2. 4.1.2 Cycling Capability
    2. 4.2 Recovery in Case of Power Loss
  7. 5References

Introduction

Many applications require store data in non-volatile memory, so that the application can be reused or modified even after the system is powered up again. EEPROM is design for such applications. Although the MSPM0 MCUs does not have an internal EEPROM, the MSPM0 internal Flash supports EEPROM emulation. Compared to using an external serial EEPROM, EEPROM emulation using the internal Flash saves pin usage and cost.

Different applications require different storage structures. The type B design described in this article is designed for storing small variable data. If the application needs to store large block of data, the type A design can be referenced.