在实际工作中会遇到.bin/.par/.hex类型的文件。并不是说如何使用,只是对于文件本身进行解读而已。
前面两种总体来说就是简单的二进制文件,其中.bin文件是大家在使用,通用的二进制文件,而.par文件是华为使用的,不知道为什么他们要用.par为文件类型,并且也好像就他们在使用而已,跟.bin文件差别。
今天主要讲将对于.hex文件的理解,其实网上到处都是说的,有的说的简单,有的说的复杂。整理一下资料与思路。
定义:Intel HEX 文件是遵循 Intel HEX 文件格式的 ASCII 文本文件。在 Intel HEX 文件的每一行都包含了一个 HEX 记录。这些记录是由一些代表机器语言代码和常量的16进制数据组成的。Intel HEX 文件常用来传输要存储在 ROM 或者 EPROM 中的程序和数据。大部分的 EPROM 编程器能使用 Intel HEX 文件。Intel HEX由任意数量的十六进制记录组成。
每个hex文件使用二进制打开后,是需要转义成ascii字符的,每行以冒号为开始符,回车与换行为结束符。
比如:
:1000000018F09FE518F09FE518F09FE518F09FE5C0\r\n
拆分成:
:+10+0000+00+18F09FE518F09FE518F09FE518F09FE5+C0+\r\n
Start Code+Byte count +Address +Record type +Data +Checksum+endline
Start
Code
每个
Intel
HEX
记录都由冒号开头
Byte
count
是数据长度域,它代表记录当中数据字节的数量
Address