Other Parts Discussed in Thread: CONTROLSUITE
The below info is for a TMS320F28027PT/DA with FlashAPI v2.00 and silicon revision A.
I'm getting the STATUS_FAIL_PRECOMPACT error (FlashAPI error 24) when calling Flash_Erase. The FT.FirstFailAddr is at 0x003F7000.
I've run the Flash_DepRecover() function multiple times and it always returns with STATUS_SUCCESS within 4ms. However, Flash_Erase still produces an error after running DepRecover.
I've tried Flash_Erase(0x000F, &FT), Flash_Erase(0x0001, &FT), Flash_Erase(0x0002, &FT), Flash_Erase(0x0004, &FT), and Flash_Erase(0x0008, &FT). All have the same error, even though that address isn't in the sector I am trying to erase for 3 of them.
I can program and read data at this address though. Admittedly, I've only tried 0x37F000 - 0x37F004. Maybe the error is elsewhere in this sector, but why would Flash_Erase return this fail address then? The start of that sector is 0x376000 on this device, so it's not just returning the start of the sector as the FirstFailAddr.
Anyway, does anybody know what could be wrong here? I'm guessing it's not depleted because Flash_DepRecover() returns so quickly.