
M0A21/M0A23 Series
May 06, 2022
Page
225
of 746
Rev 1.02
M0
A21
/M
0
A
2
3
SE
RIES
TEC
H
NICAL
RE
FEREN
C
E
M
ANUAL
CRC32 polynomial
CRC-32: X
32
+ X
26
+ X
23
+ X
22
+ X
16
+ X
12
+ X
11
+ X
10
+ X
8
+ X
7
+ X
5
+ X
4
+ X
2
+ X + 1
(seed=0xFFFF_FFFF)
CRC32 polynomial
CRC-32: X
32
+ X
26
+ X
23
+ X
22
+ X
16
+ X
12
+ X
11
+ X
10
+ X
8
+ X
7
+ X
5
+ X
4
+ X
2
+ X + 1
(seed=0xFFFF_FFFF)
Bit Order Reverse
Bit Order Reverse
Din[31]
Din[31]
Din[0]
Din[31:0]
Din_R[0]
Din_R[31]
Din_R[31:0]
CRC32[31:0]
Bit Order Reverse
Bit Order Reverse
CRC32[31]
CRC_CHKSUM[31:0]
CRC32[0]
CRC32_R[31]
CRC32_R[0]
CRC_CHKSUM[0]
CRC_CHKSUM[31]
Figure 6.4-12 CRC-32 Checksum Calculation
The following three steps complete the CRC-32 checksum calculation.
1.
Perform ISP “Run Memory Checksum” operation: user has to set the memory starting address
(FMC_ISPADDR) and size (FMC_ISPDAT) to calculate. Both address and size have to be
512 bytes alignment, the size must be multiples of 512 bytes and the starting address includes
APROM and LDROM.
2.
Perform ISP “Read Memory Checksum” operation: the FMC_ISPADDR should be kept the
same as step 1.
3. Read FMC_ISPDAT to get checksum: The checksum is read from FMC_ISPDAT. If the
checksum is 0x0000_0000, It must be one of two conditions (1) Checksum calculation is in-
progress, (2) Address and size is over device limitation.