![Texas Instruments SimpleLink Ethernet MSP432E401Y Скачать руководство пользователя страница 547](http://html1.mh-extra.com/html/texas-instruments/simplelink-ethernet-msp432e401y/simplelink-ethernet-msp432e401y_technical-reference-manual_1095578547.webp)
Functional Description
547
SLAU723A – October 2017 – Revised October 2018
Copyright © 2017–2018, Texas Instruments Incorporated
Internal Memory
Additionally, the master block can be used to control access protection for the protection mechanism itself.
If access control for block 0 is for supervisor only, then the whole module can only be accessed in
supervisor mode.
7.2.4.1.5 Hidden Blocks
Hiding provides a temporary form of protection. Every block except block 0 can be hidden, which prevents
all accesses until the next reset.
This mechanism can allow a boot or initialization routine to access some data which is then made
inaccessible to all further accesses. Because boot and initialization routines control the capabilities of the
application, hidden blocks provide a powerful isolation of the data when debug is disabled.
A typical use model would be to have the initialization code store passwords, keys, and/or hashes to use
for verification of the rest of the application. Once performed, the block is then hidden and made
inaccessible until the next reset which then re-enters the initialization code.
7.2.4.1.6 Power and Reset Safety
Once the EEDONE register indicates that a location has been successfully written, the data is retained
until that location is written again. There is no power or reset race after the EEDONE register indicates a
write has completed.
7.2.4.1.7 Interrupt Control
The EEPROM module allows for an interrupt when a write completes to prevent the use of polling. The
interrupt can be used to drive an application ISR which can then write more words or verify completion.
The interrupt mechanism is used any time the EEDONE register goes from working to done, whether
because of an error or the successful completion of a program or erase operation. This interrupt
mechanism works for data writes, writes to password and protection registers, and mass erase using the
EEPROM Debug Mass Erase (EEDGBME) register. The EEPROM interrupt is signaled to the core using
the flash memory interrupt vector. Software can determine that the source of the interrupt was the
EEPROM by examining bit 2 of the Flash Controller Masked Interrupt Status and Clear (FCMISC) register.
7.2.4.1.8 Theory of Operation
The EEPROM operates using a traditional bank model which implements EEPROM-type cells, but uses
sector erase. Additionally, words are replicated in the blocks to allow 500K or more erase cycles when
needed, which means that each word has a latest version. As a result, a write creates a new version of
the word in a new location, making the previous value obsolete. When a block runs out of room to store
the latest version of a word, a copy buffer is used. The copy buffer copies the latest words of each block.
The original block is then erased. Finally, the copy buffer contents are copied back to the block.
The EEPROM module includes functionality to prevent data corruption due to power-loss or a brown-out
event during programming or erase operations. These conditions prevent corruption of non-targeted
memory areas but cannot guarantee that the operation is completed successfully. See 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.
7.2.4.1.9 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.