SPRUJ96A November   2023  – April 2024 TMS320F2800152-Q1 , TMS320F2800153-Q1 , TMS320F2800154-Q1 , TMS320F2800155 , TMS320F2800155-Q1 , TMS320F2800156-Q1 , TMS320F2800157 , TMS320F2800157-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
    1. 1.1 Reference Material
    2. 1.2 Function Listing Format
  5. 2TMS320F280013x/15x Flash API Overview
    1. 2.1 Introduction
    2. 2.2 API Overview
    3. 2.3 Using API
      1. 2.3.1 Initialization Flow
        1. 2.3.1.1 After Device Power Up
        2. 2.3.1.2 Flash Wrapper and Bank Setup
        3. 2.3.1.3 On System Frequency Change
      2. 2.3.2 Building With the API
        1. 2.3.2.1 Ojbects Library Files
        2. 2.3.2.2 Distribution Files
        3. 2.3.2.3 Key Facts For Flash API Usage
  6. 3API Functions
    1. 3.1 Initialization Functions
      1. 3.1.1 Fapi_initializeAPI()
    2. 3.2 Flash State Machine Functions
      1. 3.2.1  Fapi_setActiveFlashBank()
      2. 3.2.2  Fapi_setupBankSectorEnable()
      3. 3.2.3  Fapi_issueAsyncCommandWithAddress()
      4. 3.2.4  Fapi_issueBankEraseCommand()
      5. 3.2.5  Fapi_issueProgrammingCommand()
      6. 3.2.6  Fapi_issueProgrammingCommandForEccAddresses()
      7. 3.2.7  Fapi_issueAutoEcc512ProgrammingCommand()
      8. 3.2.8  Fapi_issueDataAndEcc512ProgrammingCommand()
      9. 3.2.9  Fapi_issueDataOnly512ProgrammingCommand()
      10. 3.2.10 Fapi_issueEccOnly64ProgrammingCommand()
      11. 3.2.11 Fapi_issueAsyncCommand()
      12. 3.2.12 Fapi_checkFsmForReady()
      13. 3.2.13 Fapi_getFsmStatus()
    3. 3.3 Read Functions
      1. 3.3.1 Fapi_doBlankCheck()
      2. 3.3.2 Fapi_doVerify()
    4. 3.4 Informational Functions
      1. 3.4.1 Fapi_getLibraryInfo()
    5. 3.5 Utility Functions
      1. 3.5.1 Fapi_flushPipeline()
      2. 3.5.2 Fapi_calculateEcc()
      3. 3.5.3 Fapi_isAddressEcc()
      4. 3.5.4 Fapi_remapEccAddress()
      5. 3.5.5 Fapi_calculateFletcherChecksum()
  7. 4Recommended FSM Flows
    1. 4.1 New Devices From Factory
    2. 4.2 Recommended Erase Flow
    3. 4.3 Recommended Bank Erase Flow
    4. 4.4 Recommended Program Flow
  8. 5Software Application Assumptions of Use Related to Safety
  9.   A Flash State Machine Commands
  10.   B Typedefs, Defines, Enumerations and Structures
    1.     B.1 Type Definitions
    2.     B.2 Defines
    3.     B.3 Enumerations
      1.      B.3.1 Fapi_FlashProgrammingCommandsType
      2.      B.3.2 Fapi_FlashBankType
      3.      B.3.3 Fapi_FlashStateCommandsType
      4.      B.3.4 Fapi_StatusType
      5.      B.3.5 Fapi_ApiProductionStatusType
    4.     B.4 Structures
      1.      B.4.1 Fapi_FlashStatusWordType
      2.      B.4.2 Fapi_LibraryInfoType
  11.   C Summary of Changes for FAPI Library From v2.00.01 to v2.00.10
  12.   D Revision History

Distribution Files

The following API files are distributed in the C2000Ware\libraries\flash_api\f280013x\folder:

  • Library Files
    • TMS320F280013x Flash API is NOT embedded into the Boot ROM of this device, it is wholly software. The software libraries provided are in EABI elf (FAPI_F280013x_EABI_v2.00.10.lib) and COFF (FAPI_F280013x_COFF_v2.00.10.lib) object formats. In order for the application to be able to erase or program the Flash/OTP, one of these two library files should be included in the application, depending on the output object format the application is using.
  • FAPI_F280013x_EABI_v2.00.10.lib – This is the Flash API EABI elf object format library (FPU32 flag enabled for build) for TMS320F280015x devices.
  • FAPI_F280013x_COFF_v2.00.10.lib – This is the Flash API COFF object format library (FPU32 flag enabled for build) for TMS320F280013x devices.
  • Fixed point version of the API library is not provided.
  • Include Files:
    • FlashTech_F280013x_C28x.h – The master include file for TMS320F280013x devices. This file sets up compile specific defines and then includes the FlashTech.h master include file.
    • hw_flash_command.h – Definitions of the flash write/erase protection registers
  • The following include files should not be included directly by the user’s code, but are listed here for user reference:
    • FlashTech.h – This include file lists all public API functions and includes all other include files.
    • Registers.h – Definitions common to all register implementations and includes the appropriate register include file for the selected device type.
    • Registers_C28x.h – Containts Little Endian and Flash memory controller registers structure.
    • Types.h – Contains all the enumerations and structures used by the API.
    • Constants/F280013x.h – Constant definitions for F280013x devices.

The following API files are distributed in the C2000Ware\libraries\flash_api\f280015x\folder:

  • Library Files
    • TMS320F280015x Flash API is NOT embedded into the Boot ROM of this device, it is wholly software. The software libraries provided are in EABI elf (FAPI_F280015x_EABI_v2.00.10.lib) and COFF (FAPI_F280015x_COFF_v2.00.10.lib) object formats. In order for the application to be able to erase or program the Flash/OTP, one of these two library files should be included in the application, depending on the output object format the application is using.
  • FAPI_F280015x_EABI_v2.00.10.lib – This is the Flash API EABI elf object format library (FPU32 flag enabled for build) for TMS320F280015x devices.
  • FAPI_F280015x_COFF_v2.00.10.lib – This is the Flash API COFF object format library (FPU32 flag enabled for build) for TMS320F280015x devices.
  • Fixed point version of the API library is not provided.
  • Include Files:
    • FlashTech_F280015x_C28x.h – The master include file for TMS320F280015x devices. This file sets up compile specific defines and then includes the FlashTech.h master include file.
    • hw_flash_command.h – Definitions of the flash write/erase protection registers
  • The following include files should not be included directly by the user’s code, but are listed here for user reference:
    • FlashTech.h – This include file lists all public API functions and includes all other include files.
    • Registers.h – Definitions common to all register implementations and includes the appropriate register include file for the selected device type.
    • Types.h – Contains all the enumerations and structures used by the API.
    • Constants/F280015x.h – Constant definitions for F280015x devices.