ZHCUCQ7A January   2025  – July 2025 F29H850TU , F29H859TU-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
    1. 1.1 与 C28x 的区别
    2. 1.2 函数清单格式
  5. 2F29H85x 闪存 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 关于系统频率变化
      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_issueAutoEcc512ProgrammingCommand()
      7. 3.2.7  Fapi_issueDataAndEcc512ProgrammingCommand()
      8. 3.2.8  Fapi_issueDataOnly512ProgrammingCommand()
      9. 3.2.9  Fapi_issueEccOnly64ProgrammingCommand()
      10. 3.2.10 Fapi_issueAsyncCommand()
      11. 3.2.11 Fapi_checkFsmForReady()
      12. 3.2.12 Fapi_getFsmStatus()
    3. 3.3 读取函数
      1. 3.3.1 Fapi_doBlankCheck()
      2. 3.3.2 Fapi_doVerify()
      3. 3.3.3 Fapi_doVerifyByByte()
    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_getUserConfiguration()
      5. 3.5.5 Fapi_setFlashCPUConfiguration()
      6. 3.5.6 Fapi_issueProgBankMode()
  7. 4使用闪存 API 对 SECCFG 和 BANKMGMT 编程
    1. 4.1 BANKMGMT 编程
    2. 4.2 SECCFG 编程
  8. 5所有模式允许的编程范围
  9. 6推荐的 FSM 流程
    1. 6.1 新出厂器件
    2. 6.2 推荐的擦除流程
    3. 6.3 推荐的存储组擦除流程
    4. 6.4 推荐的编程流程
  10. 7参考资料
  11.   A 闪存状态机命令
  12.   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
      6.      B.3.6 Fapi_BankID
      7.      B.3.7 Fapi_FLCID
      8.      B.3.8 Fapi_BankMode
      9.      B.3.9 Fapi_CPU1BankSwap
      10.      B.3.10 Fapi_CPU3BankSwap
      11.      B.3.11 Fapi_FOTAStatus
      12.      B.3.12 Fapi_SECVALID
      13.      B.3.13 Fapi_BankMgmtAddress
    4.     B.4 结构
      1.      B.4.1 Fapi_FlashStatusWordType
      2.      B.4.2 Fapi_LibraryInfoType
  13.   修订历史记录

所有模式允许的编程范围

注: FOTA 范围为只读。要对它们进行编程,请使用 FOTA_Image 参数配置闪存 API,并传入活动区域地址。闪存 API 会在内部将地址转换为正确的目标。有关详细信息,请参阅 F29H85x 和 F29P58x 实时微控制器数据表F29H85x 和 F29P58x 实时微控制器技术参考手册
表 5-1 主阵列范围
存储体模式 区域 CPU1 闪存地址范围 CPU3 闪存地址范围
模式 0 有效 0x1000 0000 - 0x1040 0000 不适用
FOTA 不适用 不适用
模式 1 有效 0x1000 0000 - 0x1020 0000 不适用
FOTA 0x1060 0000 - 0x1080 0000 不适用
模式 2 有效 0x1000 0000 - 0x1020 0000 0x1040 0000 - 0x1060 0000
FOTA 不适用 不适用
模式 3 有效 0x1000 0000 - 0x1010 0000 0x1040 0000 - 0x1050 0000
FOTA 0x1000 0000 - 0x1010 0000 0x1040 0000 - 0x1050 0000
表 5-2 BANKMGMT 编程范围
存储体模式 FLC1 BANKMGMT 范围 FLC2 BANKMGMT 范围
模式 0 0x10D8 0000 - 0x10D80 0FFF 不适用
模式 1 0x10D8 0000 - 0x10D80 0FFF 不适用
模式 2 0x10D8 0000 - 0x10D80 0FFF 不适用
模式 3 0x10D8 0000 - 0x10D80 0FFF 0x10D9 0000-0x10D9 0FFF
表 5-3 SECCFG 编程范围
存储体模式 CPUxSWAP 区域 CPU1/CPU2 存储体 FLC1 地址范围 CPU3 存储体 FLC2 地址范围
模式 0 备选 FLC1.B2/B3 0x10D8 5000 - 0x10D8 5FFF FLC2.B2/B3 0x10D8 C000 - 0x10D8 CFFF
模式 1 SWAP = 0 备选 FLC1.B2/B3 0x10D9 9000-0x10D9 9FFF FLC2.B2/B3 0x10D8
SWAP = 1 备选 FLC1.B0/B1 0x10D9 9000-0x10D9 9FFF FLC2.B0/B1 不适用
模式 2 备选 FLC1.B2/B3 0x10D8 5000 - 0x10D8 5FFF FLC2.B2/B3 0x10D9 5000-0x10D9 5FFF
模式 3 SWAP = 0 备选 FLC1.B2/B3 0x10D9 9000 - 0x10D9 9FFF FLC2.B2/B3 0x10D9 D000 - 0x10D9 DFFF
SWAP = 1 备选 FLC1.B0/B1 0x10D9 9000-0x10D9 9FFF FLC2.B0/B1 0x10D9 D000 - 0x10D9 DFFF