
M451
May. 4, 2018
Page
323
of
1006
Rev.2.08
M4
51
S
E
RI
E
S
T
E
CH
NICA
L RE
F
E
R
E
NC
E
M
A
NU
A
L
Three steps complete this checksum calculation.
Step 1:
perform ISP “Run Memory Checksum” operation
Step 2:
perform ISP “Read Memory Checksum” operation
Step 3: read FMC_ISPDAT to get checksum.
In step 1, user has to set the memory starting address (FMC_ISPADDR) and size (FMC_ISPDAT)
to calculate. Both address and size have to be 2 KB
alignment, the size should be ≥ 2 KB and the
starting address includes APROM and LDROM.
In step 2, the FMC_ISPADDR should be kept as the same as step 1.
In step 3, the checksum is read from FMC_ISPDAT. If the checksum is 0x0000_0000, there is
one of three conditions (1) Checksum calculation is in-progress, (2) Address and size is over
device limitation (3) All memory data are zero.
Enable ISPEN
Set ISPGO = 1
Write FMC_ISPADDR
Write FMC_ISPDAT
Write FMC_ISPCMD (0x2D)
Add ISB instruction
Check ISPGO = 0
?
NO
YES
Checksum Calculation
Start
END
Set ISPGO = 1
Write FMC_ISPCMD (0x0D)
Add ISB instruction
Check ISPGO = 0
?
NO
YES
Read Checksum from
FMC_ISPDAT
Step 1
Step 2
Step 3