RM0401
10
CRC calculation unit
10.1
CRC introduction
The CRC (cyclic redundancy check) calculation unit is used to get a CRC code from a 32-bit
data word and a fixed generator polynomial.
Among other applications, CRC-based techniques are used to verify data transmission or
storage integrity. In the scope of the EN/IEC 60335-1 standard, they offer a way of verifying
the Flash memory integrity. The CRC calculation unit helps compute a signature of the
software during runtime, to be compared with a reference signature generated at link-time
and stored at a given memory location.
10.2
CRC main features
•
Uses CRC-32 (Ethernet) polynomial: 0x4C11DB7
–
•
Single input/output 32-bit data register
•
CRC computation done in four AHB clock cycles (HCLK)
•
General-purpose 8-bit register (can be used for temporary storage)
The block diagram is shown in
10.3
CRC functional description
The CRC calculation unit mainly consists of a single 32-bit data register, which:
•
is used as an input register to enter new data in the CRC calculator (when writing into
the register)
•
holds the result of the previous CRC calculation (when reading the register)
32
26
23
22
X
+ X
+ X
+ X
Figure 31. CRC calculation unit block diagram
16
12
11
+ X
+ X
+ X
+ X
Figure
31.
RM0401 Rev 3
CRC calculation unit
10
8
7
5
4
+X
+ X
+ X
+ X
2
+ X
+ X +1
211/771
214
Need help?
Do you have a question about the STM32F410 and is the answer not in the manual?