目录
一、概述
二、功能说明
2.1 通用行为
2.2 8位CRC计算
2.2.1 8位SAE J1850 CRC计算
2.2.2 8位0x2F多项式CRC计算
2.3 16位CRC计算
2.3.1 16位CCITT-FALSE CRC16
2.3.2 16位0x8005多项式CRC计算
2.4 32位CRC计算
2.4.1 32位以太网CRC计算
2.4.2 32位0xF4ACFB13多项式CRC计算
2.5 64位CRC计算
2.5.1 64位ECMA多项式CRC计算
三、API接口
一、概述
该规范规定了AUTOSAR基本软件模块CRC的功能、API和配置。
CRC库包含以下CRC计算例程:
- CRC8: SAEJ1850
- CRC8H2F: CRC8 0x2F polynomial
- CRC16
- CRC32
- CRC32P4: CRC32 0xF4ACFB13 polynomial
- CRC64: CRC-64-ECMA
对于所有例程(CRC8、CRC8H2F、CRC16、CRC32、CRC32P4和CRC64),以下计算方法是可能的:
- 基于表的计算:执行速度快,但代码大小较大(ROM表)
- 运行时计算:执行速度较慢,但代码大小较小(没有ROM表)
- 硬件支持的CRC计算(特定于设备):执行速度快,CPU时间更短
有的例程都是可重新引入的,并且可以同时被多个应用程序使用。在未来,某些设备可能会支持硬件支持的CRC计算。
二、功能说明
2.1 通用行为
数据块使用参数“开始地址”、“大小”和“开始值”传递给CRC例程。返回值为CRC结果。
2.2 8位CRC计算
2.2.1 8位SAE J1850 CRC计算
【规范】CRC模块的Crc_CalculateCRC8功能应根据SAE-J1850 CRC8标准实现CRC8例行程序,且CRC模块的Crc_CalculateCRC8功能应提供以下CRC结果:
2.2.2 8位0x2F多项式CRC计算
【规范】CRC模块的Crc_CalculateCRC8H2F功能应基于多项式0x2F实现CRC8例程,且CRC模块的Crc_CalculateCRC8H2F功能应提供以下CRC结果:
2.3 16位CRC计算
2.3.1 16位CCITT-FALSE CRC16
2.3.2 16位0x8005多项式CRC计算
2.4 32位CRC计算
2.4.1 32位以太网CRC计算
2.4.2 32位0xF4ACFB13多项式CRC计算
2.5 64位CRC计算
2.5.1 64位ECMA多项式CRC计算
三、API接口
- Crc_CalculateCRC8
- Crc_CalculateCRC8H2F
- Crc_CalculateCRC16
- Crc_CalculateCRC16ARC
- Crc_CalculateCRC32
- Crc_CalculateCRC32P4
- Crc_CalculateCRC64
- Crc_GetVersionInfo