NXP MCU 技术论坛
直播中

刘刚

7年用户 1054经验值
私信 关注
[问答]

CAAM中的CRCA (imx8dx) 错误的结果是什么原因造成的?

我正在尝试使用 CRC 加速器通过 GHS 链接器生成的校验和来验证一段代码。我通过作业环访问 CAAM,它工作正常,但生成的校验和是错误的。
. 所以我决定用一个字节中的一个简单值(缓冲区长度 =1)进行测试,结果如下:

多项式是 0x10211021(自定义)。起始 CRC 为零,无交换,无输出重整

测试字节值
正确的结果
CRCA 结果
0
0x00000000
0x00000000
1个
0x10211021
0x10211021
2个
0x20422042
0x20422042
3个
0x30633063
0x30633063
4个
0x40844084
0x40844084
5个
0x50A550A5
0x50A550A5
6个
0x60C660C6
0x60C660C6
7
0x70E770E7
0x70E770E7
8个
0x81088108
0x90299129
9
0x91299129
0x80088108
10
0xA14AA14A
0xB06BB16B
0x81
0x81A181A9
0x30FA22FA


如果输入不变,计算出的值是稳定的,每次都相同。

然后我决定测试从 Vincent Aubineau 那里得到的 fsl_caam.c 中的代码。它产生了相同的错误结果。他现在不在办公室。

有人可以帮忙吗?

回帖(1)

杨万富

2023-12-17 10:57:00
可能有几个原因导致您的问题:

1. CRCA 的配置错误:确保 CRCA 的加速器被启用,多项式被正确设置并且起始 CRC 是零。您应该检查您的代码确保这些设置正确。

2. 数据格式错误:根据您的描述,您在测试期间使用了长度为1的缓冲区。但是,如果您的数据格式不正确(例如,数据不在字节边界上),则可能会产生错误的校验和。请确保您在测试期间使用正确的数据格式,并检查您的代码以确保数据正确地加载到 CRCA 中。

3. GHS 链接器错误:如果您的校验和是通过 GHS 链接器生成的,请检查链接器设置以确保校验和是正确生成的。如果链接器设置不正确,则可能会导致错误的校验和。
举报

更多回帖

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