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

根据提供的数据验证指定区域

概要

Fapi_StatusType Fapi_doVerify(
         uint32 *pu32StartAddress,
         uint32  u32Length,
         uint32 *pu32CheckValueBuffer,
         Fapi_FlashStatusWordType *poFlashStatusWord)

参数

pu32StartAddress [in]要验证区域的起始地址
u32Length [in]要验证的区域长度(以 32 位字为单位)
pu32CheckValueBuffer [in]用于验证区域的缓冲区地址。数据缓冲区应为 128 位对齐。
poFlashStatusWord [out]如果结果不是 Fapi_Status_Success,则返回操作状态
->au32StatusWord[0]首次验证失败位置的地址
->au32StatusWord[1]在首次验证失败的位置读取的数据
->au32StatusWord[2]比较数据的值
->au32StatusWord[3]不适用

说明

该函数在从指定地址开始的指定长度(以 32 位字为单位)的区域内,根据提供的数据验证器件。如果位置比较失败,这些结果将在 poFlashStatusWord 参数中返回。

限制

返回值

  • Fapi_Status_Success(成功:指定的区域与提供的数据匹配)
  • Fapi_Error_FAIL(失败:指定区域与提供的数据不匹配)
  • Fapi_Error_InvalidAddress(失败:用户提供的地址无效。有关有效地址范围的信息,请参阅 TMS320F28003x 微控制器数据手册。)

注:

在 F28003x 器件上,当读取存储体 0 用户可配置 DCSM OTP 中相应的新编程密码位置时,这些区域将被锁定。这可能会导致进一步的擦除/编程操作失败。因此,不建议对用户可配置的 DCSM OTP 存储体 0 位置进行验证 (Fapi_doVerify())。