This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Can power failure during flash programming (over CAN or SCI) cause permanent damage to the internal flash of the F28335?
If yes:
Thanks and regards
Johannes
Johannes,
Permanent damage of flash due to power loss during programming is not that likely. However, we suggest you to perform an erase of the sector that was interrupted during program before you try to re-program
Yes, power failure during an erase operation can cause flash bits to get depleted. Over erase of flash cell causes depletion.Depletion means you have removed more of the electrons off of the floating gate than necessary for an erased bit. There is a possibility that some bits are slightly depleted by the end of the erase procedure. Compaction which is performed as a part of erase process can bring the slightly depleted bits back into the erased (non-depleted) state. If the erase process gets interrupted and bits are left in a depleted state it can have an influence during reads of other bits in the flash. This can also influence the erase of other sectors.If there is a power failure during the erase operation, we recommend you to use the depletion recovery function, followed by erase of the sector (that was interrupted)
The depletion recovery function can be used to bring back the depleted bits back to erased state. This function can be run as many times as required. But. there is no guarantee that this would work if the flash bits are depleted beyond recovery.
-Vaish
Vaish, thank you for responding.
If I understand you right, power loss during erase can be a problem while programming is safe.
How would I detect a failure that was caused by a power loss during erase?
Our current flash procedure consists of re-erasing and re-programming when an inconsistent flash contents has been detected. This procedure is implemented in a sector that is not erased. Which errors are to be expected during this procedure when the previous programming has been interrupted because of a power loss?
Will re-erasing return an error status? Is depletion recovery the best one can do if re-erasing fails?
Will re-programming return an error status? What would you propose in that case? Depletion recovery?
As far as I can see, the Flash28335_DepRecover() function affects the whole flash. Will the contents of the sector that holds our flash procedure be affected by calling Flash28335_DepRecover()?
Can damage be caused by a power loss during depletion recovery?
Thanks and regards,
Johannes
I'm still interested in answers to any of the questions.
Right now, I don't have a device that has suffered permanent damage during flash programming.
Since power loss during flash programming is part of our customer's test procedure I would like to be prepared. I also would like to make the programming code as robust as possible. Therefore, answers to the above questions and any additional hints are much appreciated.
Thanks and regards,
Johannes
I am also looking for the solution for these same issues for the purpose of EEPROM Emulation in Piccolo F2806x device under power loss scenarios.
Please share if there is any solution to this.
Thanks & Regards,
Asheesh