ST意法半导体
直播中

云中云

8年用户 936经验值
私信 关注
[问答]

ST驱动程序仅支持CRC32算法吗?

我们希望将 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 ?










回帖(1)

h1654155275.5835

2022-12-9 11:29:51
你确实是对的。到目前为止,stm32-crc linux 驱动程序仅支持 CRC32,而它应该也支持 16,8.7 位,因为硬件知道这样做。
支持 CRC16 的更改很容易在驱动程序中实现,但是不确定 linux 框架是否可以轻松地将其传递给用户空间。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分