CRC 库提供 AUTOSAR 标准 CRC 计算函数。库函数不维护状态,为纯函数。支持 4 种 CRC 宽度:
CRC / Crc / Polynomial / Initial Value / XOR Out / Reflect / MSB/LSB / GetVersionInfo
SWS_Crc_NNNNN 规范项 ID 约 50+ 条(编号 00001-91001)。
CRC 库按宽度分类:
| 类型 | 描述 |
|---|---|
| Crc_DataRefType | CRC 数据引用类型(const uint8*) |
| Crc_LengthType | CRC 长度类型(uint32) |
| Crc_CrcType | CRC 值类型(uint8/16/32/64) |
| API | 签名 | 功能 |
|---|---|---|
| Crc_CalculateCRC8 | Crc_CrcType Crc_CalculateCRC8(Crc_DataRefType DataPtr, Crc_LengthType Length, Crc_CrcType StartValue, boolean FirstCall) | 计算 CRC8 |
| Crc_CalculateCRC16 | Crc_CrcType Crc_CalculateCRC16(Crc_DataRefType DataPtr, Crc_LengthType Length, Crc_CrcType StartValue, boolean FirstCall) | 计算 CRC16 |
| Crc_CalculateCRC32 | Crc_CrcType Crc_CalculateCRC32(Crc_DataRefType DataPtr, Crc_LengthType Length, Crc_CrcType StartValue, boolean FirstCall) | 计算 CRC32 |
| Crc_CalculateCRC64 | Crc_CrcType Crc_CalculateCRC64(Crc_DataRefType DataPtr, Crc_LengthType Length, Crc_CrcType StartValue, boolean FirstCall) | 计算 CRC64 |
| Crc_GetVersionInfo | void Crc_GetVersionInfo(Std_VersionInfoType* VersionInfoPtr) | 获取版本信息 |
共 5 个函数(4 个 CRC 计算 + 1 个 GetVersionInfo)。
参数说明:
StartValue:CRC 初始值(用于增量计算);FirstCall:是否首次调用(首次调用时使用初始值 0xFF/0xFFFF/0xFFFFFFFF/0xFFFFFFFFFFFFFFFF);校对轮次:L1 自动校对(2026-06-13)