英特尔十六进制文件扩展段地址和扩展线性地址



我正在为我目前正在开发的应用程序编写一个英特尔十六进制文件阅读器。

有一件事我不清楚在英特尔十六进制文件规范(http://microsym.com/editor/assets/intelhex.pdf)是怎么做,如果一个十六进制文件有一个扩展段地址和一个扩展线性地址。包含这两个记录(02和04)的文件是合法的,还是应该被拒绝?

如果是合法的,如何处理?当读取扩展段地址时,扩展的线性地址应该被清除(反之亦然)还是应该以某种方式将它们组合起来?

谢谢。

我在Microchip的AN1388源代码中遇到了这个问题

在frameworkc的WriteHexRecord2Flash()中,看起来它们添加了从02和04记录派生的两个偏移量。我不是说这是正确的做事方式,但这是目前为止我遇到的唯一解决这个问题的方法。

规范似乎没有说明在这种情况下该怎么做。

最新更新