non-targeted memory areas but cannot guarantee that the operation is completed successfully.
Refer to “EEPROM” on page 1848 for important timing information on EEPROM protection. The
EEPROM mechanism properly tracks all state information to provide complete safety and protection.
Although it should not normally be possible, errors during programming can occur in certain
circumstances, for example, the voltage rail dropping during programming. In these cases, the
EESUPP
register can be used to know if a program or an erase had failed.
Debug Mass Erase
The EEPROM debug mass erase allows the developer to mass erase the EEPROM. For the mass
erase to occur correctly, there can be no active EEPROM operations. After the last EEPROM
operation, the application must ensure that no EEPROM registers are updated, including modifying
the
EEBLOCK
and the
EEOFFSET
registers without doing an actual read or write operation. To
hold off these operations, the application should reset the EEPROM module by setting the
R0
bit in
the
EEPROM Software Reset (SREEPROM
) register, wait until
WORKING
bit in the
EEPROM Done
Status (EEDONE)
register is clear, and then enable the debug mass erase by setting the
ME
bit in
the
EEPROM Debug Mass Erase (EEDBGME)
register.
Error During Programming
Operations such as data-write, password set, protection set, and copy buffer erase may perform
multiple operations. For example, a normal write performs two underlying writes: the control word
write and the data write. If the control word writes but the data fails (for example, due to a voltage
drop), the overall write fails with indication provided in the
EEDONE
register. Failure and the corrective
action is broken down by the type of operation:
■ If a normal write fails such that the control word is written but the data fails to write, the safe
course of action is to retry the operation once the system is otherwise stable, for example, when
the voltage is stabilized. After the retry, the control word and write data are advanced to the next
location.
■ If a password or protection write fails, the safe course of action is to retry the operation once the
system is otherwise stable. In the event that multi-word passwords may be written outside of a
manufacturing or bring-up mode, care must be taken to ensure all words are written in immediate
succession. If not, then partial password unlock would need to be supported to recover.
■ If the word write requires the block to be written to the copy buffer, then it is possible to fail or
lose power during the subsequent operations. A control word mechanism is used to track what
step the EEPROM was in if a failure occurs. If not completed, the
EESUPP
register indicates
the partial completion.
After a reset and prior to writing any data to the EEPROM, software must read the
EESUPP
register
and check for the presence of any error condition which may indicate that a write or erase was in
progress when the system was reset due to a voltage drop. If either the
PRETRY
or
ERETRY
bits are
set, the peripheral should be reset by setting and then clearing the
R0
bit in the
EEPROM Software
Reset (SREEPROM)
register and waiting for the
WORKING
bit in the
EEDONE
register to clear
before again checking the
EESUPP
register for error indicators. This procedure should allow the
EEPROM to recover from the write or erase error. In very isolated cases, the
EESUPP
register may
continue to register an error after this operation, in which case the reset should be repeated. After
recovery, the application should rewrite the data which was being programmed when the initial
failure occurred.
Soft Reset Handling
The following soft resets should not be asserted during an EEPROM program or erase operation:
619
June 18, 2014
Texas Instruments-Production Data
Tiva
™
TM4C1294NCPDT Microcontroller