【发布时间】:2012-10-22 09:25:25
【问题描述】:
我正在开发一个软件实用程序来将一些数据传输到 pci-e 板。为了避免数据传输错误,我在每个数据包中添加了一个 CRC 字段,以便 pci-e 板可以使用 CRC 值验证接收到的数据。
然后我们发现CRC值校验失败。
我正在使用 boost::crc_32_type 来生成 CRC 值,而硬件人员告诉我板上的 CRC 实现来自 http://www.easics.com/webtools/crctool,他们正在使用 64 数据总线宽度版本的 CRC32 - ETHERNET / AAL5。
那么,是否可以使用 boost::crc_32_type 来与他们正在使用的那个一起工作?
任何建议将不胜感激!
[编辑 2013.02.20]
- 工作 crc 模板应具有以下定义:
boost::crc_optimal - 每8个字节的顺序在被处理之前需要颠倒
- std::for_each 用来代替 process_bytes 来得到结果,不过我还是不太明白它们之间的区别。
【问题讨论】: