ZHCADD5A November   2023  – April 2024 TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 简介
  5. EEPROM 与片上闪存的区别
  6. 概述
    1. 3.1 基本概念
    2. 3.2 单存储单元方法
    3. 3.3 乒乓方法
    4. 3.4 创建 EEPROM 节(页)和页标识
  7. 软件说明
    1. 4.1 软件功能和流程
  8. 乒乓仿真
    1. 5.1 用户配置
      1. 5.1.1 EEPROM_PingPong_Config.h
      2. 5.1.2 F28P65x_EEPROM_PingPong.c
    2. 5.2 EEPROM 函数
      1. 5.2.1  EEPROM_Config_Check
      2. 5.2.2  Configure_Protection_Masks
      3. 5.2.3  EEPROM_Write
      4. 5.2.4  EEPROM_Read
      5. 5.2.5  EEPROM_Erase
        1. 5.2.5.1 Erase_Bank
      6. 5.2.6  EEPROM_GetValidBank
      7. 5.2.7  EEPROM_UpdateBankStatus
      8. 5.2.8  EEPROM_UpdatePageStatus
      9. 5.2.9  EEPROM_UpdatePageData
      10. 5.2.10 EEPROM_Get_64_Bit_Data_Address
      11. 5.2.11 EEPROM_Program_64_Bits
      12. 5.2.12 EEPROM_CheckStatus
      13. 5.2.13 ClearFSMStatus
    3. 5.3 测试示例
  9. 单存储单元仿真
    1. 6.1 用户配置
      1. 6.1.1 EEPROM_Config.h
      2. 6.1.2 F28P65x_EEPROM.c
    2. 6.2 EEPROM 函数
      1. 6.2.1  EEPROM_Config_Check
      2. 6.2.2  Configure_Protection_Masks
      3. 6.2.3  EEPROM_Write
      4. 6.2.4  EEPROM_Read
      5. 6.2.5  EEPROM_Erase
      6. 6.2.6  EEPROM_GetValidBank
      7. 6.2.7  EEPROM_Get_64_Bit_Data_Address
      8. 6.2.8  EEPROM_UpdateBankStatus
      9. 6.2.9  EEPROM_UpdatePageStatus
      10. 6.2.10 EEPROM_UpdatePageData
      11. 6.2.11 EEPROM_Get_64_Bit_Data_Address
      12. 6.2.12 EEPROM_Program_64_Bits
      13. 6.2.13 EEPROM_CheckStatus
      14. 6.2.14 ClearFSMStatus
    3. 6.3 测试示例
  10. 应用集成
  11. 适配其他第 3 代 C2000 MCU
  12. 闪存 API
    1. 9.1 闪存 API 检查清单
      1. 9.1.1 使用闪存 API 时的注意事项
  13. 10源文件清单
  14. 11故障排除
    1. 11.1 常见问题
  15. 12结语
  16. 13参考资料
  17. 14修订历史记录

使用闪存 API 时的注意事项

使用 API 时的应做事项

  • 从 RAM 或未选择用于 EEPROM 仿真的闪存组执行闪存 API 代码(某些功能必须从 RAM 运行)。
  • 针对正确的 CPU 工作频率配置 API
  • 按照闪存 API 检查清单来将 API 集成到应用中
  • 根据需要配置 PLL,并将配置的 CPUCLK 值传递给 Fapi_initializeAPI() 函数。请注意,当系统频率小于或等于 20MHz 时,闪存 API 库不支持闪存擦除/编程操作。
  • 根据需要配置 BANKMUXSEL 和 FLASHCTLSEM 寄存器
  • 在调用闪存 API 函数之前,请根据特定于器件的数据手册配置等待状态。如果应用程序配置的等待状态不适合应用程序的工作频率,闪存 API 会发出错误。
  • 请仔细查看 TMS320F28P65x 闪存 API 版本 3.02.00.00 参考指南 中所述的 API 限制。

使用 API 时的禁止事项

  • 请勿从选择用于仿真的同一个闪存组执行闪存 API
  • 请勿配置导致从正在进行擦除/编程操作的闪存组进行读取/获取访问的中断服务例程 (ISR)。闪存 API 函数、调用闪存 API 函数的用户应用程序函数以及任何 ISR 必须从 RAM 或没有正在进行的活动擦除/编程操作的闪存组中执行。
  • 请勿访问正在进行闪存擦除/编程操作的闪存组或 OTP
  • 不应针对链路指针位置对 ECC 进行编程。当为编程操作提供的起始地址是三个链路指针地址中的任何一个时,API 将跳过对 ECC 的编程。应注意为应用程序中的链路指针位置维护一个单独的结构/段。请勿将此类字段与其他 DCSM OTP 设置混合。如果其他字段与链路指针混合,API 也会跳过对非链路指针位置的 ECC 编程。这会导致应用程序中出现 ECC 错误。