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

测试示例

提供的示例使用 F28P650DK9 进行了测试。为了正常测试示例,需要在 Code Composer Studio 中使用存储器窗口和断点。在对工程进行编程和测试时,执行了以下步骤。

  1. 通过 USB 和带有 JTAG 接头的 XDS110 调试探针将 F28P650DK9 连接到 PC。
  2. 将一个 5V 直流电源连接到电路板。
  3. 启动 Code Composer Studio 并打开 F28P65x_EEPROM_PingPong_Example.pjt。
  4. 通过选择“Project”-‌>“Build Project”构建工程。
  5. 通过依次转到“View”-‌>“Target Configurations”->“F28P65x_EEPROM_PingPong_Example”->“targetConfigs”-> 右键点击 TMS320F28P650DK9.ccxml ->“Launch Selected Configuration”来启动目标配置。
  6. 通过转到“Debug”窗口,右键点击“Texas Instruments XDS110 USB Debug Probe_0/C28xx_CPU1”,然后选择“Connect Target”来连接到 CPU1。
  7. 通过点击“Load Symbols”并从工程中选择 F28P65x_EEPROM_PingPong.out 来加载符号。
  8. 设置断点,以正确地查看写入存储器窗口中的内存的数据和从存储器读取的数据,如断点中所示。
    GUID-20231017-SS0I-XJ66-XQW8-9T79XLFFLHKH-low.png图 5-2 断点
  9. 运行至第一个断点,然后打开 Memory Browser(“View”->‌“Memory Browser”)来查看数据。Bank_Pointer 可用来观察写入的数据,而 Read_Buffer 可用来观察从存储器读回的数据。对 EEPROM 单元进行写入读取数据展示了该情况。
    GUID-20231017-SS0I-VQBK-W5MF-WSZTPPBMZZVW-low.png图 5-3 对 EEPROM 单元进行写入
    GUID-20231017-SS0I-7RCG-PH5K-FWRZCPG5PVTH-low.png图 5-4 读数据
  10. 继续从断点运行到断点,直到程序运行完成或 EEPROM 已满。
  11. EEPROM 已满后,您将看到新数据写入先前不活动的单元,并且已满 EEEPROM 将被擦除。对新 EEPROM 单元进行写入擦除已满 EEPROM 单元展示了该情况。
    GUID-20231017-SS0I-BW6F-L0T4-TNGNMCM6HTBV-low.png图 5-5 对新 EEPROM 单元进行写入
    GUID-20231017-SS0I-KL0M-KKL1-R7TVDJZ0GQ45-low.png图 5-6 擦除已满 EEPROM 单元
  12. 可以根据需要在两个 EEPROM 单元之间重复该过程。
    GUID-20231017-SS0I-BSCL-FMBC-J3DQWSGQ54GV-low.png图 5-7 对原始 EEPROM 单元进行写入
    GUID-20231017-SS0I-PR1L-XPPS-PKQRNHTKQ4XL-low.png图 5-8 擦除已满 EEPROM 单元

上述步骤用于测试页面模式配置。64 位模式配置也可以使用相同的步骤进行测试。要启用 64 位模式,请通过取消注释 _64_BIT_MODE 指令并注释掉 PAGE_MODE 指令来更改 EEPROM_PingPong_Config.h 文件中的定义。