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

CRC Module

The hardware CRC module is used by the FEE driver to validate that the contents of the emulated EEPROM memory are the same as what was intended. The CRC module is used in the functions FeeWrite(), FeeRead(), FeeInit(), FeeCheckDatasetValid() and FeeMainFunction(). The configuration, use and reading of the module are completely contained within each function call. The hardware CRC module may be used with different settings if the state of the module is not required to be maintained across a call to a FEE function.

If the hardware CRC module is to be used in a manner that calls to the Fee functions occur while calculating with the CRC module, the configuration used by the application must be defined in the HEeepromConfig.h file. This causes the FEE driver to save the contents of the CRCSEED and restore if after completion. It will also restore the CRCCTRL register to the settings defined in the HEeepromConfig.h file. Since the Fee driver cannot restore the contents of the Post Processing Result (CRCRSLTPP) register, if a FEE driver function is called after the last write to the CRC Data Input (CRCDIN) register and before reading the post processing result register, the contents of the post processing result register will be corrupt. In this case, the CRC Seed (CRCSEED) register should be read instead and the post processing performed by the CPU.

If the CRC module is to be used in an interrupt routine and the FEE status is not FEE_IDLE, the contents of the CRCSEED register should be saved before using the module. After using the module, the configuration should be set back to (CRC_CFG_TYPE_P4C11DB7 | CRC_CFG_SIZE_32BIT) and the saved value restored as the new seed.