0

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

4

1 回答 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 回答