我有各种 .hex 文件。其中一些从地址 0x0000 开始,一些从 0x3000 开始。在第二个选项中,我必须用“F”填充缺失的地址。但是在简单地将 .bin 文件转换为 .hex 之后,我不了解第一个地址。有没有办法知道它以便程序可以决定是否需要添加一些字符?
问问题
60 次
1 回答
0
确定其中一个 .hex 文件中第一个地址的最简单方法是将其作为文本文件打开,读取第二行,提取第 4-7 列中的字符并将它们解析为十六进制数:
with open('example.hex') as f:
first_line = next(f)
second_line = next(f)
first_address_str = second_line[3:7]
first_address = int(first_address_str, 16)
if first_address == 0:
# do something
elif first_address == 0x3000:
# do something else
else:
# do something else
当然,已经有一些库可以让处理此类文件更加方便和可靠,例如:https ://pypi.org/project/intelhex/
于 2021-11-24T10:19:04.327 回答