您的位置 首页 被动

单片机常用输出格局–Hex-80(Hex 386)

单片机常用输出格式–Hex-80(Hex386)我前面曾经介绍了Intel32bitHex,但并不是所有的hex文件都属于这种格式。Keil输出的hex文件则

单片机常用输出格局–Hex-80(Hex 386)

我前面从前介绍了Intel 32 bit Hex,但并不是一切的.hex文件都归于这种格局。Keil输出的hex文件则是别的一个相似的格局Hex-80。与前者相似,纪录的格局为:
:LLAAAARRDDDD………DDDDCC
LL: Length field-长度段:数据段(D)的字节数
AAAA: Address field-地址段:数据段第一个字节的地址
RR: Record type-纪录类型,00代表数据,01代表纪录完毕
DD..: Data field-数据段
CC: CheckSum field-校验和:计算方法是将本条记载冒号开端的一切对字母<不包括本效验字和冒号>所表明的十六进制数字<一对字母表明一个十六进制数,这样的一个十六进制数为一个字节>都加起来然后模除256得到的余数最终求出余数的补码便是本效验字节cc.

比如::011B50002272
LL = 0x01
AAAA = 0x1B50
RR=0x00
DD=0x22
CHECK SUM = ~((0x01+0x1B+0x50+0x22)&0xFF)+1 = 0x72

与Intel 32不同,因为Hex-80用于64K地址规模以内的体系,所以没有基址设定的指令。如果在Keil-51中,用跨BANK的方法超过了64K,编译器会发生多个HXX文件来标识BANK。如:
test.h00
test.h01
test.h02
分别在每个bank的视角来发生64K代码空间。关于Common Bank因为其在每个Bank的视角中都存在,所以在几个文件中都有相同的存在,这点要求编程人员留意。
还有,形似Keil发生的Hex-80文件地址并不接连~天晓得Keil为什么不规整一下。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/beidong/261172.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部