8.12.6.4.2 Conditions Enabling or Disabling the Non-Imprinting Process
The non-imprinting mechanism is disabled by default and must be authorized by setting the bit NIMP_EN in the Control register (SECUMOD_CR).
To have the least possible impact on application execution, the non-imprinting can start only if at least one of the following conditions is true:
- The core supply domain is off (i.e., the SECUMOD is in Backup mode).
- The processor is in Idle state (“Wait For Interrupt” or “Wait For Event”).
- The peripherals RESET is asserted from the System Controller user interface.
When one of these conditions is true, no system access can occur to the memory and the non-imprinting access priority is granted.
The RTC is used to trigger the periodic execution of non-imprinting, once a day between 3 a.m. and 4 a.m.
If none of the three conditions above are met, the process does not start. If one or more conditions are met, the process starts and stops when all memory is reverted. Then, the process is inhibited until the day after.
If the process is running and all of the three conditions above become false, the non-imprinting process is stopped as fast as possible, in a maximum time of 3 ICLK clock cycles.
If an intrusion occurs and triggers an erase process, the non-imprinting process stops cleanly in one period of ICLK clock and gets the access priority on the memory until the erase process completes.
As long as none of the three conditions returns true, the non-imprinting process is inhibited.