你怎么理解Hex文件? (扩展地址记录)
我正在尝试为PIC18制作一个引导程序,所以我需要了解如何正确处理hex文件.例如,我理解如何处理以下十六行.
:040C0000E2EFFFF030 04:字节数 0C00:十六进制数字的地址 00:数据记录 E2EFFFF0:数据序列 30:校验和 所以我会知道如何处理上面的行,但是下面的十六行怎么样. :020000040001F9 02:字节数 0000:地址 04:扩展线性地址记录 0001:数据 F9:校验和 但究竟我该怎么做呢?我是否将这些数据写入该地址?你能把它翻译成机器语言吗? 顺便说一句,我的应用程序从地址0c00开始,bootloader从地址0020开始,在它上面,是中断向量.谢谢! 更新 如果hex文件的第三行是以下,地址FFC0会改变吗? :10FFC000FF00FF00FF00FF00FF00FF000001E9EF5E 我在想,因为hex文件的第二行有04(扩展线性地址记录),那么我应该将0001添加到第三行FFC0的地址,所以新地址将是这样的. $0001 $FFC0将等于1FFC0,因此第3行的下一组数据字节应写入此地址1FFC0,这是正确的吗? 解决方法
来自维基百科
Intel Hex(此类信息的明显来源)
所以公式是(linAddr<< 16)addr或在你的情况下($0001<< 16)$FFC0 对于02 /扩展段地址记录的情况,公式更改为(segAddr<< 4)addr (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |