SM CODE FLASH_SM_5
Fault detection time Not applicable
Addressed fault model Permanent
Dependency on Device configuration None
Initialization None (always enabled)
Periodicity Startup
Test for the diagnostic Not applicable
Multiple-fault protection CPU_SM_0: Periodic core self-test software
Recommendations and known limitations None
Table 29. FLASH_SM_6
SM CODE FLASH_SM_6
Description Flash memory unused area filling code
Ownership End user
Detailed implementation
Used Flash memory area must be filled with deterministic data. This way in case that the
program counter jumps outside the application program area due to a transient fault affecting
CPU, the system evolves in a deterministic way.
Error reporting Not applicable
Fault detection time Not applicable
Addressed fault model None (fault avoidance)
Dependency on Device configuration None
Initialization Not applicable
Periodicity Not applicable
Test for the diagnostic Not applicable
Multiple-fault protection Not applicable
Recommendations and known limitations
Filling code can be made of NOP instructions, or an illegal code that leads to a HardFault
exception raise.
Table 30. FLASH_SM_7
SM CODE FLASH_SM_7
Description ECC on Flash memory
Ownership ST
Detailed implementation
Internal Flash memory is protected by ECC (Error Correction Code) redundancy,implementing
a protection feature at double-word (64 bit) level:
• one-bit fault: correction
• two-bit fault: detection
Error reporting
Correction:
• ECCC flag (ECC correction) is set in the FLASH_ECCR register.
• Interrupt is generated.
Detection:
• ECCD flag (ECC detection) is set in the FLASH_ECCR register.
• NMI is generated.
• The address of the failing double word and its associated bank are saved in the
ADDR_ECC[20:0] and BK_ECC bitfields of the FLASH_ECCR register.
Fault detection time ECC bits are checked during a memory reading.
UM2305
Hardware and software diagnostics
UM2305 - Rev 10
page 24/110