ZHCUBW3 April   2024

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
    1. 1.1 参考书籍
    2. 1.2 函数清单格式
  5. 2TMS320F28P65x 闪存 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 分布文件
      3. 2.3.3 闪存 API 使用的关键事实
  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.   A 闪存状态机命令
  9.   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
  10.   C 从 v3.00.01 到 v3.00.02 的变更摘要

简介

本参考指南详细介绍了德州仪器 (TI) 的 TMS320F28P65x 闪存 API 库(FAPI_F28P65x _EABI_v3.00.02.lib 或 FAPI_F28P65x _COFF_v3.00.02.lib)函数,可用于对 TMS320F28P65x 器件进行擦除、编程和验证。请注意,闪存 API V3.00.XX.XX 应仅与 TMS320F28P65x 器件一起使用。在 C2000Ware 中提供了闪存 API 库,位置为 C2000Ware_x_xx_xx_xx\libraries\flash_api\F28P65x。

TMS320F28P65x 器件最多具有五个闪存组。在这五个闪存组中,用户应用程序可以根据应用程序的要求,使用 BANKMUXSEL 寄存器将任何闪存组映射到任何 CPU(CPU1 或 CPU2)。由于此器件中只有一个闪存封装器(且只有一个闪存泵),因此每次只能擦除/编辑一个闪存组。提供信标(被称为 FLASHCTLSEM 或 FLASHSEM)来管理两个 CPU 之间的闪存封装器所有权。在执行任何闪存擦除/编程操作之前,给定的 CPU 必须通过使用该信标获得闪存封装器的所有权。一旦擦除和编程操作完成,相应的 CPU 应该使用此信标放弃闪存封装器的所有权,以便在需要时允许另一个 CPU 获得闪存封装器的所有权。有关 BANKMUXSEL 和 FLASHCTLSEM(也称为 FLASHSEM)寄存器的更多详细信息,请参阅 TMS320F28P65x 实时微控制器技术参考手册。请注意,闪存 API 库不会配置这些寄存器。在使用闪存 API 库执行任何闪存擦除/编程操作之前,用户应用程序应根据应用程序的要求配置这些寄存器。C2000Ware 中提供的闪存 API 使用示例使用 IPC_claimFlashSemaphore() 配置 FLASHCTLSEM,使用 SysCtl_allocateFlashBank() 配置 BANKMUXSEL。这些函数在 driverLib 中提供。请参阅 C2000Ware 中提供的闪存编程示例,该示例位于“C2000Ware_.....\driverlib\F28P65x\examples\....\flash\flashapi_128bit_programming\flashapi_cpu1_128bitprogramming.c”