正确计算CRC32 [已关闭]

7xzttuei  于 2022-12-17  发布在  其他
关注(0)|答案(1)|浏览(161)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。

4天前关闭。
Improve this question
我使用微控制器的硬件crc计算功能计算flash中文本区域的crc32。我正在用0xFF填充文本区域中各节之间的空间。后来,我用0xFF填充了创建的.srec文件的节范围,并将其转换为二进制文件,然后用7.exe应用程序计算了crc32。我不想在crc计算中包含文本区域中的空格,这样我在微控制器端进行的crc计算会更快。
我用我在微控制器中编写的代码处理了这个过程。但是当我将.srec文件转换为二进制文件时,节之间的空格在二进制文件中被写为空格,我的crc计算是错误的。有人对这个问题的解决方案有什么建议吗?

juud5qan

juud5qan1#

您可以使用SREC文件中任意多个节的转换,从而为每个节生成单独的二进制图像文件。
将这些二进制文件附加到一个单独的映像文件,例如在Bash:

cat section1.bin section2.bin section3.bin section4.bin > complete.bin

由于您似乎使用Windows,因此您可以执行以下命令:

copy /b section1.bin+section2.bin+section3.bin+section4.bin complete.bin

现在让CRC工具计算整个映像的CRC。
请注意,如果您的目标系统希望其代码位于某些地址,则通常无法通过删除链接器分配中的间隙来“折叠”节。但是,您可以花一些时间研究此选项,以便提前删除间隙,从而减少节数。

相关问题