This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RM57L843:CRC 图形长度

Guru**** 1999175 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1421959/rm57l843-crc-pattern-length

器件型号:RM57L843

工具与软件:

您好!

我正在尝试在 RM57上使用 CRC。 传递到 crcSignGen 的结构具有"src_data_pat"、其中 whhich 是指向具有64位数据缓冲器的缓冲器的指针、另一个 字段是"data_length" 、它是 src_data_pat 中64位大小的字的数量。 然而,如果说我只有5字节的数据,每一个这些值是什么 shoukd ?

此外、我使用64位数据尝试了以下代码、但得到了错误的 CRC 值。 如果我遗漏了什么、您能告诉我吗? 我已将其配置为 FULL_CPU 模式并使用 CRC1和通道0。

crcModConfig_t 参数;
uint64_t data = 0x4142434445464748;

void main()

  crcInit ();

   crcChannelReset (crcREG1、0);
  param.crc_channel = 0;
  param.mode = CRC_FULL_CPU;
  param.data_length = 1;
  param.src_data_pat =&data;
  crcSignGen (crcREG1、&param);
  sig = crcGetSectorSIG (crcREG1、0);

}

我得到的值是 0xB19C8742DDF0EBAA、而正确的值是0x38178634E55140F2。

谢谢!

Ravi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ravi:

    请参阅我的以下常见问题解答:

    (+)[常见问题解答] TMS570LC4357:在循环冗余校验(CRC)控制器模块-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛中列出错误

    在这里、我列出了驱动程序代码中与大端字节序和小端字节序器件相关的错误。

    由于 RM57x 是小端器件、因此请参阅上述常见问题解答中与小端器件相关的错误。

    在常见问题解答的末尾、我还附上了参考示例。 所以、请再次参考。

    ——
    谢谢、此致、
    Jagadish。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jagadish:

    我尝试了 上面链接中的 crc_full_cpu_mode_RM57代码。 在此部分中、我对其进行了修改、以计算 单个64位数据(而不是128 x 64位数据)的 CRC。 然后、我将计算出的 CRC 与基于本网站计算出的 CRC-64 ISO 进行了比较。 但是、我仍然无法将其匹配起来。 wesite 使用 RM57参考手册中提到的相同 CRC 多项式。 您能看一下吗?

    https://www.lddgo.net/en/encrypt/crc

    谢谢!

    Ravi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ravi:

    您不应使用 CRC-64 ISO、因为我们的算法与 CRC-64 ISO 略有不同

    如果我们保持 CRC-64 ISO、那么它会将初始值和 XOROUT 值设置为0xFFFFFFFF 正确吗?

    但是、对于我们的计算、我们应将上述值设为0x000000000000、因此请保持自定义并进行如下更改:

    您可以看到、对于您的数据 0x4142434445464748、我从网站获得了压缩 CRC 为0xDDF0EBAAB19C8742、这里是来自 CRC 模块的压缩 CRC:

    您可以看到、两者都是匹配的。

    ——
    谢谢、此致、
    Jagadish。