SECDED
249
SPNU503C – March 2018
Copyright © 2018, Texas Instruments Incorporated
F021 Flash Module Controller (FMC)
5.3
SECDED
The Flash memory can be protected by Single Error Correction Double Error Detection (SECDED). The
main program memory is protected by the SECDED circuit inside of the Cortex-R4 CPU. All OTP and the
FEE memory (bank 7) is protected by SECDED logic in the Flash wrapper.
5.3.1 SECDED Initialization
Flash error detection and correction is not enabled at reset. To enable SECDED, error correction detection
must be enabled in the Flash wrapper, the CPU event bus must be enabled and SECDED must be
enabled within the CPU. Refer to
Initialization of Hercules ARM Cortex-R4F Microcontrollers Application
Report
) for information on these steps.
The ECC values for all of the ATCM program memory space (Flash banks 0 through 6) must be
programmed into the Flash before SECDED is enabled. This can be done by generating the correct
values of the ECC with an external tool such as
or may be generated by the programming tool.
The Cortex-R4 CPU may generate speculative fetches to any location within the ATCM memory space. A
speculative fetch to a location with invalid ECC, which is subsequently not used, will not create an abort,
but will set the ESM flags for a correctable or uncorrectable error. An uncorrectable error will
unconditionally cause the nERROR pin to toggle low. Therefore care must be taken to generate the
correct ECC for the entire ATCM space including the holes between sections and any unused or blank
Flash areas.
The Cortex-R4 CPU does not generate speculative fetches into the address space of bank 7, the
EEPROM Emulation Flash. It is only necessary to initialize the ECC values of the locations which will be
intentionally read by the CPU or other bus masters.