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

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
    1. 1.1 参考书籍
    2. 1.2 函数清单格式
  5. 2TMS320F280013x/15x 闪存 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 闪存包装程序和存储体设置
        3. 2.3.1.3 关于系统频率变化
      2. 2.3.2 使用 API 进行构建
        1. 2.3.2.1 对象库文件
        2. 2.3.2.2 Distribution Files
        3. 2.3.2.3 Key Facts For Flash API Usage
  6. 3API 函数
    1. 3.1 初始化函数
      1. 3.1.1 Fapi_initializeAPI()
    2. 3.2 闪存状态机函数
      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 读取函数
      1. 3.3.1 Fapi_doBlankCheck()
      2. 3.3.2 Fapi_doVerify()
    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()
  7. 4推荐的 FSM 流程
    1. 4.1 新出厂器件
    2. 4.2 推荐的擦除流程
    3. 4.3 推荐的存储体擦除流程
    4. 4.4 推荐的编程流程
  8. 5与安全相关的软件应用程序使用假设
  9.   A 闪存状态机命令
  10.   B typedef、定义、枚举和结构
    1.     B.1 类型定义
    2.     B.2 定义
    3.     B.3 枚举
      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 结构
      1.      B.4.1 Fapi_FlashStatusWordType
      2.      B.4.2 Fapi_LibraryInfoType
  11.   C FAPI 库从 v2.00.01 到 v2.00.10 的变更摘要
  12.   D Revision History

API 概述

表 2-1 初始化函数汇总
API 函数说明
Fapi_initializeAPI()为供首次使用或更改频率,对 API 进行初始化
表 2-2 闪存状态机 (FSM) 函数汇总
API 功能说明说明
Fapi_setActiveFlashBank()对闪存包装程序和存储体进行初始化从而执行擦除或编程命令
Fapi_setupBankSectorEnable()配置扇区的写/擦除保护。
Fapi_issueBankEraseCommand()针对给定的存储体地址向闪存状态机发出存储体擦除命令。
Fapi_issueAsyncCommandWithAddress()针对给定地址向 FSM 发出擦除扇区命令
Fapi_issueProgrammingCommand()设置编程所需的寄存器并向 FSM 发出命令

注意:一次最多可编程 128 位(8 个 16 位字)。

Fapi_issueProgrammingCommandForEccAddress()将 ECC 地址重新映射到主数据空间,然后调用 Fapi_issueProgrammingCommand() 对 ECC 进行编程
Fapi_issueAutoEcc512ProgrammingCommand()

设置使用 AutoECC 生成模式进行 512 位(32 个 16 位字)编程所需的寄存器并向 FSM 发出命令

Fapi_issueDataAndEcc512ProgrammingCommand()

设置使用用户提供的闪存数据和 ECC 进行 512 位(32 个 16 位字)编程所需的寄存器,并向 FSM 发出命令

Fapi_issueDataOnly512ProgrammingCommand()

设置使用用户提供的闪存数据进行 512 位(32 个 16 位字)编程所需的寄存器,并向 FSM 发出命令

Fapi_issueEccOnly64ProgrammingCommand()

设置使用用户提供的 ECC 数据进行 64 位(4 个 16 位字)ECC 编程所需的寄存器,并向 FSM 发出命令

Fapi_issueAsyncCommand()向 FSM 发出命令(清除状态)以进行不需要地址的操作
Fapi_checkFsmForReady()返回闪存状态机 (FSM) 是否处于就绪或繁忙状态
Fapi_getFsmStatus()从闪存包装程序返回 STATCMD 状态寄存器值
表 2-3 读取函数汇总
API 函数说明
Fapi_doBlankCheck()根据擦除状态验证指定的闪存范围
Fapi_doVerify()根据提供的值验证指定的闪存范围
注: Fapi_calculatePsa() 和 Fapi_doPsaVerify() 已弃用。
表 2-4 信息函数汇总
API 函数说明
Fapi_getLibraryInfo()返回特定于 API 库编译版本的信息
表 2-5 实用程序函数汇总
API 函数说明
Fapi_flushPipeline()刷新闪存包装程序中的数据高速缓存
Fapi_calculateEcc()计算所提供地址和 64 位字的 ECC
Fapi_isAddressEcc()确定地址是否在 ECC 范围内
Fapi_remapEccAddress()将 ECC 地址重新映射到相应的主地址
Fapi_calculateFletcherChecksum()函数计算指定内存范围的 Fletcher 校验和。Fapi_calculateFletcherChecksum() 将在未来的器件中被弃用。