hex与hin文件格式的不同

hex与hin文件格式的不同

ID:11836365

大小:37.00 KB

页数:8页

时间:2018-07-14

hex与hin文件格式的不同_第1页
hex与hin文件格式的不同_第2页
hex与hin文件格式的不同_第3页
hex与hin文件格式的不同_第4页
hex与hin文件格式的不同_第5页
资源描述:

《hex与hin文件格式的不同》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Hex文件,这里指的是Intel标准的十六进制文件,也就是机器代码的十六进制形式,并且是用一定文件格式的ASCII码来表示.具体格式介绍如下: Intel hex 文件格式 Intel hex 文件常用来保存单片机或其他处理器的目标程序代码。它保存物理程序存储区中的目标代码映象。一般的编程器都支持这种格式。 Intel hex 文件全部由可打印的ASCII字符组成,如下例所示: :2000000012014c75a800e4f508f509780a7a78e4f608dafcd283fcfded240af9a7050d

2、bd81 :2000200000010ced2488ec34ff50edc283e4fcfded240af9e76d7013ed33e43c700d0dbd2a :2000400000010ced2488ec34ff50e50509e50970020508e50924a8e50834fd50aee4f50874 Intel hex 由一条或多条记录组成,每条记录都由一个冒号“:”打头,其格式如下: :CCAAAARR...ZZ 其中: CC 本条记录中的数据字节数 AAAA 本条记录中的数据在存储区中的起始地址 RR 

3、记录类型: 00 数据记录 (data record) 01 结束记录 (end record) 02 段记录 (paragraph record) 03 转移地址记录 (transfer address record) ... 数据域 ZZ 数据域校验和 Intel hex文件记录中的数字都是16进制格式,两个16进制数字代表一个字节。CC域是数据域中的实际字节数,地址、记录类型和校验和域没有计算在内。校验和是取记录中从数据字节计数域(CC)到数据域(...)最后一个字节的所有字节总和的2的补码。 而Bin文件是最纯

4、粹的二进制机器代码,没有格式,或者说是"顺序格式"按assembly code顺序翻译成binary machine code.由于分析出来Hex文件中的数据域ASCII码表示的十六进制与二进制一一对应,而且我公司DSP又是16位的,以一个word为最小单位,所以四个十六进制ASCII码代表一条机器指令单位或者地址.借于上面分析,编写了工具代码.大体原理是用fscanf函数在每行的数据域读入四个ASCII码,以短整形(short int 16bit)形式储存,在把这个短整形变量顺序fwrite到文件流中去即可. 举一例

5、说明: 表1 ORG 0000H LJMP START ORG 040H START: MOV SP,#5FH ;设堆栈 LOOP: NOP LJMP LOOP ;循环 END ;结束 表2 :03000000020040BB :0700400075815F000200431F 表3          02 00 40 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

6、 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 75 81 5F 00 02 00 43 表1为源程序,表2是汇编后得到的HEX文件,表3是由HEX文件转换成的目标文件,也就是最终写入EPROM的文件,它由编程器转换得到,也可以由HEXBIN一类的程序转换得到。学过手工汇编者应当不难找出表3与表1的一一对应关系,值得注意的是从02 00 40后开始的一长串‘FF’,直到75 81,这是由于伪指令:ORG 

7、040H造成的结果。copy from:http://tieba.baidu.com/f?kz=271526661/*      使用方法 : bin2hex -b adress filename      -b : 指示hex文件起始地址      address : hex文件的起始地址(FIXME:当前版本只支持k字节边界)      filename : 待转换的文件名      示例 : bin2hex -b 32k rom.bin*/#include #include 

8、#include FILE *fp_read;                /* 待读取文件句柄 */FILE *fp_write;               /* 待写入文件句柄 */              unsigned long start_adr;      /* 转换成Hex格式的起始地址 

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。