ZHCADD5A November 2023 – April 2024 TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
Erase_Bank 函数利用闪存 API 来擦除非活动(已满)EEPROM 单元。该函数与 EEPROM_Erase 分开,以最大限度地减少在 EEPROM_Config 函数中擦除两个单元所需的 CPU 周期。该函数首先为适当的闪存扇区配置写入/擦除保护掩码,然后调用 Fapi_issueBankEraseCommand。最后,该函数等待完成并检查是否存在任何错误。
Fapi_StatusType oReturnCheck;
// Clears status of previous Flash operation
ClearFSMStatus();
// Enable program/erase protection for select sectors
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 inactive EEPROM Bank
oReturnCheck = Fapi_issueBankEraseCommand((uint32*) FLASH_BANK_SELECT);
// Wait for completion and check for any programming errors
EEPROM_CheckStatus(&oReturnCheck);
为进行比较,F28003x Ping Pong 示例工程的 EEPROM_BANK 函数问题闪存 API 发出擦除命令,然后等待命令完成执行,并检查是否发生任何编程错误。在函数范围之外提供了写入/擦除保护掩码。