.hex 文件读取或 python 中的 .bin - 获取第一个地址值

.hex file reading or .bin in python - getting first address value

我有各种.hex 文件。其中一些从地址 0x0000 开始,一些从 0x3000 开始。在第二个选项中,我必须用“F”填充缺失的地址。但是在简单地将 .bin 文件转换为 .hex 之后,我不知道第一个地址。有没有办法知道它以便程序可以决定是否需要添加一些字符?

确定其中一个 .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/