主题:C2000WARE 中讨论的其他器件
工具/软件:
您好的团队、
由于功能安全要求、客户将使用 Web CRC 工具来计算 CRC 数据、然后将其与从 DSP CRC 计算元素获得的结果进行比较。
他们在 syscfg 中配置它、它有很多设置、我们尝试很多不同的配置、很多次。
但结果始终与 Web CRC 工具提供的结果不同: CRC在线计算
您是否可以帮助根据此 Web CRC 工具在 syscfg 中配置 CRC 设置?
BRS
Shuqing
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.
工具/软件:
您好的团队、
由于功能安全要求、客户将使用 Web CRC 工具来计算 CRC 数据、然后将其与从 DSP CRC 计算元素获得的结果进行比较。
他们在 syscfg 中配置它、它有很多设置、我们尝试很多不同的配置、很多次。
但结果始终与 Web CRC 工具提供的结果不同: CRC在线计算
您是否可以帮助根据此 Web CRC 工具在 syscfg 中配置 CRC 设置?
BRS
Shuqing
尊敬的 Shuqing:
下面是一个 e2e、我相信会有所帮助
具体来说:
myVRCR0_Handle->run (myVRCR0_Handle);
crcResult = myVRCR0_handle -> crcResult;
crcResult =__flip32 (crcResult);
crcResult =~crcResult;
谢谢、
Sira
尊敬的 Sira:
当我 更改为 此项时、它仍然不起作用:
还有一个问题:
1.
提供最后、这特定于库进行计算的方式。 它首先处理 LSB、然后处理 MSB、因此在测试数据中 (0x3700、0x1234、..) 如果您希望 CRC 计算的处理顺序为 0x37、然后是 0x00、0x12、然后是 0x34、…μ s 它们应以(0x0037、0x3412,…)
我认为可以通过更改以下设置来解决此问题? 不需要更改输入数据?
2.
我注意到输入和输出都是反向的(两者都在 e2e 中包含的中文 pic 中检查)。 因此、要使用的多项式不是 crc_run32BitPoly1、而是 crc_run32BitPoly1 Reflected、另外
可以通过将此设置为“Set"来“来解决此问题。
3. crc_run32BitPoly1Reflected 与 syscfg 中的函数之间有何区别?
BRS
Shuqing
Shuqing
您更新的 testInput 仍然错误。 请记住、C28 不支持 8 位字节。 因此、更新后的输入缓冲区会将数据处理为 0x00 0x00 0x00 0x37 0x00 0x34 0x00...、因此不会工作。
更改奇偶校验设置不起作用、因为这只会告诉库是从 LSB 还是从第一个字的 MSB 开始计算。 之后、它将始终使用 LSB - MSB。
因此、对于偶校验、它将为 (LSB-MSB)-(LSB-MSB)-(LSB-MSB);对于奇校验、它将为 (MSB)-(LSB-MSB)-(LSB-MSB)-(LSB-MSB)-。
我不确定硬件 CRC 函数 — 您可以尝试查看它们生成的代码。 但我们建议使用 crc_run32BitPoly1Reflected 以及我发送的后处理代码。
您好 Sira
客户不在乎选择哪个硬件 CRC、他们只想使用 syscfg 来生成与 Web https://www.lddgo.net/encrypt/crc 相同的结果
您能给出一个对应的配置吗?
BRS
Shuqing
尊敬的 Shuqing:
简而言之、在当前的 C2000 syscfg 模块中不启用选择 VCU2 功能作为选项。 因此、第二个最好的方法是在 syscfg 中初始化和设置 CRC 结构、但在主初始化例程期间更改 run 函数、如上所示。 不理想,但它不会给程序带来任何伤害。
我们正在研究这个 CRC 模块、并开始了关于将 VCU2 功能引入模块的内部讨论。 希望我们可以在下一个 C2000Ware 版本之前更新 CRC 模块。
此致、
Sen Wang