28.5.1 Principle of Operation
Error Correcting Code (ECC) is implemented to detect and correct errors that may arise in the RAM arrays. The ECC logic is capable of double error detection and single error correction per 8-bit byte.
Upon single bit error detection, the Single Bit Error interrupt flag is raised (INTFLAG.SINGLEE). If a dual error is detected, the Dual Error interrupt flag (INTFLAG.DUALE) is raised. When the first error is detected, the ERRADDR register is frozen with the failing address and remains frozen until INTFLAG.DUALE and INTFLAG.SINGLEE are cleared. If a dual bit error occurs while INTFLAG.SINGLEE is set, the ERRADDR register is updated with the dual bit error information and INTFLAG.DUALE is also set.
The INTFLAG.SINGLEE and INTFLAG.DUALE bits are both cleared on ERRADDR read.
The block diagram shows the ECC interface. When ECC is disabled (CTRLA.ECCDIS = 1), the ECC field in RAM is left unchanged on writes. On reads, ECC errors are not corrected or flagged.