参考修改
参考github的MIT协议开源项目 ihex 改写的代码
https://gitee.com/liudegui/intelhex-c
- 修改点:
- 修改Makefile脚本,支持x86_X64平台和aarch64平台
- 将默认读取行长度设置为16位
- 删除与ihex和bin之间的转换无关的示例代码
十六进制描述
HEX格式是这样的:
解释:
第1-15行是Hex Header,第16行之后的每一行数据都需要验证。
图中数据从16行开始,每行长度为16字节。
使用场景
在amd64平台上,使用bin2IntelHex手动将我们的img bin文件转换为IntelHex格式,在aarch64 平台中执行 IntelHex2bin。
.hex文件的起始位置写入偏移地址,写入.hex文件末尾的数据大小
使用帮助
# Simple conversion from .img to .hex:
bin2ihex -i sysupgrade_xxx.img -o sysupgrade_xxx.hex
# Add an offset to the output addresses (i.e., make the address
# of the first byte of the input other than zero):
bin2ihex -a 0x8000000 -i sysupgrade_xxx.img -o sysupgrade_xxx.hex
# Simple conversion from .hex to .img:
ihex2bin -i sysupgrade_xxx.hex -o sysupgrade_xxx.img
# Manually specify the initial address written (i.e., subtract
# an offset from the input addresses):
ihex2bin -a 0x8000000 -i sysupgrade_xxx.hex -o sysupgrade_xxx.img