我正在使用 USB 指轮引导加载程序并成功读取了大量记录,但在大约 2000 字节时引发了 check_sum 错误。我最初认为它必须是我的代码,但最终确定了 Hex 文件中的违规记录,我更加困惑。
以下是导致问题的 hex 文件中的代码行的一些摘录(如下)。它们都将数据长度字段显示为零。现在,据我所知,INTEL HEX 格式中数据长度为零的唯一文件类型应该是文件记录的结尾,最后一个格式为::00000001FF // End oF File记录。冒号“:”后面的两个零表示数据字段中的字节数 - 零 - 因为 EOF 记录中没有。
但是,从我的代码中提取的是以下 3 个带有“:00”的代码示例,它们不是文件记录的结尾,并且在搜索互联网时,我找不到它们可能是什么的迹象。
是的,代码编译并且我加载的十六进制代码在板上运行良好。
:1094F00044E3400B000000703EE5400B00000070AC
:009500006B <<<< not EOF record so what is it?
:102F1C0081BF1E3C00F2C283C418027C81BF1E3CE0
.
:105B5400FFFF0234748822A40800E00300000070F0
:005B640041 <<<<not EOF record so what is it?
:104E5C00F4FFBD270000BFAF0400B9AF8594400F2D
.
:104F5C000400B98F0000BF8F0800E0030C00BD27D0
:004F6C0045 <<<<<<<not EOF record so what is it?
:020000041D01DC
.
:020000041FC01B
:102FF000000007C07505000003E606000FF00F1182
:00000001FF // End of File Record
提前致谢