SPRADE8 November   2023 TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1

 

  1.   EEPROM Emulation for Generation 3 C2000 Real Time Controllers
  2.   Trademarks
  3. Introduction
  4. Difference Between EEPROM and On-Chip Flash
  5. 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
  6. Software Description
    1. 4.1 Software Functionality and Flow
  7. Ping-Pong Emulation
    1. 5.1 User-Configuration
      1. 5.1.1 EEPROM_Config.h
      2. 5.1.2 F28P65x_EEPROM.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_Get_64_Bit_Data_Address
      10. 5.2.10 EEPROM_Program_64_Bits
      11. 5.2.11 EEPROM_CheckStatus
      12. 5.2.12 ClearFSMStatus
    3. 5.3 Testing Example
  8. 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_Erase
      5. 6.2.5  EEPROM_GetValidBank
      6. 6.2.6  EEPROM_Get_64_Bit_Data_Address
      7. 6.2.7  EEPROM_UpdateBankStatus
      8. 6.2.8  EEPROM_UpdatePageStatus
      9. 6.2.9  EEPROM_Get_64_Bit_Data_Address
      10. 6.2.10 EEPROM_Program_64_Bits
      11. 6.2.11 EEPROM_CheckStatus
      12. 6.2.12 ClearFSMStatus
    3. 6.3 Testing Example
  9. Application Integration
  10. Adapting to Other Gen 3 C2000 MCUs
  11. Flash API
    1. 9.1 Flash API Checklist
      1. 9.1.1 Flash API Do's and Do Not's
  12. 10Source File Listing
  13. 11Conclusion
  14. 12References

Source File Listing

File Function Description
F28P65x_EEPROM_PingPong.c EEPROM_Config_Check()
Configure_Protection_Masks()
EEPROM_Write()
EEPROM_Read()
EEPROM_Erase()
Erase_Bank()
EEPROM_GetValidBank()
EEPROM_UpdateBankStatus()
EEPROM_UpdatePageStatus()
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
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_PingPong.c EEPROM_Config_Check()
Configure_Protection_Masks()
EEPROM_Write()
EEPROM_Read()
EEPROM_Erase()
EEPROM_GetValidBank()
EEPROM_UpdateBankStatus()
EEPROM_UpdatePageStatus()
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
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.h Contains function prototypes, global variables, includes flash API headers, pointer initialization, definition of constants and macros, enter user-configurable variables