1.hex文件大致解读
闲来无事,查看了MCU6.用keil新建项目的hex文件
用FlexHex打开
给我的第一印象是:经过软件的解释之后,发现这些数据排列地十分整齐
:02000F0080FE71
:03000000020003F8
:0C000300787FE4F6D8FD75810702000F3D
:00000001FF
把解释后的数据当作十六进制来观察
1.每一行数据均以冒号:开头
2.行与行之间的数据长度不同
看每行第1,2个数字
02H(十六进制)=02D(十进制),03H=03D,0CH=12D,00H=00D
第1行比第2行少1个字节(03D-02D=01D)
第2行比第3行少9个字节(12D-03D=09D)
第4行比第1行少2个字节(02D-00D=02D)
发现两行数据的长度的差值恰好对应两行的第1,2个数字相减的值
因此可以猜测每一行的长度与第1,2个数字的大小有关
查资料可知:
对于:02000F0080FE71从左向右看
:代表这一行的开始
02代表数据长度
000F代表地址
00代表数据类型
80FE代表数据
71代表校验码
其它行的解释同理
2.反汇编查看
打开MCU6.用keil新建项目文的工程,点击以下按钮
在反汇编一栏中看见的熟悉的数据80FE
准确来说,80FE代表的是51单片机的汇编指令