ISD94100 Series Technical Reference Manual
Sep 9, 2019
Page
210
of 928
Rev1.09
IS
D
9
410
0
S
ER
IE
S
T
E
C
HN
ICA
L
RE
F
E
RE
NCE
M
AN
U
AL
Three steps complete this CRC32 checksum calculation.
Step 1: perform ISP “Run Memory CRC32 Checksum” operation
Step 2: perform ISP “Read Memory CRC32 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 4
Kbytes alignment, the size should be ≥
4 Kbytes
and the starting address includes APROM, 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 two conditions (1) Checksum calculation is in-progress, (2) Address and size is over device
limitation
6.4.4.8 Flash All One Verification
The ISD94100 series supports the flash all one verification function which checks if a memory block
are all 0xFF after a APROM or LDROM flash erase operation.
Two or Three steps complete this flash all one verification.
Two-step flow
Step 1: perform ISP “Run Flash All One Verification” operation
Step 2: read ALLONE(FMC_ISPSTA[7])bit to get the verification result
ALLONE : 1 , all of flash bits are 1 in verification block memory.
ALLONE : 0 , flash bits are not all 1 in verification block memory.
Three-step flow
Step 1: perform ISP “Run Flash All One Verification” operation
Step 2: perform ISP “Read Flash All One Result” operation
Step 3: read FMC_ISPDAT to get the verification result.
FMC_ISPDATA : 0xA11F_FFFF, all of flash bits are 1 in verification block memory.
FMC_ISPDATA : 0xA110_0000, flash bits are not all 1 in verification block memory
Before the All-One checking, write the starting address into FMC_ISPADDR register and write the
memory size into FMC_ISPDAT register. Both address and size need be in 4 KB alignment. The
size should be ≥
4 KB. The starting address can point to APROM or LDROM space.
Sample code for all one checking:
FMC->ISPSTS = 0x80; // clear check all one bit
FMC->ISPCMD = FMC_ISPCMD_RUN_ALL1;
FMC->ISPADDR = u32addr;
FMC->ISPDAT = u32count;
FMC->ISPTRG = FMC_ISPTRG_ISPGO_Msk;
Содержание ISD94100 Series
Страница 528: ...ISD94100 Series Technical Reference Manual Sep 9 2019 Page 528 of 928 Rev1 09 ISD94100 SERIES TECHNICAL REFERENCE MANUAL...
Страница 626: ...ISD94100 Series Technical Reference Manual Sep 9 2019 Page 626 of 928 Rev1 09 ISD94100 SERIES TECHNICAL REFERENCE MANUAL...
Страница 702: ...ISD94100 Series Technical Reference Manual Sep 9 2019 Page 702 of 928 Rev1 09 ISD94100 SERIES TECHNICAL REFERENCE MANUAL...
Страница 875: ...ISD94100 Series Technical Reference Manual Sep 9 2019 Page 875 of 928 Rev1 09 ISD94100 SERIES TECHNICAL REFERENCE MANUAL...