ZHCADD5A November 2023 – April 2024 TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
如本文档前面所述,本指南使用 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 可能需要更多更改。有关可用工程的列表、请参阅故障排除章节。