RM0041
3
CRC calculation unit
Low-density value line devices are STM32F100xx microcontrollers where the flash
memory density ranges between 16 and 32 Kbytes.
Medium-density value line devices are STM32F100xx microcontrollers where the flash
memory density ranges between 64 and 128 Kbytes.
High-density value line devices are STM32F100xx microcontrollers where the flash
memory density ranges between 256 and 512 Kbytes.
3.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 means 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.
3.2
CRC main features
•
Uses CRC-32 polynomial: 0x4C11DB7
–
•
Single input/output 32-bit data register
•
CRC computation done in 4 AHB clock cycles (HCLK)
•
General-purpose 8-bit register (can be used for temporary storage)
The block diagram is shown in
32
26
23
22
X
+ X
+ X
+ X
Figure 3. CRC calculation unit block diagram
CRC computation (polynomial: 0x4C11DB7)
32-bit (write access)
16
12
11
+ X
+ X
+ X
+ X
Figure
3.
AHB bus
Data register (output)
Data register (input)
RM0041 Rev 6
CRC calculation unit
10
8
7
5
4
+X
+ X
+ X
+ X
32-bit (read access)
2
+ X
+ X + 1
ai14968
47/709
49
Need help?
Do you have a question about the STM32F100 Series and is the answer not in the manual?
Questions and answers