DR
AFT
DR
AFT
DRAFT
DR
D
RAFT
DRAFT
DRA
FT DRAF
D
RAFT DRAFT DRAFT DRAFT DRAFT D
DRAFT
D
RAFT DRA
FT DRAFT DRAFT DRAFT DRA
UM10316_0
© NXP B.V. 2008. All rights reserved.
User manual
Rev. 00.06 — 17 December 2008
508 of 571
NXP Semiconductors
UM10316
Chapter 28: LPC29xx Flash/EEPROM
When signature generation is triggered via AHB or VPB, the duration is expressed in
ahb_clk cycles. Polling the INT_STATUS.END_OF_MISR bit can also be used to check
the completion of the signature generation.
When signature generation is triggered via JTAG, the duration is expressed in tck cycles.
Polling the INT_STATUS.END_OF_MISR bit is not possible.
After signature generation, a 16 bits signature can be read from the FMS16 register, and a
128 bits signature can be read from the FMSW0 .. FMSW3 registers.
Content verification
The signatures as they are read from the FMS16 and FMSW0 .. FMSW3 registers must
be equal to reference signatures. The algorithms to derive the reference signatures are
given in
and
.
The 16 bit signature is derived from the uncorrected parity bits and the ECC signals
ms_err, ms_check1, ms_check0.
ECC signal ms_err is “1” when an error occurred, ms_check1 is “1” when all bits of the
FlashWord and the parity bits are “1” and ms_check0 is “1” when all bits of the FlashWord
and the parity bits are “0”. The 16 bit signature is intended for use with new IC products.
Since ECC is meant for life time guarantee the reference signature must be calculated
with ms_err = “0”.
The 128 bit signature is derived from the corrected 128 bits of the FlashWord.
Fig 129. Algorithm for generating a 16 bits signature
MISR duration
int
tp_cl_ry_rr
clock period
-----------------------------
3
+
(
)
FMSSTOP - FM 1
(
)
×
=
signature16 = sign
nextSign[15] = sign[0]
XOR
sign[4]
XOR
sign[13]
XOR
sign[15]
sign = 0
FOR
address = FMSTART.FMSTART
TO
FMSTOP.FMSTOP
{
FOR
i = 0
TO
7
nextSign[i] = f_Q[address][i+128]
XOR
sign[i+1]
nextSign[8] = ms_err
XOR
sign[9]
nextSIgn[9] = ms_check1
XOR
sign[10]
nextSign[10] = ms_check0
XOR
sign[11]
FOR
i = 11
TO
14
nextSign[i] = sign[i+1]
sign = nextSign
}