SPRUJC5 April   2024 TMS320F28P550SJ , TMS320F28P559SJ-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
    1. 1.1 Reference Material
    2. 1.2 Function Listing Format
  5. 2TMS320F28P55x 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.   References

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.

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: Complete
1: In Progress
0x0
1 CMDPASS Command Pass - valid when CMD_DONE field is 1
0: Fail
1: Pass
0x0
0 CMDDONE Command Done
0: Not Done
1: Done
0x0