Microchip
直播中

史晓明

8年用户 1012经验值
私信 关注
[问答]

十六进制文件校验和计算的方法是什么?

亲爱的所有论坛成员,我已经为PIC32MX设备实现了Bootloader。为了进行错误处理,我检查了从PC软件接收的每行十六进制文件的校验和。但是我想计算类似于MPLABX IDE的“完整六进制文件”的校验和。以下是计划:基于PC的软件将计算e校验和&显示在屏幕上,以便用户可以在启动Bootloader应用程序之前与正确的校验和复核。ORUser可以在UI&软件上输入校正校验和,这将自动与计算的校验和进行比较。如果有人知道计算十六进制文件校验和的方法,请轻松回答,谢谢,Gaurav

回帖(15)

王玉华

2019-8-14 10:04:14
我有一些代码来生成整个HEX文件的CRC-32(PGM FLAS+EEPROM+CONFIG),如在控制文件中指定的。它不是一行一行地工作,而是用一个32位CRC,我觉得没有必要。它在使用反射和大量继承方面有些先进,但是如果您只需要CRC代码,那么这周的某个时候我就可以删掉一个例子。您知道如果使用它,您想要使用哪个CRC吗?参见Koofman的CRC资料:http://cli.EC.CMU.EDU/Koopman/CRC/GlennP
举报

陈晨

2019-8-14 10:17:31
一个简单的校验和是所有数据字节的总和。一个更好的测试是CRC(可用8,16,32位),甚至更好的是散列。可以使用PIC32加密外围设备进行预处理
举报

王玉华

2019-8-14 10:30:50
这是“库普曼”,而不是“库夫曼”。%s&Ap**(@论坛s/w不允许我编辑)。
举报

王玉华

2019-8-14 10:37:57
同意W/NK:Checksums很弱。CRC(32位)是正确的,哈希是最好的。在类似的情况下,我使用.NET的Sh512托管类来实现哈希函数。我认为现在有更好的。
举报

更多回帖

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