32.3.2.2 32-bit CRCTo compute a 32-bit CRC:1. Set CRC_CTRL[TCRC] to enable 32-bit CRC mode.2. Program the transpose and complement options in the CTRL register as required forthe CRC calculation. See Transpose feature and CRC result complement for details.3. Write a 32-bit polynomial to CRC_GPOLY[HIGH:LOW].4. Set CRC_CTRL[WAS] to program the seed value.5. Write a 32-bit seed to CRC_DATA[HU:HL:LU:LL].6. Clear CRC_CTRL[WAS] to start writing data values.7. Write data values into CRC_DATA[HU:HL:LU:LL]. A CRC is computed on everydata value write, and the intermediate CRC result is stored back intoCRC_DATA[HU:HL:LU:LL].8. When all values have been written, read the final CRC result fromCRC_DATA[HU:HL:LU:LL]. The CRC is calculated bytewise, and two clocks arerequired to complete one CRC calculation.Transpose and complement operations are performed on the fly while reading or writingvalues. See Transpose feature and CRC result complement for details.32.3.3 Transpose featureBy default, the transpose feature is not enabled. However, some CRC standards requirethe input data and/or the final checksum to be transposed. The user software has theoption to configure each transpose operation separately, as desired by the CRC standard.The data is transposed on the fly while being read or written.Some protocols use little endian format for the data stream to calculate a CRC. In thiscase, the transpose feature usefully flips the bits. This transpose option is one of the typessupported by the CRC module.32.3.3.1 Types of transposeThe CRC module provides several types of transpose functions to flip the bits and/orbytes, for both writing input data and reading the CRC result, separately using theCTRL[TOT] or CTRL[TOTR] fields, according to the CRC calculation being used.The following types of transpose functions are available for writing to and reading fromthe CRC data register:1. CTRL[TOT] or CTRL[TOTR] is 00.Chapter 32 Cyclic Redundancy Check (CRC)K22F Sub-Family Reference Manual, Rev. 4, 08/2016NXP Semiconductors 747