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修订历史记录

F28P65x_EEPROM_PingPong.c

在 F28P65x_EEPROM_PingPong.c 中,用户可以选择用于 EEPROM 仿真的闪存扇区。选择的扇区(如果有多个)应该是连续的并且按从小到大的顺序排列。仅插入要用于 EEPROM 的第一个和最后一个扇区。例如,要使用扇区 1-10,请插入 {1,10}。要仅使用扇区 1,请插入 {1,1}。有效的配置具有以下属性。

  • 意味着两个 EEPROM 单元之间的扇区数量有效且一致
  • 仅包含器件上存在的扇区
  • 不会在两个单元之间的写入/擦除保护掩码中产生重叠
    • F28P65x 闪存 API 要求在对闪存存储器进行编程之前配置写入/擦除保护掩码。有关这些掩码正确配置的详细信息,请参阅 F28P65x 闪存 API 参考指南

有关无效或危险配置的更多详细信息,请参阅节 5.2.1

uint16 FIRST_AND_LAST_SECTOR[2][2] = {{1,1},{39,39}};

此外,您还可以选择在哪组闪存扇区中开始模拟。

uint16 EEPROM_ACTIVE_UNIT = 0;

如果设置为 0,则 FIRST_AND_LAST_SECTOR 中的第一组闪存扇区将首先是活动 EEPROM 单元,第二组将首先是非活动 EEPROM 单元。如果设置为 1,则情况相反。