RM0008 CRC calculation unit
45/690
3.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)
Each write operation into the data register creates a combination of the previous CRC value
and the new one (CRC computation is done on the whole 32-bit data word, and not byte per
byte).
The CPU is stalled during the computation, thus allowing back-to-back write accesses or
consecutive write and read accesses, without having to insert software wait cycles.
The CRC calculator can be reset to FFFF FFFFh with the RESET control bit in the CRC_CR
register. This operation does not affect the contents of the CRC_IDR register.
3.4 CRC registers
The CRC calculation unit contains two data registers and a control register.
3.4.1 Data register (CRC_DR)
Address offset: 0x00
Reset value: 0x0000 0000
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DR [31:16]
rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw
1514131211109876543210
DR [15:0]
rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw
Bits 31:0 Data register bits
Used as an input register when writing new data into the CRC calculator.
Holds the previous CRC calculation result when it is read.