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

适配其他第 3 代 C2000 MCU

如本文档前面所述,本指南使用 F28P65x 来演示 EEPROM 仿真功能。不过,该工程可以通过对宏和函数定义进行少量更改来适应其他第 3 代 C2000 MCU。为了说明这一点,本节讨论使用 F280013x 所需的更改。

首先,应该指出的是,F280013x 只有一个闪存组,而某些 F28P65x 器件中有五个闪存组。因此,应使用 CPU1_RAM 构建配置而不是 CPU1_FLASH 构建配置。这是必要的,因为闪存 API 无法在包含它的同一闪存组上执行。

此外,EEPROM_Config.h 文件中包含的默认配置使用特定于器件的值来创建定义和宏。这些值应更新为 TMS320F280013x 实时微控制器数据表 中的值。对于 F280013x,这些值恰好与 F28P65x 的默认配置相同,但应始终使用特定于器件的数据表来验证这些值。

#define FLASH_BANK_SELECT 0x80000


#define FLASH_SECTOR_SIZE 0x400


#define NUM_FLASH_SECTORS 128

这些值对于 EEPROM_Config_Check 中的错误检查以及定义 EEPROM 仿真的起始/结束地址非常重要。

最后,使用 F280013x 时需要修改 EEPROM_Config_Check() 函数。默认情况下,闪存组 0 被保留用于存储闪存 API,如果选择此闪存组进行 EEPROM 仿真,该函数将抛出错误。然而,由于选择了 CPU_1_RAM 构建配置,闪存组 0 现在可用于 EEPROM 仿真。因此,应该在函数中删除或注释掉这些行。

if (FLASH_BANK_SELECT == FlashBank0StartAddress)
{
    return 0xFFFF;
}

使用 F280013x 所需的更改相对简单,而使用其他第 3 代 C2000 MCU 可能需要更多更改。有关可用工程的列表、请参阅故障排除章节。