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_setActiveFlashBank()

对 FMC 进行初始化从而进行擦除和编程操作。

概要

Fapi_StatusType Fapi_setActiveFlashBank(
         Fapi_FlashBankType oNewFlashBank)

参数

oNewFlashBank [in] 设置为有效的存储体编号。

说明

该函数用于设置闪存控制器,以便在存储体上进行进一步的操作。在使用 Fapi_initializeAPI() 函数之后以及在执行任何其他闪存 API 操作之前需要调用该函数。

注: 闪存存储体编号在该函数内部进行了硬编码,不使用用户提供的值。

即使该器件上最多有 3 个存储体,也无需在切换存储体时调用该函数。应用程序只需要调用该函数一次,其可以与 Fapi_FlashBank0 一起使用。

返回值

  • Fapi_Status_Success(成功)
  • Fapi_Status_FsmBusy(失败:FSM 正忙于执行另一个命令)
  • Fapi_Error_InvalidBaseRegCntlAddress(失败:用户提供的闪存控制寄存器基地址与预期地址不匹配)
  • Fapi_Error_InvalidBank(失败:器件上不存在指定的存储体)
  • Fapi_Error_InvalidHclkValue(失败:系统时钟与指定的等待值不匹配)
  • Fapi_Error_OtpChecksumMismatch(失败:计算出的 TI OTP 校验和与 TI OTP 中的值不匹配)

实现示例

请参阅 节 3.1.1中的示例。