用KEIL5下载HEX文件操作说明
下载hex和iic文件
如何通过EZ-USB Control Panel下载和烧写程序一.准备文件:需要你用KEIL C51编译的HEX文件,以及由Hex2bix.exe转换来的IIC文件,我们假设我们已经有了这两个文件:fw.hex和fw.iic。
关于如何设置KEIL C51编译得到HEX文件和转换为IIC文件的设置请看另一节“如何编译和烧写固件”或到论坛查看相关讨论。
二.下载HEX文件:1.安装了EZ-USB_devtools_version_261700.exe之后,首先插入设备(确定你的68013连接的EEPROM没有烧写过程序,或者与EEPROM所连接的SDA引脚断开,这样设备才可以作为CYPRESS的默认设备被枚举。
2.打开“开始〉〉所有程序〉〉Cypress〉〉USB〉〉EZ-USB Control Panel”。
EZ-USB Control Panel 应用程序启动,启动的同时,EZ-USB Control Panel应用程序会检测连接到主机的CYPRESS默认设备,同时为每个设备创建一个子窗口并会显示相应的工具栏。
如果你没有插入设备,应用程序会提示你没有检测到CYPRESS的USB设备,并且不会创建子窗口。
这时请重点检查以下两点:A.你的驱动是否安装正确。
B.你的设备是否正常工作,并且EEPROM没有烧写过程序。
EZ-USB Control Panel正常启动后,会出现如下界面(见图一):图一:EZ-USB Control Panel检测到CYPRESS USB设备,设备名Ezusb-03.子窗口工具栏的第二行第五个按钮为“Download”,我们可以通过这个按钮来选择fw.hex 文件,点击打开按钮后,hex文件将下载到68013片上的RAM中(见图二)。
注意使用Download功能所下载的程序在设备掉电或休眠后会丢失。
图二:下载hex文件到68013片上ram中要详细了解hex文件的结构以及下载hex文件的细节,请参考另一节“hex文件下载细节”。
keil软件的使用方法
Keil 软件的使用随着单片机开发技术的不断发展,目前已有越来越多的人从普遍使用汇编语言到逐渐使用高级语言开发,其中主要是以C 语言为主,市场上几种常见的单片机均有其C 语言开发环境。
这里以最为流行的80C51单片机为例来学习单片机的C 语言编程技术。
大家都有C 语言基础,但是编单片机程序,大家还得找专门的书来学习一下。
这里我们只介绍Keil 这种工具软件的用法。
学习一种编程语言,最重要的是建立一个练习环境,边学边练才能学好。
Keil 软件是目最流行开发80C51系列单片机的软件,Keil 提供了包括C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(µVision )将这些部份组合在一起。
下面我以一个实验举一个例子,一步一步学习Keil 软件的使用。
首先我们看硬件原理图:很明显,要点亮使发光二极管,必须使单片机的I/O 口P1.0输出低电平。
于是我们的任务就是编程序使P1.0输出地电平。
1. 使用Keil 前必须先安装。
安装过程简单,这里不在叙述。
2. 安装好了Keil 软件以后,我们打开它。
打开以后界面如下:3.我们先新建一个工程文件,点击“Project->New Project…”菜单,如下图,:3.选择工程文件要存放的路径,输入工程文件名LED, 最后单击保存.4.在弹出的对话框中选择CPU 厂商及型号5. 选择好Atmel 公司的AT89S52 后, 单击确定1.在接着出现的对话框中选择“是”。
5.新建一个C51 文件, 单击左上角的New File 如下图所示:6.保存新建的文件,单击SA VE如下图:2.在出现的对话框中输入保存文件名MAIN.C(注意后缀名必须为.C),再单击“保存”,如下图;7.保存好后把此文件加入到工程中方法如下: 用鼠标在Source Group1 上单击右键, 然后再单击Add Files to Group …Source Group 1'如下图:8.选择要加入的文件 , 找到 MAIN.C 后 , 单击 Add, 然后单击 Close9.在编辑框里输入如下代码 :10.到此我们完成了工程项目的建立以及文件加入工程 , 现在我们开始编译工程如下图所示 : 我们先单击编译, 如果在错误与警告处看到 0 Error(s) 表示编译通过;11.生成 .hex 烧写文件,先单击Options for Target,如图;12.在下图中,我们单击 Output, 选中 Create HEX F。
Keil51软件安装与使用及编程器使用方法
Keil51软件安装与使用及编程器使用方法解开压缩包,执行c51v805 中文版.exe
点击Next
接受并点Next
修改路径后点Next
点Next
打开keil51软件,文件,许可证管理。
复制CID
打开Keil注册.exe,粘贴,点击生成按钮。
复制LIC,
粘贴到下面位置
新建工程写入文件名
选“是”
新建文本文档点击保存
文件名.C
所建工程点击右键选择Add Files选项
选择保存的C文件点击Add--→Close 编程----→编译
检验无错后点击工程菜单options for 选项创建HEX文件前打钩,并确定。
点击编译
打开编程器,点击擦除
点击文件,选择刚生成的.HEX文件
点“写”按钮。
在显示板上看结果。
祝大家成功。
keil5使用手册
keil5使用手册摘要:1.Keil 5 简介2.Keil 5 的新特性3.安装与配置Keil 54.使用Keil 5 进行项目管理5.使用Keil 5 进行代码编辑6.使用Keil 5 进行编译和调试7.总结正文:【Keil 5 简介】Keil 5 是一款由德国Keil 公司开发的集成开发环境(IDE),主要用于嵌入式系统开发。
它支持多种处理器架构,例如ARM、MIPS 和x86 等。
Keil 5 具有丰富的功能,可以帮助开发者快速、高效地开发嵌入式系统。
【Keil 5 的新特性】Keil 5 引入了许多新特性,包括:1.更强大的代码编辑器:Keil 5 的代码编辑器支持语法高亮、自动补全、代码折叠等特性,使得编写代码更加轻松。
2.更好的项目管理:Keil 5 支持多种项目管理方式,例如基于文件系统的项目管理和基于Git 的项目管理。
3.更强大的调试功能:Keil 5 支持多种调试方式,例如断点调试、单步执行、查看变量值等。
【安装与配置Keil 5】安装Keil 5 的步骤比较简单。
首先,从官网上下载Keil 5 的安装程序,然后运行安装程序,按照提示进行安装即可。
安装完成后,需要对Keil 5 进行配置,例如设置编译器路径、链接器路径等。
【使用Keil 5 进行项目管理】Keil 5 支持多种项目管理方式。
基于文件系统的项目管理比较简单,只需要在Keil 5 中创建一个新项目,然后添加源文件、头文件等即可。
基于Git 的项目管理则需要先创建一个Git 仓库,然后在Keil 5 中克隆这个仓库。
【使用Keil 5 进行代码编辑】Keil 5 的代码编辑器支持多种文本编辑功能,例如复制、粘贴、剪切等。
同时,它还支持语法高亮、自动补全、代码折叠等特性,使得编写代码更加轻松。
【使用Keil 5 进行编译和调试】Keil 5 支持多种编译器,例如GCC、Clang 等。
开发者可以根据自己的需要选择合适的编译器。
Keil软件使用手册【精选文档】
Keil软件使用手册(本手册参考keil 4版本)一安装到网上下载一个安装包,里面必须包含以下内容:1:(安装包文件,圈选的文件为安装说明,请务必仔细阅读) 2:(打开安装文件)3:(点击下一步)4:(勾选同意,并点击下一步) 5:(浏览选择到你想安装的地方,然后选择下一步)6:(两个空可以随便打,不重要,填完后点击下一步)7:(正在安装中)8:(点击完成)9:(进入安装的文件夹,点击UV4)10:(打开Keil4的执行文件)11:(点击File,再选择License Management)Pic 12:(复制右上角的ID号)12:(打开注册机文件)13:(将复制的ID号粘贴在此处)14:(点击Generate,在上方会生成一组ID,复制下来)15:(将复制好的ID粘贴在圈选出,并点击Add LIC)16:(当你看见这两组单词,那么恭喜你,注册成功,准备开始你的奇妙程序之旅吧!)二新建工程1.单击Project,选择New Project2.选择保存位置,输入工程的名字3.选择CPU。
紧接着,Keil C51提示您选择CPU器件。
8051内核片机最早是由Intel公司发明的,后来其他厂商如Philips、Atmel、Winbond等先后推出其兼容产品,并在8051的基础上扩展了许多增强功能,根据芯片的实际情况,选择相应的器件(本例程选择Atmel公司下的AT89C52),如图:注:选择8051也可以,8051与8052有一点的差别,可以说8052是8051的升级版,主要有以下不同:1.内部RAM,8051单片机为128Byte(00H—7FH),8052单片机为56 Byte (00H—0FFH)2. 内部ROM,8051单片机为4KB,8052单片机为8KB3. 8051有两个Timer:T0和T1。
8052除了有T0和T1以外,还有一个Timer2 4。
8051有5个中断源8052有6个。
单片机C语言教程:C51HEX文件的生成和单片机最小系统
单片机C语言教程:C51HEX文件的生成和单片机最小系统建立了第一个单片机C 语言项目,但为了让编译好的程序能通过编程器写入51 芯片中,要先用编译器生成HEX 文件,下面来看看如何用KEIL uVISION2 来编译生成用于烧写芯片的HEX 文件。
HEX 文件格式是Intel 公司提出的按地址排列的数据信息,数据宽度为字节,所有数据使用16 进制数字表示, 常用来保存单片机或其他处理器的目标程序代码。
它保存物理程序存储区中的目标代码映象。
一般的编程器都支持这种格式。
我们先来打开第一个项目,打开它的所在目录,找到test.Uv2 的文件就能打开先前的项目了。
然后右击图2-1 中的1 项目文件夹,弹出项目功能菜单,选Options for TargetTarget1, 弹出项目选项设置窗口,同样先选中项目文件夹图标,这个时候在Project 菜单中也有一样的菜单可选。
打开项目选项窗口,转到Output 选项页图2-2 所示,图中1 是选择编译输出的路径,2 是设置编译输出生成的文件名,3 则是决定是否要创建HEX 文件,选中它就能输出HEX 文件到指定的路径中。
选好了? 好,我们再将它重新编译一次,很快在编译信息窗口中就显示HEX 文件创建到指定的路径中了,如图2-3。
这样我们就可用自己的编程器所附带的软件去读取并烧到芯片了,再用实验板看结果,至于编程器或仿真器品种繁多具体方法就看它的说明书了,这里也不做讨论。
(技巧:一、在图2-1 中的1 里的项目文件树形目录中,先选中对象,再单击它就可对它进行重命名操作,双击文件图标便可打开文件。
二、在Project 下拉菜单的最下方有最近编辑过的项目路径保存,这里能快速打开最近在编辑的项目。
)图2-1 项目功能菜单。
第八节:把.hex机器码下载到单片机的操作流程
第八节:把.hex机器码下载到单片机的操作流程。
烧录程序也叫下载程序。
下载程序的本质是什么?把单片机当做一个存储器,每一条程序指令都对应一个唯一的存储地址,把这些指令一条条存储到指定的存储地址中,这就是下载程序的本质。
对于STC89C52RC单片机,在下载程序时需要上位机界面软件和一根USB转串口线。
上位机界面软件负责把指定.hex格式的机器码文件打开,.hex格式的机器码文件里面记录着每条程序指令对应的地址信息,在下载过程中,上位机界面软件根据.hex 记录的指令内容和对应的地址信息,经过USB转串口线,跟单片机的内置引导程序进行串口通讯,从而把.hex记录的信息传输到单片机内部的flash 存储器中,实现了程序的下载。
在讲操作流程之前,请读者先把以下一个LED灯闪烁的代码编译成.hex格式的文件,这个.hex文件保存在D盘的”stc89c52rc”文件夹里。
1.#include "REG52.H"2.3.void delay_long(unsigned int uiDelayLong); //延时函数4.5.sbit led_dr=P3^5;6.7.void main()8.{9. while(1)10. {11. led_dr=1; //LED亮12. delay_long(100); //延时50000个空指令的时间13. led_dr=0; //LED亮14. delay_long(100); //延时50000个空指令的时间15. }16.}17.18.void delay_long(unsigned int uiDelayLong) //延时函数19.{20. unsigned int i;21. unsigned int j;22. for(i=0;i<uiDelayLong;i++)23. {24. for(j=0;j<500;j++); //内嵌循环的空指令数量25. }26.}27.复制代码下面详细讲解把.hex机器码下载到单片机的操作流程。
Keil生成HEX文件
第3条记录的长度为00,LOAD OFFSET为0000,TYPE = 01,校验和为FF。说明这个是一个END OF FILE RECORD,标识
文件的结尾。
+---------------------------------------------------------------+
| RECORD | RECLEN | LOAD | RECTYPE | INFO or DATA | CHKSUM |
| MARK ':' | | OFFSET | '00' | | |
+---------------------------------------------------------------+
01 ----文件结束记录
02 ----扩展段地址记录
04 ----扩展线性地址记录
dd 是数据域,表示一个字节的数据,一个记录可能有多个数据字节,字节数目可以
查看ll域的说明
cc 是效验和域,表示记录的效验和,计算方法是将本条记录冒号开始的所有字母对
详见INTEL 官方文档。
第1条记录的长度为02,LOAD OFFSET为0000,RECTYPE为04,说明该记录为扩展段地址记录。数据为0000,校验和为
FA。从这个记录的长度和数据,我们可以计算出一个基地址,这个地址为0X0000。后面的数据记录都以这个地址为基
地址。
第2条记录的长度为10(16),LOAD OFFSET为0004,RECTYPE为00,说明该记录为数据记录。
hex文件说明
hex文件说明在项目学习的时候,烧录生成的工程文件.hex给stm32单片机,需要分析hex文件的内容,并对其中某些数据进行修改。
通过学习,了解了hex的格式内容。
并记录之在工程项目中是把程序下载到flash 的 0x0800 0000开头的位置这里是生成的.hex文件中的数据。
例如第一行数据:020*********F2,其实质表达的是十六进制的数据0x02 0x00 0x00 0x04 0x08 0x00 0xf21.第一个字节 0x02表示本行数据的长度;2.第二、三字节 0x00 0x00表示本行数据的起始地址;3.第四字节0x04表示数据类型,数据类型有:0x00、0x01、0x02、0x03、0x04、0x05。
•'00' Data Rrecord:用来记录数据,HEX文件的大部分记录都是数据记录•'01' End of File Record: 用来标识文件结束,放在文件的最后,标识HEX文件的结尾•'02' Extended Segment Address Record: 用来标识扩展段地址的记录•'03' Start Segment Address Record:开始段地址记录•'04' Extended Linear Address Record: 用来标识扩展线性地址的记录•'05' Start Linear Address Record:开始线性地址记录4.然后是数据,0x08 0x005.最后一个字节 0xf2为校验和。
•校验和的算法为:计算0xf2前所有16进制码的累加和(不计进位),检验和 = 0x100 - 累加和'04' '05',都是用来提供地址信息的。
每次碰到这2个记录的时候,都可以根据记录计算出一个“基”地址。
对于后面的数据记录,计算地址的时候,都是以这些“基”地址为基础的。
keil5使用手册
keil5使用手册【实用版】目录1.Keil 5 简介2.安装与配置3.使用方法4.常见问题与解决方案5.总结正文【Keil 5 简介】Keil 5 是一款功能强大的集成开发环境 (IDE) ,专为嵌入式系统开发而设计。
它支持多种处理器架构,如 ARM、Thumb、ColdFire 等,并提供了丰富的功能,如代码编辑、编译、调试等,以帮助开发者快速、高效地开发嵌入式系统应用程序。
【安装与配置】安装 Keil 5 的步骤相对简单。
首先,从官方网站上下载安装程序,并运行安装向导。
在安装过程中,需要选择安装路径和组件。
对于组件,建议选择安装所有组件,以便日后开发过程中使用。
安装完成后,需要配置一些环境变量,以便在命令行中使用 Keil 5 的命令。
具体配置方法可以参考官方文档。
【使用方法】使用 Keil 5 的方法也很简单。
首先,打开 Keil 5,并创建一个新项目。
在创建项目时,需要选择处理器架构和编译器,并设置项目的名称和路径。
接下来,可以在代码编辑器中编写代码,并使用 Keil 5 的编译和调试功能进行编译和调试。
具体使用方法可以参考官方文档。
【常见问题与解决方案】在使用 Keil 5 的过程中,可能会遇到一些常见问题,如无法编译、无法调试等。
对于这些问题,可以尝试以下解决方案:- 检查项目设置是否正确。
如果项目设置不正确,可能会导致无法编译或调试。
- 检查代码是否正确。
如果代码中存在语法错误或其他问题,可能会导致无法编译或调试。
- 检查编译器和调试器是否正常运行。
如果编译器或调试器无法正常运行,可能会导致无法编译或调试。
【总结】Keil 5 是一款功能强大的集成开发环境,可以帮助开发者快速、高效地开发嵌入式系统应用程序。
使用 Keil 5 时,需要注意安装与配置、使用方法和常见问题与解决方案。
最新Keil5使用说明
K e i l5使用说明双击Keil uVision5快捷方式,运行Keil uVision51、新建工程[Project]->[New uVision Project...]选择文件夹(自定义),输入文件名(例Test01)[保存]2、选择CPU型号展开[Freescale],选择[K60 Series]下[MK60DN512xxx10][OK]3、选择运行环境勾选[Device]->[Startup][OK]4、设置属性[Project]->[Options for Target'Target1'... ALT+F7]或选中Target1后,鼠标右键,选择[Options for Target'Target1'... ALT+F7]Target属性页,根据开发板上硬件,填入相应晶体频率如图红框所示C/C++属性页,选择[Include Paths]后[...]按纽,如图红框如示选择工具栏上[New/Insert]按纽,,如图红框如示选择[C:\Keil_v5\ARM\Pack\ARM\CMSIS\4.2.0\CMSIS\Include]目录[OK]Debug属性页,选择PEMicro Debugger调试器,如图红框所示[OK]5、例程展开[]Target1]选择[Source Group1],单击鼠标右键,选择[Add New Item to 'Source Group 1']选择C File(.c),选择文件夹路径(自定义),填写文件名Test01加入如下代码6、编译[Project]->[Build Target F7]或单击编译工具栏中Build图标修改并编译至0 Error(s), 0 Warning(s).7、调试[Debug]->[Start/Stop Debug Session Ctrl+F5]或单击调试工具栏中Start/Stop Debug Session图标[Connect ( Reset) ]。
keil5使用手册
keil5使用手册【实用版】目录1.Keil 5 简介2.安装与配置3.使用方法4.常见问题与解决5.总结正文【Keil 5 简介】Keil 5 是一款由德国 Keil 公司推出的集成开发环境 (IDE),专为嵌入式系统开发而设计。
它支持多种处理器架构,包括 ARM、MIPS、AVR 等,并且具有强大的调试功能和丰富的软件工具,可以帮助开发者快速、高效地开发嵌入式系统应用程序。
【安装与配置】安装 Keil 5 的步骤比较简单,只需要下载安装程序并按照提示进行安装即可。
安装完成后,需要进行一些基本的配置,例如设置编译器和调试器路径、配置项目选项等。
对于初学者来说,建议先阅读相关的使用手册或者教程,了解相关的配置方法和技巧。
【使用方法】Keil 5 的使用方法比较简单,主要包括以下几个步骤:1.打开 Keil 5,创建一个新的项目;2.编辑源代码;3.编译代码;4.下载代码到目标板;5.调试代码并解决问题。
在使用过程中,需要注意一些细节,例如代码的格式、变量的命名等,以保证代码的可读性和可维护性。
【常见问题与解决】在使用 Keil 5 的过程中,可能会遇到一些常见的问题,例如编译错误、下载失败等。
对于这些问题,需要进行一些基本的排查和解决。
例如,检查代码中是否存在语法错误、检查下载线路是否正常、检查目标板是否正常等。
如果无法解决问题,可以参考相关的文档或者向技术支持人员寻求帮助。
【总结】Keil 5 是一款功能强大的嵌入式系统开发工具,可以帮助开发者快速、高效地开发应用程序。
使用 Keil 5 需要掌握一些基本的配置方法和技巧,并且在使用过程中需要注意一些细节问题。
KEIL怎样生成HEX文件和相关设置
KEIL怎样生成HEX文件和相关设置学习51单片机的朋友面对着全英文的KEIL肯定会有这样的疑问“KEIL如何生成HEX文件?”,“生成的HEX文件在哪里?”下面就简单介绍一下生成HEX 的方法工具/原料∙keil uv2 uv3∙winXP新建项目1. 1先打开KEIL软件,点击“project”菜单2. 2点击“new project”新建一个项目。
如果不新建项目是没法生成HEX文件的3. 3在接下来的对话框中,选一个目录,然后为这个项目起一个名字。
名字可以随便起,这里以“测试项目”为例4. 4接下来出现一个对话框,要为项目选一个CPU。
点击左侧的树状目录滚动条,点开“ATMEL”选中“AT89C51”,单击确定5. 5这个对话框问是否把启动文件加进项目,选“是”6. 6要生成HEX文件还要设置一下。
单击下图中的设置图标7.7切换到“output”选项卡,勾选下图中“create HEX file”。
如果要改变HEX 文件的保存位置,可以点左上角的“select flolder for objects”选一个新的文件夹完成设置后选确定END添加源文件并生成HEX文件1. 1接下来添加源文件,源文件可以是用C语言或者是汇编语言,现在以C语言为例。
在下图的图标点右键2. 2在弹出的菜单中点击“add files to group source group 1”3. 3选中要加入的C文件,C文件可以是从别处复制过来,也可以自己写4. 4点“add”后可以看到C文件出现在左侧的目录中。
这时要点击“close”关闭对话框5. 5源程序添加进来后可以点击图中编译图标生成HEX文件6. 6然后在底下的状态框中可以看到结果,出现下图表示HEX文件已经生成了7.7打开文件夹可以看到,HEX文件已经生成了END注意事项第1步:打开Keil uVision2/3第2步:新建工程project->new project将弹出creat new project框,写入工程名称,例如test。
keil5使用手册
keil5使用手册
摘要:
1.Keil 5 简介
2.Keil 5 的安装与配置
3.Keil 5 的使用教程
4.Keil 5 的优势与特点
5.总结
正文:
【Keil 5 简介】
Keil 5 是一款由德国Keil 公司开发的集成开发环境(IDE),主要用于嵌入式系统开发。
作为业界领先的IDE,Keil 5 提供了一整套工具,从项目管理、代码编辑、编译、调试到下载,全方位支持嵌入式软件开发。
本手册将为您详细介绍如何使用Keil 5 进行嵌入式开发。
【Keil 5 的安装与配置】
在开始使用Keil 5 之前,您需要先在其官方网站下载并安装Keil 5。
安装完成后,需要对Keil 5 进行一些基本配置,例如设置编译器、调试器等。
本部分将详细介绍如何进行安装与配置。
【Keil 5 的使用教程】
本部分将向您介绍如何使用Keil 5 进行嵌入式开发。
主要包括创建项目、编写代码、编译、调试等功能的使用方法。
通过本部分的学习,您将熟练掌握Keil 5 的基本操作。
【Keil 5 的优势与特点】
Keil 5 具有许多优势与特点,例如强大的代码编辑功能、高效的编译器、灵活的调试器等。
本部分将为您详细介绍这些优势与特点,帮助您更好地了解并使用Keil 5。
【总结】
Keil 5 是一款功能强大的集成开发环境,适用于嵌入式系统开发。
通过本手册的详细介绍,相信您已经掌握了如何使用Keil 5 进行嵌入式开发的基本方法。
用keil生成hex文件
用keil生成hex文件
1、建立mcs51源文件,选择new project建立管理项目
2、选择被仿真的51器件
3、建立源文件
输入汇编语言源程序
4、点击如图图标,对源程序进行编译、链接
在下面的图形中,会显示是否有语法错误,如有着调入源程序改正,如没有则可进行下一步,生成扩展名为“hex”的二进制文件。
5、生成“hex”文件
1)鼠标指向项目文件夹
2)压下鼠标右件,选择如图中的选项,进入
3)在下图中选择,“output”
将Creat HEX File打勾建立“hex”文件,在Name of Executable 给可执行文件取名,在Select Folder for Objects 选择存放路径,然后确定。
4)点击图标再次进行汇编,汇编后即可得到扩展名为“hex”的可执行二进制文件。
Keil生成的Hex文件详解
Keil HEX文件是由一行行符合Intel HEX文件格式的文本所构成的ASCII文本文件。
在Intel HEX文件中,每一行包含一个HEX记录。
这些记录由对应机器语言码和/或常量数据的十六进制编码数字组成。
Intel HEX文件通常用于传输将被存于ROM或者EPROM中的程序和数据。
大多数EPROM编程器或模拟器使用Intel HEX文件。
记录格式Intel HEX由任意数量的十六进制记录组成。
每个记录包含5个域,它们按以下格式排列::llaaaatt[dd...]cc每一组字母对应一个不同的域,每一个字母对应一个十六进制编码的数字。
每一个域由至少两个十六进制编码数字组成,它们构成一个字节,就像以下描述的那样:: 每个Intel HEX记录都由冒号开头.ll 是数据长度域,它代表记录当中数据字节(dd)的数量.aaaa 是地址域,它代表记录当中数据的起始地址.tt 是代表HEX记录类型的域,它可能是以下数据当中的一个:00 –数据记录01 –文件结束记录02 –扩展段地址记录04 –扩展线性地址记录dd 是数据域,它代表一个字节的数据.一个记录可以有许多数据字节.记录当中数据字节的数量必须和数据长度域(ll)中指定的数字相符.cc 是校验和域,它表示这个记录的校验和.校验和的计算是通过将记录当中所有十六进制编码数字对的值相加,以256为模进行以下补足.数据记录Intel HEX文件由任意数量以回车换行符结束的数据记录组成.数据记录外观如下::10 2462 00 464C5549442050524F46494C4500464C 33其中: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位数据地址段.扩展段地址记录总是有两个数据字节,外观如下::020*********EA其中: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).:02 0000 04 0800 F2:10 0000 00 7806002051040008690200086B020008 0D注意:地址是大开端,0800+0000 = 0x0800000078060020是MSP初始值,其实为0x20000678,是小开端。
第6节:把.c源代码编译成.hex机器码的操作流程
第六节:把.c源代码编译成.hex机器码的操作流程。
第一步:打开一个现成的工程。
双击桌面”keil uVision4”的图标启动keil软件,如果发现此软件默认打开了一个之前已经存在的工程,请点击上面”Project”选项,在弹出的下拉菜单中选择“Close Project”先关闭当前工程。
然后,继续点击上面”Project”选项,在弹出的下拉菜单中选择“Open Project...”,在弹出的文件对话框中,在D盘找到上一节已经建立的工程文件夹stc89c52rc,单击选中“stc89c52rc.uvproj”这个文件名,点击“打开”,就可以打开一个现有的工程了。
第二步:设置编译环境让它允许产生.hex格式的机器码文件。
鼠标右键点击选中左边”Porject”选项框里面的”Target 1”选项,在右键下拉菜单中选择“Options for Target‘Target 1’...”选项,弹出一个编译环境设置对话框,左键单击上面子菜单切换到“Output”窗口下,把“Create Hex File”勾选上。
点击“OK”退出。
有1个地方需要解释:(1)这个选项很重要,必须把“Create Hex File”选项勾上,否则后续的操作不能在工程文件夹的目录里生成.Hex的机器码文件。
对于一个工程模板,只需要设置一次就可以保存起来的,下次开电脑重新打开此工程模板时不需要再设置,这些被设置的参数都是能掉电保存起来的。
第三步:启动编译。
在确保stc89c52rc.c源文件里面有C语言源代码的情况下,点击上面”Project”选项,在弹出的下拉菜单中点击“Rebuild all target files”编译命令,编译器开始编译工作。
第四步:在”Build Output”窗口下观察编译结果。
可以在最下方的”Build Output”窗口下观察到编译的过程提示。
如果没有发现”Build Output”窗口,请把鼠标的光标移动到最下方的滑动条下边,当它呈现移动光标的形状时,按住左键往上拖动就可以看到“Build Output”窗口了。