HexView主要可以显示不同文件格式的内容,包括Intel-HEX、Motorola S-record二进制文件或其他特定汽车制造商的文件格式。此外,它还可以执行多种数据处理操作,如校验和计算、签名生成、数据加密/解密或压缩/解压缩,甚至重新排列文件的数据内容。
HexView的一些功能可以通过图形用户界面使用。但也有一些强大的功能只能通过命令行界面使用。有些功能甚至只能通过命令行访问。
HexView在嵌入式系统环境中的典型用例
使用该工具时需要格外小心,因为不当使用可能会导致严重后果。
程序的用户界面和菜单项
用户界面
要理解用户界面,首先需要澄清一些文件内容的基础知识。首先,Intel-HEX或Motorola S-Record由分配给特定地址的数据组成。数据可以从特定起始地址连续开始。一个连续的数据块被称为一个区段或段。这样的文件可以包含一个或多个数据区段。
HexView的主菜单
上图显示了加载HEX文件后HexView的主菜单。工具的上部分列出了文件的区段。在上面的例子中,文件由两个区段组成,名为“Block 0…1”。对于每个区块,都给出了起始地址和结束地址,以及十六进制和十进制值的长度。
在区段描述之后,显示了数据本身。两个相邻的区块由一个空行分隔。
HEX显示行包括起始地址及其数据。在右侧,如果可能的话,数据部分被解释为字符(如果数据小于32,则字符显示为’.')。
在窗口底部显示了一些状态信息,从左到右:
- 有关选定菜单选项的信息
- 当前加载文件的总字节数(十进制)和印度语(Size=Xxxxx)
- 当前加载的文件格式(见2.2.1.2.1节可能的值)
编辑HEX数据行
要编辑十六进制行,双击你想要编辑的对应行。这将打开编辑行对话框。
你可以用两种不同的模式编辑行。在上行中,数据可以以十六进制模式输入。在下行中,数据可以作为ASCII字符输入。左侧字段显示该行被分配到的基地址。
如果只输入了几个字符或十六进制值,HexView将只更改这些行。其他的将保持不变。
更改数据块的基地址,擦除它或直接跳转到块数据的开始
双击主菜单顶部的块信息,打开块移位地址菜单。
此对话框允许更改一个块的地址,只需输入新的基地址。
也可以使用这个功能跳转到指定块的开始,通过选择“Goto”按钮来显示数据,如果“New Address”中指定了另一个值,它就会改变起始地址。
还可以通过按下“Erase entire block”按钮从列表中删除整个块。
菜单
主菜单分为以下类别:
- 文件(File)
- 编辑(Edit)
- 查看(View)
- Flash编程(Flash Programming)
文件菜单直接操作整个文件。查看菜单允许搜索选项,编辑菜单可以操作数据。
菜单:“文件”(File)
新建(New)
关闭当前文件并重新启动一个新会话。
打开(Open)
此对话框允许打开一个数据文件。Hexview分析数据容器并检查已知格式。结果数据格式显示在底部状态行中。
自动文件格式分析过程(Auto-file format analysing process)
格式分析过程使用以下方法和顺序:
- Fiat文件:检查文件名扩展是否为“.prm”,如果是,尝试将其作为Fiat参数和BIN文件组合读取。
- GM二进制文件(GBF):检查文件名扩展是否为“.gbf”或“.bin”,如果是,尝试以GM二进制文件格式加载。
- 没有ASCII的二进制文件:读取第一行非零长度并检查是否包含非ASCII字符。如果是,将文件作为二进制块读取。
- I-Hex:如果文件的前25行对应ASCII字符串并以‘:’开头,则将数据读取为Intel-HEX。
- S-Rec:如果ASCII字符串以字符‘S’开头,将其读取为Motorola S-Record。
- Ford VBF文件:检查是否包含字符串“vbf_version”,如果是,则作为VBF文件加载。
- Ford I-Hex:检查文件是否包含Ford的Intel-HEX头信息之一,并将其作为Ford-Ihex文件读取。
在所有其他情况下,将文件作为以0为基地址的二进制数据输入读取。
合并(Merge)
此项目读取一个文件,并将数据添加到当前文档数据中。选择此项目后,将打开文件选择对话框。你可以选择自动文件类型选择中的任何文件格式。选择文件并按OK后,将出现以下对话框:
指定范围显示合并文件的数据区域,可以选择要合并到当前文档的较小范围,可以指定一个偏移量,该偏移量将应用于要合并的每个段,偏移量可以是正数或负数,并将被加或减,使用负号从每个段的基地址中减去偏移量,如果合并文件的数据与文件数据重叠,将显示警告。
如果接受“覆盖现有数据”,新读取的数据将覆盖内部存在的数据。如果不接受,内部数据将保留,只有周围的数据被读取到内部内存中。
所有文件类型都可以合并,这些类型也支持自动文件类型检测方法。
比较(Compare)
此项目提供了一种比较内部数据与外部文件数据的方法,比较选项可以加载“文件打开”支持的相同文件类型。
选择此项目后,将打开文件选择对话框。选择包含要比较的数据的文件。之后,将打开文件比较对话框。
左侧窗口显示内部数据,而右侧窗口显示外部文件的数据。所有差异都用颜色标记。不在内部或外部文档中的数据部分用‘-’标记。
上面的中间的绿色上下箭头可以用来搜索文件中的其他差异。下一个/上一个搜索过程始终从窗口中显示的第一行开始。
下一个/上一个搜索算法从窗口的顶部行开始,它使用下一行/上一行,并搜索下一个相等的数据。如果找到相等的数据,它将搜索下一个差异或数据不存在。如果找到,第一次出现将在窗口顶部显示。