ZHCUAO0C November   2022  – November 2023 TMS320F280033 , TMS320F280034 , TMS320F280034-Q1 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037-Q1 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1

 

  1.   1
  2.   商标
  3. 1引言
    1. 1.1 参考书籍
    2. 1.2 函数清单格式
  4. 2TMS320F28003x 闪存 API 概述
    1. 2.1 引言
    2. 2.2 API 概述
    3. 2.3 使用 API
      1. 2.3.1 初始化流程
        1. 2.3.1.1 器件上电后
        2. 2.3.1.2 FMC 和存储体设置
        3. 2.3.1.3 关于系统频率变化
      2. 2.3.2 使用 API 进行构建
        1. 2.3.2.1 目标库文件
        2. 2.3.2.2 分布文件
      3. 2.3.3 闪存 API 使用的关键事实
  5. 3API 函数
    1. 3.1 初始化函数
      1. 3.1.1 Fapi_initializeAPI()
    2. 3.2 闪存状态机函数
      1. 3.2.1 Fapi_setActiveFlashBank()
      2. 3.2.2 Fapi_issueAsyncCommandWithAddress()
      3. 3.2.3 Fapi_issueBankEraseCommand()
      4. 3.2.4 Fapi_issueProgrammingCommand()
      5. 3.2.5 Fapi_issueProgrammingCommandForEccAddresses()
      6. 3.2.6 Fapi_issueFsmSuspendCommand()
      7. 3.2.7 Fapi_issueAsyncCommand()
      8. 3.2.8 Fapi_checkFsmForReady()
      9. 3.2.9 Fapi_getFsmStatus()
    3. 3.3 读取函数
      1. 3.3.1 Fapi_doBlankCheck()
      2. 3.3.2 Fapi_doVerify()
      3. 3.3.3 Fapi_calculatePsa()
      4. 3.3.4 Fapi_doPsaVerify()
    4. 3.4 信息函数
      1. 3.4.1 Fapi_getLibraryInfo()
    5. 3.5 实用功能
      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()
  6. 4推荐的 FSM 流程
    1. 4.1 新出厂器件
    2. 4.2 推荐的擦除流程
    3. 4.3 推荐的存储体擦除流程
    4. 4.4 推荐的编程流程
  7. 5与安全相关的软件应用程序使用假设
  8.   A 闪存状态机命令
    1.     A.1 闪存状态机命令
  9.   B 编译器版本和构建设置
  10.   C 目标库函数信息
    1.     C.1 TMS320F28003x 闪存 API 库
  11.   D typedef、定义、枚举和结构
    1.     D.1 类型定义
    2.     D.2 定义
    3.     D.3 枚举
      1.      D.3.1 Fapi_FlashProgrammingCommandsType
      2.      D.3.2 Fapi_FlashBankType
      3.      D.3.3 Fapi_FlashStateCommandsType
      4.      D.3.4 Fapi_FlashReadMarginModeType
      5.      D.3.5 Fapi_StatusType
      6.      D.3.6 Fapi_ApiProductionStatusType
    4.     D.4 结构
      1.      D.4.1 Fapi_FlashStatusWordType
      2.      D.4.2 Fapi_LibraryInfoType
  12.   E 并行签名分析 (PSA) 算法
    1.     E.1 函数详细信息
  13.   F ECC 计算算法
    1.     F.1 函数详细信息
  14.   G 勘误
  15.   修订历史记录

Fapi_getFsmStatus()

返回 FMSTAT 寄存器的值

概要

Fapi_FlashStatusType Fapi_getFsmStatus(void)

参数

说明

该函数返回 FMSTAT 寄存器的值。该寄存器允许用户应用程序确定擦除或编程操作是成功完成、正在进行、暂停还是失败。用户应用程序应检查该寄存器的值从而确定每次擦除和编程操作后是否有任何故障。

返回值

表 3-2 FMSTAT 寄存器

31
... 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
保留 PGV 保留 EV 保留 Busy ERS PGM INV
DAT
CSTAT

保留

ESUSP PSUSP 保留
表 3-3 FMSTAT 寄存器字段说明
字段 说明
31–13 RSVD 保留
12 PGV 编程验证。设置后,表示在为编程操作提供允许的最大编程脉冲数后,未成功对字进行编程。
11 RSVD 保留
10 EV 擦除验证。设置后,表示在为擦除操作指定了允许的最大擦除脉冲数后,未成功擦除扇区。在执行擦除验证命令期间,如果发现某个位为 0,则立即设置该标志。
9 RSVD 保留
8 Busy 设置后,该位表示正在处理编程、擦除或暂停操作。
7 ERS 擦除有效。设置后,该位表示闪存模块正在主动进行擦除操作。该位在擦除开始时设置,并在擦除完成时清除。当擦除暂停时,该位也会被清除。当擦除恢复时,该位也会被设置。
6 PGM 编程有效。设置后,该位表示闪存模块当前正在进行编程操作。该位在编程开始时设置,并在编程完成时清除。当编程暂停时,该位也会被清零。当编程恢复时,该位也会被设置。
5 INVDAT 无效数据。设置后,该位表示用户尝试在已存在 "0" 的情况下对 "1" 进行编程。该位由 Clear Status 命令清零。
4 CSTAT 命令状态。一旦 FSM 启动,出现任何故障都会设置该位。设置后,该位通知主机编程或擦除命令失败并且命令已停止。该位由 Clear Status 命令清零。对于某些错误,这将是 FSM 错误的唯一指示,因为其原因不属于其他错误位类型。
3

RSVD

RSVD
2 ESUSP 擦除暂停。设置后,该位表示闪存模块已接收并处理擦除暂停操作。在发出擦除恢复命令或执行 Clear_More 命令之前,该位保持设置状态。
1 PSUSP 编程暂停。设置后,该位表示闪存模块已接收并处理编程暂停操作。在发出编程恢复命令或执行 Clear_More 命令之前,该位保持设置状态。
0 RSVD RSVD