3.6 Flash and EEPROM – Components 4.1
Purpose of the test: Detect all single bit faults in non-volatile memory.
In all AVR microcontrollers, the application software is stored in Flash memory, while EEPROM memory can be used for e.g., device-specific settings and constants. For the device to operate safely, these non-volatile memories must be checked for corruption.
Acceptable measures for Fault detection are periodic self-test using a single or multiple checksums and/or single-bit data redundancy, e.g., parity check in hardware. Multiple checksums are the recommended option since this allows for one section of Flash or EEPROM to be checked at a time. The method is then to compute a checksum for the target memory range, followed by a comparison of the result with a reference checksum that is stored elsewhere in non-volatile memory.