我正在尝试自己编写简单的 Intel HEX 解析器。
在阅读http://en.wikipedia.org/wiki/Intel_HEX wiki 之后,我仍然有一些问题。
1.地址可以重叠吗?我的意思是这个检查总是正确的吗?
if (hexl[k]->address + hexl[k]->count > hexl[k+1]->address)
{
// These addresses are sorted
HEX_DEBUG("Addresses [%" PRIx16 "] and [%"PRIx16"]"
" are overlapping", hexl[k]->address,
hexl[k+1]->address);
return HEX_EOVERLAP;
}
2.用于加载到某些EPROM的HEX文件地址之间可以有间隔吗?我的意思是我应该使用
if (hexl[k]->address + hexl[k]->count > hexl[k+1]->address) {} // > comparison
or
if (hexl[k]->address + hexl[k]->count != hexl[k+1]->address) {} // != comparison
查看。我找不到一些限制。