SPMA078 March   2021 TM4C1290NCPDT , TM4C1290NCPDT , TM4C1290NCZAD , TM4C1290NCZAD , TM4C1292NCPDT , TM4C1292NCPDT , TM4C1292NCZAD , TM4C1292NCZAD , TM4C1294KCPDT , TM4C1294KCPDT , TM4C1294NCPDT , TM4C1294NCPDT , TM4C1294NCZAD , TM4C1294NCZAD , TM4C1297NCZAD , TM4C1297NCZAD , TM4C1299KCZAD , TM4C1299KCZAD , TM4C1299NCZAD , TM4C1299NCZAD , TM4C129CNCPDT , TM4C129CNCPDT , TM4C129CNCZAD , TM4C129CNCZAD , TM4C129DNCPDT , TM4C129DNCPDT , TM4C129DNCZAD , TM4C129DNCZAD , TM4C129EKCPDT , TM4C129EKCPDT , TM4C129ENCPDT , TM4C129ENCPDT , TM4C129ENCZAD , TM4C129ENCZAD , TM4C129LNCZAD , TM4C129LNCZAD , TM4C129XKCZAD , TM4C129XKCZAD , TM4C129XNCZAD , TM4C129XNCZAD

 

  1.   Trademarks
  2. 1Introduction
    1. 1.1 Definitions
  3. 2Theory of Operation
    1. 2.1 Normal Use
    2. 2.2 Normal Endurance
    3. 2.3 High Endurance Use
    4. 2.4 Data Integrity
    5. 2.5 CRC Module
  4. 3Software Description
    1. 3.1 Environment
    2. 3.2 Files
    3. 3.3 Functions
      1. 3.3.1  FeeInit
      2. 3.3.2  FeeCheckDatasetValid
      3. 3.3.3  FeeFormat
      4. 3.3.4  FeeRead
      5. 3.3.5  FeeWrite
      6. 3.3.6  FeeGetStatus
      7. 3.3.7  FeeGetJobResults
      8. 3.3.8  FeeGetDatasetCounter
      9. 3.3.9  FeeGetVersionInformation
      10. 3.3.10 FeeMainFunction
  5. 4Execution Time
    1. 4.1 Read Time
    2. 4.2 Write Time
      1. 4.2.1 Write Time When no Erase is Required
      2. 4.2.2 Write Time when Sector Copy is Required
      3. 4.2.3 Write Time when Sector Copy is Required and Copy Sector is Full
      4. 4.2.4 Write Time with Interrupts
  6. 5Examples
    1. 5.1 Polling Fee Example
    2. 5.2 Interrupt Fee Example
    3. 5.3 Import, Program and Run Examples
      1. 5.3.1 To Import the Project into CCS, First Select "File" → "Import"
      2. 5.3.2 Select "CCS Projects" to Import the Example, Then Click "Next"
      3. 5.3.3 Provide the Path to Either the Unzipped Project by Selecting the First Radio Button or Import the Sip File Directly by Selecting the Second Radio Button. Click the "Copy Projects Into Workspace".
      4. 5.3.4 After the Project Path is Provided, it Will Show up as a Discovered Project. Click the "Finish" Button to Complete the Import.
      5. 5.3.5 Program the Example into the Flash Memory and Start Executing the Example
      6. 5.3.6 Configure the Serial Terminal Window
      7. 5.3.7 Run the Example
  7. 6Summary

Normal Use

The EEPROM of the TM4C129x device is composed of a bank of split gate flash. The flash cells have an intrinsic write-erase endurance of more than 100,000 cycles. The bank is implemented with 13 sectors. Twelve sectors are used for data and the thirteenth is used for the copy buffers. A sector is the smallest amount that can be erased at one time. Each of the twelve data sectors is broken into eight blocks. Each block holds 16 32-bit words (64 bytes). Within that block there are actually storage locations for seven images of the 16 words, with additional flash control bits to identify which of the seven images holds the valid data.

In normal operation, the EEPROM hardware state-machine keeps track of which of the seven images of a word are valid. When the program tries to update a word the eighth time, the word is initially written into the copy sector. Then the current value of each of the other 127 words ((16 words x 8 blocks) – 1) is also copied to the copy sector. The data sector is then erased, and the data in the copy sector is programmed into the first image of the data sector.

The copy sector, like the data sectors, has multiple images. There are 12 image locations in the copy sector. That means that before the thirteenth time a data sector must be erased, the copy sector must be erased to prepare more room. The hardware state-machine will initiate an erase of the copy sector the next time a data sector requires an erase. This results in a longer delay before the data can be stored in non-volatile memory.