标签存档: hex

HEX文件格式详解[转]

Hex文件是可以烧录到MCU中,被MCU执行的一种文件格式。如果用记事本打开可发现,整个文件以行为单位,每行以冒号开头,内容全部为16进制码(以ASCII码形式显示)。Hex文件可以按照如下的方式进行拆分来分析其中的内容:

例如 “:1000080080318B1E0828092820280B1D0C280D2854”可以被看作“0x10 0x00 0x08 0x00 0x80 0x31 0x8B 0x1E 0x08 0x28 0x09 0x28 0x20 0x28 0x0B 0x1D 0x0C 0x28 0x0D 0x28 0x54”

第一个字节 0x10表示本行数据的长度;

第二、三字节 0x00 0x08表示本行数据的起始地址;

第四字节 0x00表示数据类型,数据类型有:0x00、0x01、0x02、0x03、0x04、0x05。 继续阅读 »

KeilC编译的hex文件的实际大小

<p>我发现我用KeilC编译处理的hex文件居然有11K,但是烧到AT89S52里面是可以运行的,奇怪。然后我查看了KeilC的Output Window中的信息 Program Size: data=206.5 xdata=0 code=3755,这显然不会有11K啊。</p>
<p>上21IC上搜了下,呵呵明白了。有人是这样解释的:<br />
&ldquo;HEX是用ASCII码记录的,里面还有附加格式,楼主需要Google InterHEX文件格式,里面可以看到地址。最简单的方法:用编程器(例如SuperPro之类)的软件打开HEX文件看下就知道了。&rdquo;</p>
<p>然后我用AVR_fighter.exe一看果然是这样,呵呵。<br />
&nbsp;</p>