ZHCADD5A November 2023 – April 2024 TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
EEPROM_Erase() 函数的功能是擦除用于仿真的扇区。必须至少擦除一个完整的扇区,因为不支持部分擦除。擦除之前,必须确保存储的数据不再需要/不再有效。在单存储单元实现中,仅当所有 EEPROM 组和页面已满时才调用此函数。
该函数首先配置 EEPROM 单元的写入/擦除保护掩码,然后调用 Fapi_issueBankEraseCommand 函数。最后,该函数等待完成并检查是否存在任何错误。
Fapi_StatusType oReturnCheck;
// Clears status of previous Flash operation
ClearFSMStatus();
Fapi_setupBankSectorEnable(FLASH_WRAPPER_PROGRAM_BASE+FLASH_O_CMDWEPROTA, WE_Protection_A_Mask);
Fapi_setupBankSectorEnable(FLASH_WRAPPER_PROGRAM_BASE+FLASH_O_CMDWEPROTB,WE_Protection_B_Mask);
// Erase the EEPROM Bank
oReturnCheck = Fapi_issueBankEraseCommand((uint32*)FLASH_BANK_SELECT);
// Wait for completion and check for any programming errors
EEPROM_CheckStatus(&oReturnCheck);
在单存储单元实现中,EEPROM_Erase 函数利用闪存 API 来清除闪存组。该函数不再需要乒乓实现中的 Erase_Bank 函数,这两者已合并在 EEPROM_Erase 中。不再需要 Erase_Bank,因为创建该函数是为了优化在有两个 EEPROM 单元时指定用于 EEPROM 仿真的所有闪存扇区的擦除。
为进行比较,F28003x 示例工程目的 EEPROM_Erase 函数问题闪存 API 发出擦除命令,然后等待命令完成执行,并检查是否发生任何编程错误。在函数范围之外提供了写入/擦除保护掩码。
Fapi_StatusType oReturnCheck;
// Erase the EEPROM Bank
oReturnCheck = Fapi_issueBankEraseCommand((uint32*) FLASH_BANK_SELECT, WE_Protection_Mask);
// Wait for completion and check for any programming errors
EEPROM_CheckStatus(&oReturnCheck);