十六进制格式(如 SREC 或 Intel HEX)的优势

Advantage for hex formats like SREC or Intel HEX

我想问是否有人可以向我解释使用十六进制格式(例如摩托罗拉 S-Record 或 Intel HEX)比使用直接二进制映像(如固件或内存转储)的好处?

我知道有一些关于二进制文件的元信息很有用,比如使用的内存区域、数据完整性校验和等等…… 然而,实际数据大小加倍,因为所有内容都将以十六进制 ASCII 表示形式保存,这让我感到困惑。

使用十六进制 ASCII 表示的原因仅仅是为了可移植性,以防止具有不同字节字节顺序的系统出现问题,还是有其他好处?

我为这个主题找到了很多关于如何将二进制转换为十六进制和向后转换或某些格式的规范的教程,但没有关于优缺点的信息。

与二进制图像相比,HEX-ASCII 格式有几个优点。这里有一对夫妇开始。

  1. 交通工具。 ASCII 文件可以通过大多数媒体传输。二进制文件可能无法在某些介质上完整传输。
  2. 有效性检查。 HEX 文件的每一行都有一个校验和。二进制文件可能没有任何检查。
  3. 大小。数据被写入 Hex 文件中选定的内存地址。二进制图像的寻址信息有限,可能包含从起始地址到文件末尾的每个内存位置。