HEX文件怎么用 ?
生成方法如下:
1、工具需求
(1)iar平台
2、第一种方法:首先在工程选项options里面,选中output converter选项,接着勾中Generate additional output选项,
(1)然后在Output format 里选中Intel extended选项,继续在Output file 下面勾上Override default就完成,在Exe文件夹里就有×××.hex,效果如图所示。
3、第二种方法:先打开IAR的工程选项,紧接着选中左边栏中的Linker,在右边的选项卡中选中第一项output。
(1)此时勾中Output file下的选项,并将输出文件名后辍改为.hex,
(2)最后在Format选项框中选中Other,Output 后 选择inter-extneded其他的值保持默认,hex文件就生成了,如图。
首先需要知道您用的单片机的型号,如果型号是STC12C5A60之类的,就是以字母STC开头的,那么它就是STC系列单片机。如果型号是AT89S51之类的,就是字母以AT开头的,就是AT系列的单片机。
如果您用的是STC的单片机的话,需要用到STC-ISP软件,这个在STC的官网就可以下载到http://www.stcmcu.com/
然后还需要一个USB转TTL串口的下载线,然后把单片机的最小系统连接好(电源、晶振、下载线),然后打开下载软件,选择芯片型号,选择要下载的程序,单击软件的下载按钮,此时给单片机通电,如果一切正常的话,hex文件就可以下载进去。注意供电电压5V,有些型号需要外接晶振。
如果您用的是AT系列的单片机,一般分为两种,一种是支持ISP的,例如AT89S51,这种可以用51的ISP下载线下载,5V供电即可。还有一种是不支持ISP的,例如AT89C51,这个就需要用编程器下载了。例如我用的是TOP2005编程器。
如果是其他型号的单片机,你说下型号是什么。
记录格式
Intel HEX由任意数量的十六进制记录组成。每个记录包含5个域,它们按以下格式排列:
:llaaaatt[dd...]cc
每一组字母对应一个不同的域,每一个字母对应一个十六进制编码的数字。每一个域由至少两个十六进制编码数字组成,它们构成一个字节,就像以下描述的那样:
: 每个Intel HEX记录都由冒号开头.
ll 是数据长度域,它代表记录当中数据字节(dd)的数量.
aaaa 是地址域,它代表记录当中数据的起始地址.
tt 是代表HEX记录类型的域,它可能是以下数据当中的一个:
00 – 数据记录
01 – 文件结束记录
02 – 扩展段地址记录
04 – 扩展线性地址记录
dd 是数据域,它代表一个字节的数据.一个记录可以有许多数据字节.记录当中数据字节的数量必须和数据长度域(ll)中指定的数字相符.
cc 是校验和域,它表示这个记录的校验和.校验和的计算是通过将记录当中所有十六进制编码数字对的值相加,以256为模进行以下补足.
数据记录
Intel HEX文件由任意数量以回车换行符结束的数据记录组成.数据记录外观如下:
:10246200464C5549442050524F46494C4500464C33
其中:
10 是这个记录当中数据字节的数量.
2462 是数据将被下载到存储器当中的地址.
00 是记录类型(数据记录)
464C…464C是数据.
33 是这个记录的校验和.
扩展线性地址记录(HEX386)
扩展线性地址记录也叫作32位地址记录或HEX386记录.这些记录包含数据地址的高16位.扩展线性地址记录总是有两个数据字节,外观如下:
:02000004FFFFFC
其中:
02 是这个记录当中数据字节的数量.
0000 是地址域,对于扩展线性地址记录,这个域总是0000.
04 是记录类型 04(扩展线性地址记录)
FFFF 是地址的高16位.
FC 是这个记录的校验和,计算方法如下:
01h + NOT(02h + 00h + 00h + 04h + FFh + FFh).
当一个扩展线性地址记录被读取,存储于数据域的扩展线性地址被保存,它被应用于从Intel HEX文件读取来的随后的记录.线性地址保持有效,直到它被另外一个扩展地址记录所改变.
通过把记录当中的地址域与被移位的来自扩展线性地址记录的地址数据相加获得数据记录的绝对存储器地址.
以下的例子演示了这个过程..
来自数据记录地址域的地址 2462
扩展线性地址记录的数据域 + FFFF
------------
绝对存储器地址 FFFF2462
扩展段地址记录(HEX86)
扩展段地址记录也叫HEX86记录,它包括4-19位数据地址段.扩展段地址记录总是有两个数据字节,外观如下:
:020000021200EA
其中:
02 是记录当中数据字节的数量.
0000 是地址域.对于扩展段地址记录,这个域总是0000.
02 是记录类型 02(扩展段地址记录)
1200 是地址段.
EA 是这个记录的校验和,计算方法如下:
01h + NOT(02h + 00h + 00h + 02h + 12h + 00h).
当一个扩展段地址记录被读取,存储于数据域的扩展段地址被保存,它被应用于从Intel HEX文件读取来的随后的记录.段地址保持有效,直到它被另外一个扩展地址记录所改变.
通过把记录当中的地址域与被移位的来自扩展段地址记录的地址数据相加获得数据记录的绝对存储器地址.
以下的例子演示了这个过程..
来自数据记录地址域的地址 2462
扩展段地址记录数据域 + 1200
---------
绝对存储器地址 00014462
文件结束(EOF)记录
Intel HEX文件必须以文件结束(EOF)记录结束.这个记录的记录类型域的值必须是01.EOF记录外观总是如下:
:00000001FF
其中:
00 是记录当中数据字节的数量.
0000 是数据被下载到存储器当中的地址.在文件结束记录当中地址是没有意义被忽略的.0000h是典型的地址.
01 是记录类型 01(文件结束记录)
FF 是这个记录的校验和,计算方法如下:
01h + NOT(00h + 00h + 00h + 01h).
Intel HEX文件例子:
下面是一个完整的Intel HEX文件的例子:
:10001300AC12AD13AE10AF1112002F8E0E8F0F2244
:10000300E50B250DF509E50A350CF5081200132259
:03000000020023D8
:0C002300787FE4F6D8FD7581130200031D
:10002F00EFF88DF0A4FFEDC5F0CEA42EFEEC88F016
:04003F00A42EFE22CB
:00000001FF
把后缀名改为EXE
HEX的全称是Intel HEX,此类文件通常用于传输将被存于ROM或者EPROM中的程序和数据。是由一行行符合Intel HEX文件格式的文本所构成的ASCII文本文件。大多数EPROM编程器或模拟器使用Intel HEX文件。
HEX文件记录由对应机器语言码和/或常量数据的十六进制编码数字组成。ultraedit可以打开。
督欧来比: hex文件是ASCII文本文件,一般可以使用ultraedit或WinHex打开.
霍邱县15185434490: HEX的后缀文件是什么文件?用什么软件可以打开? - ?
督欧来比: Intel HEX文件是由一行行符合Intel HEX文件格式的文本所构成的ASCII文本文件.在Intel HEX文件中,每一行包含一个HEX记录.这些记录由对应机器语言码和/或常量数据的十六进制编码数字组成.Intel HEX文件通常用于传输将被存于ROM或者EPROM中的程序和数据.大多数EPROM编程器或模拟器使用Intel HEX文件.ultraedit可以打开 你用google或baidu搜索一下ultraedit就会找到下载网址了
霍邱县15185434490: 如何打开hex文件/从单片机里读程序 - ?
督欧来比: 1、下载线和下载软件只用于将PC机上生成的HEX文件下载写入到单片机的程序存储器中,常用的这类软件一般都是单向的,从单片机读回程序代码的软件印象里好像见过,不过和单片机厂家有关,有的提供:印象里SST的好像有;有的就没见...
霍邱县15185434490: hex文件用什么软件打开?
督欧来比: Intel hex 文件常用来保存单片机或其他处理器的目标程序代码.它保存物理程序存储区中的目标代码映象.一般的编程器都支持这种格式.Intel hex 文件全部由可打印的ASCII字符组成(可以用记事本打开),如下例所示::2000000012014c75...
霍邱县15185434490: 怎样使用烧录器将生成的hex目标文件烧入单片机,要很详细的,最好有图,谢谢,感激你一辈子 - ?
督欧来比: 连接好烧录器和电脑,点放大镜和书的符号提示选择hex文件路径.然后点开始.所有烧录器都是这样的步骤.找到hex文件,点开始.
霍邱县15185434490: fpga hex文件怎样应用 modelsim - ?
督欧来比: 要把rom的初始化hex文件放在根目录下,也就是和工程mpf文件放在一起 才能在仿真的时候被读取
霍邱县15185434490: proteus怎么把keil里的程序导入到proteus中 - ?
督欧来比: 怎么把keil里的文件加载到proteus1、首先在电脑上用proteus软件打开目标文件.然后用鼠标左键双击51单片机图标,如图所示.然后在出现的窗口中,点击下图中的文件夹图标.然后在电脑文件夹中找到编译好的HEX文件导入. 2、keil里编译...
霍邱县15185434490: 如何在vb中打开hex文件,把里面的内容读入数组中 - ?
督欧来比: 我这个就是 以16进制打开看的. 如果不是你要的就算了 用 16进制 打开? 下面代码 通过了.VB 需要 1个textbox, 设置Mulitline TruePrivate Sub Form_Load() Dim fillen As Long Dim Btmp As Byte Open "c:\DiskCrc.txt" For Binary As #1...
霍邱县15185434490: 请问高手:怎么才能查看HEX文件里的内容呢? - ?
督欧来比: 这个肯定要使用软件,把这种文档反汇编,或者反C语言,你是使用的KEIL不?不知道KEIL是否具有这种功能 如果没有,你就要自己找这样一款软件了 或者找一个软件设计的高手 不清楚KEIL是用C编的还是JAVA编的 让高手帮你破解HEX生成方式,再反编译 貌似是件很难的事 两个解决方案:1,查看KEIL是否具有HEX的导入功能 2,找其他软件进行反汇编或者反C 另外的方案是:还是尽量找到HEX的源文件吧