[开发工具] 如何生成每行包含 32 字节数据的 Intel HEX 文件?

[复制链接]
261|7
lilaiju 发表于 2025-11-4 19:33 | 显示全部楼层 |阅读模式
STM32CubeIDE 生成的 Intel HEX 文件每行仅包含 16 字节数据。
有没有相关文章 / 资料说明如何生成每行 32 字节数据的 Intel HEX 文件?

jf101 发表于 2025-12-12 13:11 | 显示全部楼层
官方文档参考一下
averyleigh 发表于 2025-12-12 16:01 | 显示全部楼层
调整每行的数据字节数,可以手动编辑文件。
hearstnorman323 发表于 2025-12-14 20:18 | 显示全部楼层
def generate_hex_file(data, output_file):
    with open(output_file, 'w') as f:
        address = 0
        while data:
            line_data = data[:32]
            data = data[32:]
            line_len = len(line_data)
            checksum = (line_len + (address >> 8) + (address & 0xFF) + 0 + sum(line_data)) & 0xFF
            checksum = (~checksum + 1) & 0xFF
            line = f':{line_len:02X}{address:04X}00' + ''.join(f'{byte:02X}' for byte in line_data) + f'{checksum:02X}'
            f.write(line + '\n')
            address += line_len

# 示例数据
data = [0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88] * 100  # 重复的数据
output_file = 'output.hex'
generate_hex_file(data, output_file)
598330983 发表于 2025-12-15 16:17 | 显示全部楼层
要生成每行包含 32 字节数据的 Intel HEX 文件,需先理解其格式规范,再通过手动编写、编程生成或工具辅助三种方式实现。
xinpian101 发表于 2025-12-18 17:37 | 显示全部楼层
通过手动构造、工具生成或编程实现三种方式来完成。
belindagraham 发表于 2025-12-19 13:17 | 显示全部楼层
使用 SRecord              
antusheng 发表于 2025-12-20 09:02 | 显示全部楼层
Intel HEX 文件是一种ASCII 文本格式的固件文件,每一行(记录)由冒号开头,包含 6 个字段
您需要登录后才可以回帖 登录 | 注册

本版积分规则

202

主题

203

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部
0