我们希望将 CRC16 校验和添加到我们的
通信有效载荷中,
我在
STM32mp157 数据表 CRC 模块部分看到它应该支持 CRC32、16、8 和 7 位。
"""
25.4.3 CRC 控制寄存器(CRC_CR)
位 4:3 POLYSIZE[1:0]:多项式大小
这些位控制多项式的大小。
00:32 位多项式
01:16位多项式
10:8位多项式
11:7位多项式
"""
但我没有看到它在 ST CRC 驱动程序(“stm32-crc32.c”)中使用 - Linux 5.10
快速查看 ST CRC 驱动程序后,我发现仅支持 CRC32。
需要明确的是,CRC32 有效,我已经使用 AF_ALG 请求内核支持来计算 CRC32 的用户空间应用程序对其进行了测试。
但我们想改用 CRC16。
1) 我是否正确理解 ST 驱动程序仅支持 CRC32 算法?还是我错了?
2) 如果我理解正确,并且 ST 驱动程序只支持 CRC32,实际硬件是否支持 CRC16,或者我误解了数据表,硬件模块也
只支持 CRC16 ?