12.7 Chip Erase
Chip erase consists of removing all sensitive information stored in the chip and clearing the Code Protect bit. Therefore, all volatile memories and the Flash memory (including the EEPROM emulation area) will be erased. The Flash auxiliary rows, including the user row, will not be erased.
When the device is protected, the debugger must first
reset the device in order to be detected. This ensures that internal registers are reset
after the Protected state is removed. The chip erase operation is triggered by writing a
'1
' to the chip erase bit in the Control register (CTRL.CE). This
command will be discarded if the DSU is protected by the Peripheral Access Controller
(PAC). Once issued, the module clears volatile memories prior to erasing the Flash
array. To ensure that the chip erase operation is completed, check the Done bit of the
Status A register (STATUSA.DONE).
The chip erase operation depends on clocks and power management features that can be altered by the CPU. For that reason, it is recommended to issue a chip erase after a Cold-Plugging procedure to ensure that the device is in a known and Safe state.
- Issue the
Cold-Plugging procedure (see Cold Plugging from Related Links). The
device then:
- Detects the debugger probe.
- Holds the CPU in Reset.
- Issue the
chip erase command by writing a '
1
' to CTRL.CE. The device then:- Clears the system volatile memories.
- Erases the whole Flash array (excluding OTP).
- Erases the Code Protect bit protection.
- Check for
completion by polling STATUSA.DONE (read as '
1
' when completed). - Reset the device to let the Flash Controller update the fuses.