Прошу прощения за длинную цитату из User Manual для LPC2138:
The operation of ECC is transparent to the running application. The ECC content itself is stored in a flash memory not accessible
by user’s code to either read from it or write into it on its own. A byte of ECC corresponds to every consecutive 128 bits of the
user accessible Flash. Consequently, Flash bytes from 0x0000 0000 to 0x0000 0003 are protected by the first ECC byte, Flash
bytes from 0x0000 0004 to 0x0000 0007 are protected by the second ECC byte, etc.
Whenever the CPU requests a read from user’s Flash, both 128 bits of raw data containing the specified memory location and
the matching ECC byte are evaluated. If the ECC mechanism detects a single error in the fetched data, a correction will be
applied before data are provided to the CPU. When a write request into the user’s Flash is made, write of user specified content
is accompanied by a matching ECC value calculated and stored in the ECC memory.
Я так и не понял. Байт ECC один на 4 байта (как следует из адресации "from 0x0000 0000 to 0x00000003") или же один на 16 байт - 4 слова x 32 разряда (как следует из "128 bits of raw data containing the specified memory location and
the matching ECC byte are evaluated")?