SPRUJB8 April   2024

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
    1. 1.1 Reference Material
    2. 1.2 Function Listing Format
  5. 2TMS320F28P65x 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 Object Library Files
        2. 2.3.2.2 Distribution Files
      3. 2.3.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.   A Flash State Machine Commands
  9.   B Typedefs, Defines, Enumerations and Structure
    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
  10.   C Summary of Changes From v3.00.01 to v3.00.02

Fapi_getFsmStatus()

Returns the value of the STATCMD register

Synopsis

Fapi_FlashStatusType Fapi_getFsmStatus(void) 

Parameters

None

Description

This function returns the value of the STATCMD register. This register allows the user application to determine whether an erase or program operation is successfully completed or in progress or suspended or failed. The user application should check the value of this register to determine if there is any failure after each erase and program operation.

Return Value

Table 3-8 STATCMD Register
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
 
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FAILMISC FAILINVDATA FAILILLADDR FAILVERIFY FAILWEPROT CMDINPROGRESS CMDPASS CMDDONE
RO(1) - 0x0 RO - 0x0 RO - 0x0 RO - 0x0 RO - 0x0 RO - 0x0 RO - 0x0 RO - 0x0
RO – Read Only
Table 3-9 STATCMD Register Field Descriptions
Bit Name Description Reset value
12 FAILMISC Command failed due to error other than write/erase protect violation or verify error.
0: No Fail
1: Fail
0x0
8 FAILINVDATA Program command failed because an attempt was made to program a stored 0 value to a 1.
0: No Fail
1: Fail
0x0
6 FAILILLADDR Command failed due to the use of an illegal address.
0: No Fail
1: Fail
0x0
5 FAILVERIFY Command failed due to verify error.
0: No Fail
1: Fail
0x0
4 FAILWEPROT Command failed due to Write/Erase Protect Sector violation.
0: No Fail
1: Fail
0x0
2 CMDINPROGRESS Command in Progress
0: Command complete
1: Command is in progress
0x0
1 CMDPASS Command Pass - valid when CMD_DONE field is 1
0: Fail
1: Pass
0x0
0 CMDDONE Command Done
0: Command not Done
1: Command Done
0x0