SLAU723A October 2017 – October 2018 MSP432E401Y , MSP432E411Y
The EEUNLOCK register can be used to unlock the whole EEPROM or a single block using a password. Unlocking is only required if a password is registered using the EEPASSn registers for the block that is selected by the EEBLOCK register. If block 0 has a password, it locks the remaining blocks from any type of access, but uses its own protection mechanism, for example readable, but not writable when locked. In addition, if block 0 has a password, it must be unlocked before unlocking any other block.
The EEUNLOCK register is written between 1 and 3 times to form the 32-bit, 64-bit, or 96-bit password registered using the EEPASSn registers. The value used to configure the EEPASS0 register must always be written last. For example, for a 96-bit password, the value used to configure the EEPASS2 register must be written first followed by the EEPASS1 and EEPASS0 register values. The block or the whole EEPROM can be re-locked by writing 0xFFFFFFFF to this register.
In the event that an invalid value is written to this register, the block remains locked. The state of the EEPROM lock can be determined by reading back the EEUNLOCK register. If a multi-word password is set and the number of words written is incorrect, writing 0xFFFFFFFF to this register reverts the EEPROM lock to the locked state, and the proper unlock sequence can be retried.
Note that the internal logic is balanced to prevent any electrical or time-based attack being used to find the correct password or its length.
NOTE
A read of the EEUNLOCK register during the EEPROM initialization sequence is only valid when the WORKING bit is 0 in EEDONE register:
EEUNLOCK is shown in Figure 7-32 and described in Table 7-33.
Return to Summary Table.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
UNLOCK | |||||||||||||||||||||||||||||||
R/W-X | |||||||||||||||||||||||||||||||