三种固件格式有什么区别?
Intel HEX(.hex)是最常见的固件格式之一,广泛用于 AVR、STM32、PIC 等单片机的烧录。每行以冒号开头,包含地址、数据和校验和,支持通过扩展地址记录寻址 4GB 空间。
Motorola S-Record(.s19/.srec/.mot)由 Motorola 定义,常见于汽车 ECU 和 Freescale/NXP 芯片。S0 是文件头,S1/S2/S3 分别对应 16/24/32 位地址的数据记录,S7/S8/S9 是结束记录。
Raw Binary(.bin)是纯二进制镜像,没有地址信息,直接按字节顺序映射到存储器。体积最小但不包含地址偏移,通常需要指定烧录起始地址。
为什么需要格式转换?
不同烧录工具、Bootloader 和芯片厂商要求不同格式。例如 ST-Link 用 HEX,某些汽车 ECU 刷写工具要求 S19,而 J-Flash 可以用 BIN。手动转换容易出错,命令行工具(如 srec_cat、objcopy)安装配置麻烦。本工具让你在浏览器里一键完成。