31.3.13.6 FFLTCTRL SFR Description
FLTEN
When FLTEN = 0, the Fault Injection Logic is disabled and user code can safely update the SFR control bits.
When FLTEN = 1 the Fault Injection Logic performs the operation selected by FLTMD. Modifying any other control bit(s) produce(s) undefined results.
The operation description of all subsequent bits is predicated on the Fault Logic being enabled.
CTLFLT
When FLTMD selects one of the Fault Injection modes, CTLFLT[2:0] controls fault injection on the Flash ECC Control bits CTL[2:0]. When CTLFLT[n] = 1 logic injects a fault in the associated bit position of CTL[n]. When CTLFLT[n] = 0 logic does not inject a fault on to the associated bit in CTL[n].
Control faults cannot be injected separately from parity faults. In all other FLTMD modes, CTLFLT[2:0] is unused. Also, CTLFLT is only meaningful for Dynamic ECC mode.
FLTMD
There are four basic fault modes: Disabled, Capture, Read Fault, and Write Fault. The selected mode takes affect when FLTEN = 1.
Fault Injection Disabled provides the ability to complete disable and lock out the Fault Injection logic. Applications that never want or need to test ECC logic can use this mode to ensure a fault is never injected into the Flash read or write path. The lock out remains until the next system reset.
Fault Capture Mode allows the application to monitor the Flash for errors and take the appropriate action. Often times bit errors detected by ECC SEC are soft failures. They may be retention failures or read disturb failures which are correctable by re-writing the data. An application that wishes to decrease the likelihood of an uncorrectable ECC DED fault can reserve a spare page in Flash. The spare page provides a location to copy the offending page while correcting the SEC bit error(s). The offending page would then be erased and re-written with the original data intact. Fault Capture has a lock mode to prevent accidentally switching to Fault Injection Mode.
Fault Injection mode allows user code to periodically test the ECC logic to verify it is working correctly. There are four options. The first two inject a single or double fault for reads. The second two inject a single or double fault for writes. Depending on the fault testing requirements the write option may not be need for single panel system since reads and writes share the same ECC calculation module. However, dual panel systems with Live Update never share the same ECC module.