ZHCADD5A November 2023 – April 2024 TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
EEPROM_Erase() 函数的功能是擦除用于仿真的非活动扇区。必须至少擦除一个完整的扇区,因为不支持部分擦除。擦除之前,必须确保存储的数据不再需要/不再有效。在乒乓实现中,仅当使用一个 EEPROM 单元中的所有 EEPROM 组和页面并且数据成功写入另一个 EEPROM 单元时,才会调用该函数。该函数首先重新计算非活动(已满)EEPROM 单元的写入/擦除保护掩码,然后调用 Erase_Bank 函数。
// Re-Configure Write/Erase Protection Masks used by the Flash API
uint64 WE_Protection_AB_Mask =
Configure_Protection_Masks(FIRST_AND_LAST_SECTOR[EEPROM_ACTIVE_UNIT ^ 1], NUM_EEPROM_SECTORS);
// Assign individual protection masks accordingly
WE_Protection_A_Mask = 0xFFFFFFFF ^ (uint32)WE_Protection_AB_Mask;
WE_Protection_B_Mask = 0x00000FFF ^ WE_Protection_AB_Mask >> 32;
Erase_Bank();
为便于比较,F28003x Ping Pong 示例工程的 EEPROM_Erase 功能因仅调用 Erase_Bank 函数而有所不同。写入/擦除保护掩码在 EEPROM_Erase 调用之外进行配置。