在一些通信和固件完整校验中,会把用到CRC校验的方式。
在国民数据M4内核的芯片中集成了硬件CRC。
硬件CRC在计算的过程中比软件快些,算得越多差距越大。
一个CRC16和一个CRC32。
CRC16( X16 + X15 + X2 +1)
CRC32(X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5 +X4 + X2 + X +1)
//和PC端逐字节校验的结果一致的CRC32
uint32_t mainstream_crc32(uint32_t const *p, uint32_t size