SPRADE8A November   2023  – April 2024 F29H850TU , F29H859TU-Q1 , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. Introduction
  5. Difference Between EEPROM and On-Chip Flash
  6. Overview
    1. 3.1 Basic Concept
    2. 3.2 Single-Unit Method
    3. 3.3 Ping-Pong Method
    4. 3.4 Creating EEPROM Sections (Pages) and Page Identification
  7. Software Description
    1. 4.1 Software Functionality and Flow
  8. Ping-Pong Emulation
    1. 5.1 User-Configuration
      1. 5.1.1 EEPROM_PingPong_Config.h
      2. 5.1.2 F28P65x_EEPROM_PingPong.c
    2. 5.2 EEPROM Functions
      1. 5.2.1  EEPROM_Config_Check
      2. 5.2.2  Configure_Protection_Masks
      3. 5.2.3  EEPROM_Write
      4. 5.2.4  EEPROM_Read
      5. 5.2.5  EEPROM_Erase
        1. 5.2.5.1 Erase_Bank
      6. 5.2.6  EEPROM_GetValidBank
      7. 5.2.7  EEPROM_UpdateBankStatus
      8. 5.2.8  EEPROM_UpdatePageStatus
      9. 5.2.9  EEPROM_UpdatePageData
      10. 5.2.10 EEPROM_Get_64_Bit_Data_Address
      11. 5.2.11 EEPROM_Program_64_Bits
      12. 5.2.12 EEPROM_CheckStatus
      13. 5.2.13 ClearFSMStatus
    3. 5.3 Testing Example
  9. Single-Unit Emulation
    1. 6.1 User-Configuration
      1. 6.1.1 EEPROM_Config.h
      2. 6.1.2 F28P65x_EEPROM.c
    2. 6.2 EEPROM Functions
      1. 6.2.1  EEPROM_Config_Check
      2. 6.2.2  Configure_Protection_Masks
      3. 6.2.3  EEPROM_Write
      4. 6.2.4  EEPROM_Read
      5. 6.2.5  EEPROM_Erase
      6. 6.2.6  EEPROM_GetValidBank
      7. 6.2.7  EEPROM_Get_64_Bit_Data_Address
      8. 6.2.8  EEPROM_UpdateBankStatus
      9. 6.2.9  EEPROM_UpdatePageStatus
      10. 6.2.10 EEPROM_UpdatePageData
      11. 6.2.11 EEPROM_Get_64_Bit_Data_Address
      12. 6.2.12 EEPROM_Program_64_Bits
      13. 6.2.13 EEPROM_CheckStatus
      14. 6.2.14 ClearFSMStatus
    3. 6.3 Testing Example
  10. Application Integration
  11. Adapting to Other Gen 3 C2000 MCUs
  12. Flash API
    1. 9.1 Flash API Checklist
      1. 9.1.1 Flash API Do's and Do Not's
  13. 10Source File Listing
  14. 11Troubleshooting
    1. 11.1 General
  15. 12Conclusion
  16. 13References
  17. 14Revision History

Source File Listing

FileFunctionDescription
F28P65x_EEPROM_PingPong.cEEPROM_Config_Check()
Configure_Protection_Masks()
EEPROM_Write()
EEPROM_Read()
EEPROM_Erase()
Erase_Bank()
EEPROM_GetValidBank()
EEPROM_UpdateBankStatus()
EEPROM_UpdatePageStatus()
EEPROM_UpdatePageData()
EEPROM_Get_64_Bit_Data_Address()
EEPROM_Program_64_Bits()
EEPROM_CheckStatus()
ClearFSMStatus()
Validate EEPROM configuration
Configure bits for W/E Protection Masks
Performs write operation
Performs read operation
Performs erase operation
Performs erase operation
Finds valid bank and page
Updates bank status
Updates pages status
Updates page data
Finds pointer for 64-bit operation and tests for full sector
Programs 64-bits to flash
Verify success of flash operation
Clear flash state machine status
EEPROM_PingPong_Config.h

Contains function prototypes, global variables, includes flash API headers, pointer initialization, definition of constants and macros, enter user-configurable variables

F28P65x_EEPROM.cEEPROM_Config_Check()
Configure_Protection_Masks()
EEPROM_Write()
EEPROM_Read()
EEPROM_Erase()
EEPROM_GetValidBank()
EEPROM_UpdateBankStatus()
EEPROM_UpdatePageStatus()
EEPROM_UpdatePageData()
EEPROM_Get_64_Bit_Data_Address()
EEPROM_Program_64_Bits()
EEPROM_CheckStatus()
ClearFSMStatus()
Validate EEPROM configuration
Configure bits for W/E Protection Masks
Performs write operation
Performs read operation
Performs erase operation
Finds valid bank and page
Updates bank status
Updates pages status
Updates page data
Finds pointer for 64-bit operation and tests for full sector
Programs 64-bits to flash
Verify success of flash operation
Clear flash state machine status
EEPROM_Config.hContains function prototypes, global variables, includes flash API headers, pointer initialization, definition of constants and macros, enter user-configurable variables