在GD32VF103内部有一个CRC(循环冗余校验计算单元),使用它可以对数据的完整性和正确性进行校验,比如固件的完整性和正确性校验、通信数据的校验等。它使用固定的32位多项式:0x4C11DB7: X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1 。该 32 位 CRC 多项式与以太网 CRC 计算多项式相同。
CRC的寄存器只有三个:数据寄存器、独立数据寄存器、控制寄存器。
数据寄存器接收输入数据并保存计算结果。
独立数据寄存器是一个独立的数据存储单元,可以作为临时寄存器使用。
控制寄存器用来复位数据寄存器。
第一次使用这个CRC发现它计算的结果跟网上在线计算器算出的结果不一样,目前知道的原因