ZHCADD5A November 2023 – April 2024 TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
EEPROM_PingPong_Config.h 包含允许用户更改 EEPROM 配置各个方面的定义。这些方面包括:
定义正在使用的器件型号。这允许在并非所有器件都通用的闪存组中进行 EEPROM 仿真。
// Un-comment appropriate definition if one of the following variants is being used
#define F28P65xDKx 1
//#define F28P65xSKx 1
//#define F28P65xSHx 1
在页面模式和 64 位模式之间进行选择。
//#define _64_BIT_MODE 1
#define PAGE_MODE 1
选择要用于仿真的闪存组。默认情况下,闪存 API 和程序从闪存组 0 中存储/运行,因此该闪存组无法用于 EEPROM 仿真。通常,闪存 API 和程序应该从与用于 EEPROM 仿真的闪存组不同的闪存组中存储/运行。
#define FLASH_BANK_SELECT FlashBank1StartAddress
定义闪存扇区大小(单位为 16 位字)。这会因使用的器件而异,请参阅相应的数据表了解详细信息。
#define FLASH_SECTOR_SIZE F28P65x_FLASH_SECTOR_SIZE
定义一个闪存组中有多少个闪存扇区。这会因使用的器件而异,请参阅相应的数据表了解详细信息。
#define NUM_FLASH_SECTORS F28P65x_NUM_FLASH_SECTORS
选择要仿真的 EEPROM 组的数量。
#define NUM_EEPROM_BANKS 4
选择每个 EEPROM 组中有多少个 EEPROM 页面
#define NUM_EEPROM_PAGES 3
选择每个 EEPROM 页面中包含的数据空间大小(单位为 16 位字)。尽管可以指定任何大小,但该大小将调整为大于或等于指定大小的最接近的四的倍数。例如,每页 6 个 16 位字的指定大小将被编程为每页 8 个 16 位字,最后两个字被视为 0xFFFF。这是为了符合闪存要求(为每个 64 位对齐的闪存存储器地址进行 8 位 ECC 编程)。
#define DATA_SIZE 64