如何在keil中生成hex文件

如何在keil中生成hex文件

在keil中编写完程序后,要将程序通过烧录器烧写到单片机中,这时就需要在keil中产生一个hex格式的文件,只有通过这种格式,烧录器才能将程序烧写到单片机中。hex文件格式是Intel公司提出的按地址排列的数据信息,数据宽度为字节,所有数据使用16进制数字表示, 常用来保存单片机或其他处理器的目标程序代码。它保存物理程序存储区中的目标代码映象。一般的编程器都支持这种格式。如何才能产生这种格式的文件呢?

在keil中对其进行如下设置,便能产生hex文件:

点击菜单“Option for Tagret '...'” ---> 选择“Output”页--->钩选“Create HEX File”--->重编译

如果程序无误,在Project的当前目录即会产生HEX 文件

用MATLAB生成.mif、.hex(QUARTUS II)文件简介(v1.1)

用MATLAB生成*.mif、*.hex(QUARTUS II)文件简介(v1.1) macro_qian@https://www.360docs.net/doc/8216008391.html, 以前写过一个“用MATLAB生成*.mif、*.hex(QUARTUS II)文件简介”,由于时间和水平原因很粗糙,并且有一些错误。现在修改一下,升级到v1.1。以前的称为v1.0吧。 做FPGA设计时经常要调用芯片内存。特别对于ROM,内存的初始化就显得比较重要。当然你完全可以手工在QUARTUS II打开mif文件的表格里逐个输入,几十项或许你还可以接受,但上千项估计能累的人吐血! 一般内存的初始化数据都是有规律的,符合一定的函数,我们完全可以用MATLAB来完成(如果没规律只能逐项手工输入了)。 1.使用MATLAB直接生成*.mif文件 首先,我们应该知道*.mif文件的格式。它是文本格式。随便打开一个mif文件,你会发现它具有如下的格式: -- Copyright (C) 1991-2008 Altera Corporation -- Your use of Altera Corporation's design tools, logic functions -- and other software and tools, and its AMPP partner logic -- functions, and any output files from any of the foregoing -- (including device programming or simulation files), and any -- associated documentation or information are expressly subject -- to the terms and conditions of the Altera Program License -- Subscription Agreement, Altera MegaCore Function License -- Agreement, or other applicable license agreement, including, -- without limitation, that your use is for the sole purpose of -- programming logic devices manufactured by Altera and sold by -- Altera or its authorized distributors. Please refer to the -- applicable agreement for further details. -- Quartus II generated Memory Initialization File (.mif) WIDTH=8; DEPTH=256; ADDRESS_RADIX=UNS; DATA_RADIX=DEC; CONTENT BEGIN [0..3] : 127; [4..6] : 126; [7..8] : 125; 9 : 124;

keil工程文件的建立以及简单代码的编写

KEIL工程的建立以及简单程序的编写下载   相关软件及硬件实验平台 单片机系统设计主要包括硬件设计和软件设计,对于单片机初者来说主要在于软件的学习,也就是程序设计,等大家程序这块掌握得差不多了,再去结合具体的项目学习做硬件,最终掌握单片机系统设计的方法。而在进行软件学习的时候需要用到单片机实验板进行实验验证,实验板建议直接购买,当然如果电子技术基础好的话,自己做板也是可以的。这次教程开发程序所用到的软件为keil uVision2 下面分别介绍这keil uVision2和 实验板的使用方法,在程序编写完成后需把程序烧写到单片机中,我们是用ISP在线下载工具,这里一并进行介绍。 为了便于大家学习,这里我们写一个以1602液晶为显示器件的可显示时、分、秒的电子时钟程序为例介绍整体程序从编辑、编译到下载的全过程。(具休程序已事先写好并经正常调试无误,后面课程会具体介绍,这里暂不作讲解) 在正式的写程序之前,需进行keil uVision2软件的安装和实验板驱动程序的安装,相关的软件及驱动程序请大家直接在实验室网站下载中心进行下载,这里给出下载地址。keil uVision2软件件及安装方法、实验板驱动程序及安装方法。 安装安成后,即可按下面的步骤进行。 1、KEIL软件的使用及工程文件的建立 51单片机程序设计所用到的开发软件主要是keil uVision,它是由德国Keil Software公司开发的,2005 年Keil公司被ARM公司收购,并于2009年发布了keil uVision4,这个版本的软件支持ARM系列的芯片,如现目前流行的STM32等芯片 ,我们这里使用的是uVision2版本。 (1)、打开KEIL软件 双击keil快捷方式图标(软件安装好后,一般在桌面上会有快捷方式,双击即可),出现启动界面如图1,紧接着出现编辑界面如图2。 图1 启动keil软件时的界面

KEIL中HEX文件TO BIN文件

Intel HEX to BINARY File Converter Utility [资料来源KEIL官网] This utility program creates a BINARY file from an Intel HEX file. You can use BINARY files with most EPROM programmers and you can easily use them for CRC or checksum calculations. Options for this utility program are listed below: Syntax: HEX2BIN [/option] hexfile [binfile] hexfile is the Intel HEX input file binfile is the binary file to create option may be any of the following /Ln Binary file length /Pn Pad data for binary file /On Address offset (to add to HEX records) /M Merge data into existing BIN file /Q Quiet mode (no statistics are displayed) /X Don't process ext. segment/linear address records /? This help text

Note: This utility program is a DOS application. It requires 8.3 naming convention for file names and paths and it does not run on Windows 7 64Bit. However, you can execute it in the XP mode (Virtual PC) of Windows 7.

生成HEX文件

生成HEX文件的MATLAB程序 ROM初始化文件既可以是*.mif也可以是*.hex文件,但是如果工程需要在Modelsim中进行仿真的话,则必须生成*.hex文件对ROM进行初始化。一般简单且有规律的初始化数据可以用Excel先生成mif文件再在综合软件中转化为hex文件,但如果所需信号要叠加各种各样的噪声时。Excel则不能胜任,此时我们用MATLAB生成所需初始化数据,在使用下述程序则很容易生成HEX初始化文件。程序先介绍hex文件的结构,后给出matlab程序,且我做了详细的注释,希望对大家有所帮助。 % __Created by He Yapeng.@School of Electronic Engineering and Photoelectricity Technology at Nanjing University of Science and Technology % --Email:lwkj0920@https://www.360docs.net/doc/8216008391.html,. '); % Intel 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为模进行以下补足. %

如何使用KeilC51创建一个工程文件

如何使用KeilC51创建一个工程文件 建立一个项目: 点击工程菜单中选择弹出的下拉式菜单中的新建工程...,接着弹出一个标准Windows 文件对话窗口,在"文件名"中输入您的第一个程序项目名称,这里我们用"test",这是笔者惯用的名称,大家不必照搬就是了,只要符合Windows文件规则的文件名都行。"保存"后的文件扩展名为uv2,这是KEIL uVision2项目文件扩展名,以后我们可以直接点击此文件以打开先前做的项目 。 这时会弹出让你选择单片机型号的对话框,我们选择A TMEL---A T89C51

然后点击Target 1前面的“+”,出现Source Group 1,选中右键点选“增加文件到组Source Group 1” 这时选择文件类型为Asm 源文件,再选中001.asm文件,再按添加,在随后出现的提示框中按“确定” 仿真器采用Mon51协议,在使用之前应必须对软件项目进行如下设置: 1、单击工程菜单,再在下拉菜单中单击"目标target 1属性" 在下图中,单击"Target"输入仿真器的工作频率(11.0592MHz)

2、在调试菜单中点选"Keil Monitor-51 Driver",即选择了STC89C516RD硬件仿真器。 3、单击“R外围设备”选Target Setup设置选项选择您要使用串口(必须和实际相符合),波特率38400。 如果被仿真的目标板使用12MHZ或者是11.0592MHZ晶振时波特率选择38400,如果被仿真的目标板使用6MHZ晶振时波特率选择18400。

4、如果需要生成HEX代码给编程器烧写芯片的话,需要选中“生成HEX 文件”的选项,按钮“选择OBJ文件夹...”是用来选择最终HEX文件的存放目录的。 5、按F7快捷键可以进行编译,编译成功后如会出现上图红箭头所指的文字,表示编译成

keil中生成个人库文件及调用方法

如何在keil中生成个人库文件及调用方法 在网上找了些资料 代码积累多了,大家可能都尝试过自己写个库,方便调用,我最初的办法是把常用的函数放到一个个.C文件里头,要用的时候就把一个个.C添加到Group里面,这种方法就很麻烦了,每次新建一个工程都要ADD半天 这里8279.C,delay_ms.c,watchdog.c,function.c都是我以前写过现在拿来重用的代码 这样做还有一个问题,如果某个函数未调用,编译器就会给一个警告,UNCALLED SEGMENT,IGNORED FOR OVERLAY PROCESS,"未调用的段,被忽略",虽然无啥大碍,但看着也挺不爽的 于是自己生成LIB文件,.lib是生成了,但就是没能用,始终有警告 *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL未解析的外部标号 *** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL引用外部为解析的段 因为编译器没有找到那个函数的代码,也就未解析了,百度了一下,前几个结果竟然都没给出一个有效的解决办法 其实问题很简单,你在Group上右键ADD时注意一下对话框中允许添加的文件扩展名,除了c,asm之外,还有lib,把你的lib文件加进去,ok了 --------下面是我用库的一些记录-------------------------------------------------------------------- 库的生成

库的使用(在group中添加lib文件),在主调的C文件中include .h文件 KEIL中库可以由多个.obj(与.C对应)组成,而连接是以.obj为最小单元,即某.obj中有函数被调 用时,则整个.obj中所有函数都会被连接到.hex文件 通常为每一个函数编一个.C文件,而整个lib用一个.h文件,这样就可以使只有被调用的函数参与连接 Keil 生成Lib 调用Lib 2011-06-01 16:01:49| 分类:| 标签:|字号大中小订阅 1、维护自己写的代码不被别人乱改动。lib 不是c 代码,不能对它编辑,只能通过.h 文 件调用。所以为了别人能使用你的lib,一定要给他.h 文件。 2、可以把多个.c 文件合成一个lib 文件,这样在工程就不必要把每一个.c 文件都添加一 遍。 3、相比添加.c 文件,它具有不使用已经申明的extern 函数也不会出现Keil 经典的 UNCALLED FUNC warning。更重要的是,不使用的函数编译时不会产生代码,从而大大减 小.hex 文件。这对小容量的单片机来说是非常可贵的。 废话少说,下面以本人刚写的1602 程序为例一个教大家怎么生成和使用lib 文件。 为了实现上面说的lib 的第三个作用,大家要把独立的子函数用不同的.c 分开写。因为

如何用KeilC51将ASM文件编译成Hex文件

按如下步骤进行: 1)点击菜单project,选择new project: 2)然后选择你要保存的路径,输入工程文件的名字,比如保存到keil目录里,工程文件的名字为test. 如下图所示,然后点击保存 3)这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,keil c51 几乎支持所有的51核的单片机,如果你设计的是华邦的W77E58,可以选择winbond->W77E58,但是有一些版本,比如6.02,对它不能仿真,但是可以选择dallas的ds80c320来代替设计W77E58,两者的内核是一样的,只是w77e58带flash rom,而ds80c320没有flash rom,如果你的软件在仿真W77e58的时候有问题,那么就选用ds80c320 .我这里还是以大家用的比较多的Atmel 的89c52

来说明,如图所示,选择89c52之后,右边一栏是对这个单片机的基本的说明,然后点击确定. 4)这时要新建一个源程序文件,建立一个汇编或c文件,如果你已经有源程序文件,可以忽略这一步.点击菜单File->New:

5)输入一个简单的程序,如下: 5)选择菜单File_>SAVE: 6)选择你要保存的路径,在文件名里输入文件名,注意一定要输入扩展名,如果是c程序文件,扩展名为.c,如果是汇编文件,扩展名为.a51,如果是ini文件,扩展名为.ini,其他文件类型,比如注解说明文件,可以保存为.txt的扩展名.那么我们这里是要存储一个c源程序文件,所以输入.c扩展名,保存为test.c 的名字,(也可以保存为其他名字,比如learn.c等),点击保存.

KEILC51编译软件使用方法

2.1 Keiluvision4的安装和使用 Keil 公司是一家业界领先的微控制器(MCU )软件开发工具的独立供应商。Keil 公司由两家私人公司联合运营,分别是德国慕尼黑的KeilElektronikGmbH 和美国德克萨斯的KeilSoftwareInc 。Keil 公司制造和销售种类广泛的开发工具,包括ANSIC 编译器、宏汇编程序、调试器、连接器、库管理器、固件和实时操作系统核心(real-timekernel)。有超过10万名微控制器开发人员在使用这种得到业界认可的解决方案。其KeilC51编译器自1988年引入市场以来成为事实上的行业标准,并支持超过500种8051变种。KeilC51是美国KeilSoftware 公司出品的51系列兼容单片机C 语言软件开发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil 提供了包括C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision )将这些部分组合在一起。运行Keil 软件需要WIN2000、WINXP 等操作系统。如果你使用C 语言编程,那么Keil 几乎就是你的不二之选,即使不使用C 语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 2.1.1 KeilμVision4简介 KeilμVision4是美国KeilSoftware 公司2009年2月发布的。KeilμVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更 有效地组织多个窗口,提供一个整洁,高效的环境来开发应 用程序。新版本支持更多最新的ARM 芯片,还添加了一些 其他新功能。 2011年3月ARM 公司发布最新集成开发环境RealViewMDK 开发工具中集成了最新版本的KeiluVision4, 其编译器、调试工具实现与ARM 器件的最完美匹配。 2.1.2 Keiluvision4的安装 (1)双击软件安装包如图2-1所示,弹出如图2-2所示界面,点击下一步,进入License 界面。 (2)勾选Iagree 复选框如图2-3选示,点击下一步,进入安装位置选择界面如图2-4所示。 图2-2 KeilμVision4 安装界面 图2-1 KeilμVision4软件安装包

keilc51集成开发环境的使用

Keil C51集成开发环境的使用 Keil C51软件可以从相关网站下载并安装。安装好后,双击桌面快捷图标或在“开始”菜单中选择Keil μVision3,启动Keil μVision3集成开发环境,启动后界面如图4-3所示。 图4-3 Keil μVision3启动后的集成开发环境界面 (一)创建项目 Keil μVision3中有一个项目管理器,用于对项目文件进行管理。它包含了程序段环境变量和编程有关的全部信息,为单片机程序的管理带来了很大的方便。创建一个新项目的操作步骤如下: (1)启动μVision3,创建一个项目文件,并从器件数据库中选择一款合适的单片机型号。 (2)创建一个新的源程序文件,并把这个源文件添加到项目中; (3)为该单片机芯片添加或配置启动程序代码; (4)设置工具选项,使之适合目标硬件; (5)编译项目并创建一个*.hex文件。 下面以本章任务为例分别介绍每一步的具体操作。 1.新建项目文件 单击菜单“Project”→“New Project”命令,弹出如图4-4所示的新建项目对话框,指定保存路径,建议每个项目使用一个独立文件夹,例如本项目保存在“第4章”文件夹;然后,在“文件中名”输入项目名称,例如“4-1”,单击“保存”按钮即完成新项目的创建(系统默认扩展名为“.uv2”)。

保存路径 输入文件名 图4-4 新建项目对话框 此时弹出选择单片机的型号对话框,如图4-5所示,展开Atmel系列单片机,选择“AT89C51”,单击“确定”按钮完成设备的选择。 图4-5 选择单片机的型号对话框 单片机型号选择结束后,在μVision3工作界面左边的项目管理器中新增加了一个“Target 1”目标1文件夹,如图4-6所示。

IAR编译CC2530生成HEX文件

IAR编译ZStack-CC2530,生成HEX文件完全配置 IAR编译ZStack-CC2530为可下载运行的HEX文件的正确配置: 1. 正确配置输出文件格式:菜单选择Project-Options-Linker-Output-Format,选择Other。右边的Output下拉框 选intel-extended,Format variant 下拉框选None,Module-local下拉框选Include all 2.还是在菜单Project-Options-Linker-Output标签中,勾上Override default选项,把编辑框中的文件名的后缀改为hex 以上两步都是大多数人熟知的,下面这一步是针对大型程序编译下载所必须的,也是大部分写zstack教程的人所没有提到的。 3. 找到f8w2530.xcl文件,并打开。(这个文件在 "Projects/zstack/Tools/CC2530DB/"目录下,也可以通过IAR编 译环境的左侧Workspace窗口点开Tools文件夹看到)在f8w2530.xcl文件中找到两行被注释掉的语句: //-M(CODE)[(_CODEBANK_START+_FIRST_BANK_ADDR)-(_CODEBANK_END+_FIRST_B ANK_ADDR)]*/ //_NR_OF_BANKS+_FIRST_BANK_ADDR=0x8000 把这两行前面的"//"去掉,保存,重新编译,OK! (注: 去掉这两行的"//"后在编译输出成hex格式时没有问题,但在debug模式下编译会提示警告:Warning[w69]: Address translation (-M, -b# or -b@) has no effect on the output format 'debug'. The output file will be generated but noaddress translation will be performed. 不过并不会影响debug调试的使用。也许正是为了屏蔽掉此条警告,所以TI在发布Zstack时选择了默认为debug模式才注释掉了这两行指令,但在 编译hex时却又不提示任何警告和错误,真是害人不浅~~)

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

单片机常用输出格式--Hex-80(Hex 386) 单片机常用输出格式--Hex-80(Hex 386)我前面曾经介绍了Intel 32 bit Hex, 但并不是所有的.hex 文件都属于这种格式。Keil 输出的hex 文件则是另外一个 类似的格式Hex-80。与前者类似,纪录的格式为: :LLAAAARRDDDDDDDDCCLL: Length field-长度段:数据段(D)的字节 数AAAA: Address field-地址段:数据段第一个字节的地址RR: Record type- 纪录类型,00 代表数据,01 代表纪录结束DD..: Data field-数据段CC: CheckSum field-校验和:计算方法是将本条记录冒号开始的所有对字母所表示 的十六进制数字都加起来然后模除256 得到的余数最后求出余数的补码即是本 效验字节cc.例子::011B50002272LL = 0x01AAAA = 0x1B50RR=0x00DD=0x22CHECK SUM = ~((0x01+0x1B+0x50+0x22)&0xFF)+1 = 0x72 与Intel 32 不同,由于Hex-80 用于64K 地址范围以内的系统,所以没有 基址设定的指令。如果在Keil-51 中,用跨BANK 的方式超过了64K,编译 器会产生多个HXX 文件来标识BANK。如:test.h00test.h01test.h02 分别在每个bank 的视角来产生64K 代码空间。对于Common Bank 由于其在每个Bank 的视角中都存在,所以在几个文件中都有同样的存在,这点要求编程人员注意。 还有,貌似Keil 产生的Hex-80 文件地址并不连续~天晓得Keil 为什么不规整 一下。tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!

KEIL里如何生成HE文件

第四章:KEIL使用入门 本章节介绍如何使用KEIL软件建立一个工程,编写一个简单的程序,编译和下载到单片机运行的流程,目的是教会用户学会用此软件写代码的最基本步骤。 第一步:下载并安装KEIL软件(略) 第二步:打开KEIL软件,会出现如下界面 我使用的是keil4版本。 这是打开后的界面 1:建立一个新工程 出现以下界面,在你的硬盘合适的文件夹中创立一个工程文件夹,最好是英文路径,如图是创立了test文件夹 打开后,文件名取test,保存 弹出芯片选择框,选择Atmel的89C51或89C52(4kb/8kb程序flash),如图选择后者 然后点击OK,点击YES,工程创立完成,出现以下界面 2:向工程里添加文件 出现了新的文本编辑框text1,点击保存按钮

输入你文本的文件名,名字可据代码所实现的功能起,如图, 然后点击保存 现在往工程里添加已经保存好的文件 然后选择刚才保存的文件,点击ADD 然后点击Close 现在在工程目录下已经有你的文本文件了。 3:编译并生成hex文件 现在将如下代码拷贝进待编辑的文本中 #include //51单片机头文件 #define uint unsigned int //用uint代替unsigned int void delay(uint z) //延时函数 { uint x,y; for(x=z;x>0;x--) for(y=500;y>0;y--); }

void main() { while(1) //让所有led循环闪烁 { P2=0xff; delay(200); P2=0x00; delay(200); } } 完成后,需要设置以下 进行如图设置 点击OK,然后进行以下操作 在最下边的信息框出现以下信息 表示编译通过 打开你所建立的工程文件夹,会发现生成了.HEX文件

单片机C语言第三课 生成HEX文件和最小化系统

第三课生成HEX文件和最小化系统 在开始C语言的主要内容时,我们先来看看如何用KEIL uVISION2来编译生成用于烧写芯片的HEX文件。HEX文件格式是Intel公司提出的按地址排列的数据信息,数据宽度为字节,所有数据使用16进制数字表示, 常用来保存单片机或其他处理器的目标程序代码。它保存物理程序存储区中的目标代码映象。一般的编程器都支持这种格式。我们先来打开第一课做的第一项目,打开它的所在目录,找到test.Uv2的文件就可以打开先前的项目了。然后右击图3-1中的1项目文件夹,弹出项目功能菜单,选Options for Target'Target1',弹出项目选项设置窗口,同样先选中项目文件夹图标,这时在Project菜单中也有一样的菜单可选。打开项目选项窗口,转到Output选项页图3-2所示,图中1是选择编译输出的路径,2是设置编译输出生成的文件名,3则是决定是否要创建HEX文件,选中它就可以输出HEX文件到指定的路径中。选好了?好,我们再将它重新编译一次,很快在编译信息窗口中就显示HEX文件创建到指定的路径中了,如图3-3。这样我们就可用自己的编程器所附带的软件去读取并烧到芯片了,再用实验板看结果,至于编程器或仿真器品种繁多具体方法就看它的说明书了,这里也不做讨论。 (技巧:一、在图3-1中的1里的项目文件树形目录中,先选中对象,再单击它就可对它进行重命名操作,双击文件图标便可打开文件。二、在Project下拉菜单的最下方有最近编辑过的项目路径保存,这里可以快速打开最近在编辑的项目。) 图3-1项目功能菜单

图3-2 项目选项窗口 图3-3 编译信息窗口 或许您已把编译好的文件烧到了芯片上,如果您购买或自制了带串口输出元件的学习实验板,那您就可以把串口和PC机串口相联用串口调试软件或Windows的超级终端,将其波特率设为1200,就可以看到不停输出的"Hello World!"字样。也许您还没有实验板,那这里先说说AT89C51的最小化系统,再以一实例程序验证最小化系统是否在运行,这个最小化系统也易于自制用于实验。图3-4便是AT89C51的最小化系统,

IAR生成HEX文件说明

5 Command Line Interface 5.1 Options To get all available options in the command line interface, run the SmartRF04ProgConsole.exe in a command window or in the IAR workbench without any parameters/arguments. A list of all available options will then be printed out. These options are the same as the ones available in the GUI version of the Flash programmer, please refer to chapter 4 for a description of these. 5.2 Plug-in to IAR Workbench The command line interface can be integrated in the IAR Workbench. To setup IAR with this feature follow the instructions below. 5.2.1 Setup Start IAR Workbench and choose “Configure Tools…”, from the Tools menu, Figure 7. Figure 7: Tools Menu Press “New”, and add the information present in Table 2, see Figure 8. Field Value FlashProgram Menu Text: Command: C:\Program Files\Chipcon\FlashProg\ SmartRF04ProgConsole.exe1 Argument: S() EPV F=$TARGET_PATH$ K(0) Table 2: Flash Programmer Setup 1 Insert the complete path to the Command Line Flash Programmer

Keil创建一个汇编程序的步骤

Keil创建一个汇编程序的步骤 1、在C盘新建文件夹“实验一”,启动Keil 2、建立一个新工程,单击Project菜单,在弹出的下拉菜单中选中New Project 选项,如图1-1所示。 图1-1 3、然后选择你要保存的路径“C:/ 实验一”,输入工程文件的名字“实验一”,然 后点击保存。 4、这时会弹出一个对话框,要求你选择单片机的型号,这里选择Atmel 89C51,如图 1-2所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定。完成后,屏幕如图1-3所示。 图1-2

图1-3 5、在图1-3中,单击“File”菜单,再在下拉菜单中单击“New”选项。新建文 件后屏幕如图1-4所示。 图1-4 6、此时光标在编辑窗口里闪烁,这时可以键入应用程序了,建议首先保存该空白 的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕如1-5图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名如”Text 1.asm”,然后,单击“保存”按钮。

图1-5 7、回到编辑界面后,单击“Target 1”前面的“+”号,然后在“Source Group 1” 上单击右键,并单击“Add File to Group ‘Source Group 1’”选项,在出现的对话框1-6中选中“Text1.asm”,此时出现对话框如图1-7所示,在Type 选择栏中选择第二项“Assembly Language File”,确定文件类型为汇编语言。 8、然后得到如图1-8所示的操作界面,注意比对左侧编辑框项目是否和图1-8 一致,下面可以在右侧空白栏中编写汇编程序了。 图1-6

CC2530生成HEX文件

这两天来一直在做Zstack-CC2530的实验,读了手册也看了教程,却怎么也做不出应该有的结果,以为是自己改了协议栈的源代码,一度把协议栈删除又安装N次,IAR(7.51A)卸载重装,要不是电脑里面装了Visual Studio 2008 Teamedition以及一大堆的硬连接到第二硬盘,我早就重装系统了!! 一度陷入绝望中~~今天偶然看到一篇说IAR配置的文章,才恍然大悟~TI啊!!你发布Zstack的时候为什么不把IAR该有的配置都配置好呢!!白白浪费了两天的时间啊,你还我时间!! 网上看了无数的教程,什么从零开始学Zstack啊,Zigbee入门啊,奥特曼读书日记啊等等等等,无一例外都从程序的流程框架上给出了较为详细的解说,可是没有一篇文章提到要将Zstack-CC2530正确编译为可下载运行的hex文件还有哪些工作要做。可能只要用过IAR的人都会说编译为可下载的hex文件只要把linker--output--format的选项选为other就行了,这是最基础的知识,根本不用说。可是对于Zstack-CC2530来说,还有一个重要步骤需要设置,正是因为这个重要步骤没有正确设置,让我在过去的两天里做实验怎么做怎么不对,几乎陷入抓狂的境地~】 IAR编译ZStack-CC2530为可下载运行的HEX文件的正确配置: 1.正确配置输出文件格式:菜单选择Project-Options-Linker-Output-Format,选择Other。右边的Output下拉框选 intel-extended,Format variant下拉框选None,Module-local下拉框选Include all 2.还是在菜单Project-Options-Linker-Output标签中,勾上Override default选项,把编辑框中的文件名的后缀改为hex 以上两步都是大多数人熟知的,下面这一步是针对大型程序编译下载所必须的,也是大部分写zstack教程的人所没有提到的。 3.找到f8w2530.xcl文件,并打开。(这个文件在"Projects/zstack/Tools/CC2530DB/"目录下,也可以通过IAR编译环境的左侧Workspace窗口点开Tools文件夹看到)在f8w2530.xcl文件中找到两行被注释掉的语句: //-M(CODE)[(_CODEBANK_START+_FIRST_BANK_ADDR)-(_CODEBANK_END+_FIRST_BANK_ADDR)]*/ //_NR_OF_BANKS+_FIRST_BANK_ADDR=0x8000 把这两行前面的"//"去掉,保存,重新编译,OK! F:\JOB-Zigbee-20160413\Projects\zstack\Samples\SampleApp\CC2530DB\RouterEB\Exe (注:去掉这两行的"//"后在编译输出成hex格式时没有问题,但在debug模式下编译会提示警告:Warning[w69]: Address translation (-M, -b# or -b@) has no effect on the output format 'debug'. The output file will be generated but noaddress translation will be performed. 不过并不会影响debug调试的使用。也许正是为了屏蔽掉此条警告,所以TI在发布Zstack时选择了默认为debug模式才注释掉了这两行指令,但在编译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).

iar生产bin hex文件

在IAR及MDK里生成hex及bin文件的标准方法 在IAR及MDK中生成bin及hex文件的设置方法: IAR里面---> 生成bin文件: (1)在options->linker ->output->other选中->output里选择raw-binary,module-local里选择Include all,其余默认; (2)options->linker ->Extra Output->generate output file->format->output format 选择intel extended,override default 不选中,format variant 里面选择none; (3)结果*.bin在工程的flash文件夹下的exe文件夹里面。 生成hex文件: (1)编译生成“bin”的方法:Project\Option\ Linker\Output\Format,里面选择“Other”,在下面的“Output”选“raw-binary”生成bin。 (2)编译生成“hex”的方法:Project\Option\ Linker\Output\Format,里面选择“Other”,在下面的“Output”选“intel-extended”,生成a79直接改名成为hex或者选中上面的“Output Flie”在“Overrride default”项目里面改扩展名为hex。 MDK里面---> 需要使用“ARM公司的RVCT开发套件中的fromelf.exe转换工具”这是MDK里面自带的工具,只要加在命令行中即可,具体步骤如下:

生成bin文件: 假如你的工程文件为Axf_To_Bin, (1)打开Options f or Target ‘Axf_To_Bin ‘对话框,选择User标签页。 (2)构选Run User Programs After Build/Rebuild框中的Run #1多选框,在后边的文本框中输入C:\Keil\ARM\BIN31\fromelf.exe --bin -o ./output/Axf_To_Bin.bin./output/Axf_To_Bin.axf命令行; (3)重新编译文件,在./output/文件夹下生成了Axf_To_Bin.bin文件。 【注意】这里用颜色标识的区域说明: 灰色:fromelf.exe 工具路径。红色:为fromelf.exe命令。 灰绿:输出文件目录及文件。紫色:输入文件目录及文件。 生成hex文件: 生成hex文件比较简单MDK里可以直接生成HEX文件,具体操作如下: (1)打开Options f or Target ‘Axf_To_Bin ‘对话框,选择output,再选择Create HEX File. (2)重新编译文件,在./output/文件夹下生成了Axf_To_Bin.hex文件。 第二种方法: 在下面框中输入: -Oraw-binary,(CODE)=.bin

C51HEX文件的生成和单片机最小系统

C51HEX文件的生成和单片机最小系统 上一篇建立了第一个单片机C 语言项目,但为了让编译好的程序能通过编程器写入51 芯片中,要先用编译器生成HEX 文件,下面来看看如何用KEIL uVISION2 来编译生成用于烧写芯片的HEX 文件。HEX 文件格式是Intel 公司提出的按地址排列的数据信息,数据宽度为字节,所有数据使用16 进制数字表示, 常用来保存单片机或其他处理器的目标程序代码。它保存物理程序存储区中的目标代码映象。一般的编程器都支持这种格式。我们先来打开第一个项目,打开它的所在目录,找到test.Uv2 的文件就能打开先前的项目了。然后右击图2-1 中的1 项目文件夹,弹出项目功能菜单,选Options for Target’Target1’,弹出项目选项设置窗口,同样先选中项目文件夹图标,这个时候在Project 菜单中也有一样的菜单可选。打开项目选项窗口,转到Output 选项页图2-2 所示,图中1 是选择编译输出的路径,2 是设置编译输出生成的文件名,3 则是决定是否要创建HEX 文件,选中它就能输出HEX 文件到指定的路径中。选好了?好,我们再将它重新编译一次,很快在编译信息窗口中就显示HEX 文件创建到指定的路径中了,如图2-3。这样我们就可用自己的编程器所附带的软件去读取并烧到芯片了,再用实验板看结果,至于编程器或仿真器品种繁多具体方法就看它的说明书了,这里也不做讨论。 (技巧:一、在图2-1 中的1 里的项目文件树形目录中,先选中对象,再 单击它就可对它进行重命名操作,双击文件图标便可打开文件。二、在Project 下拉菜单的最下方有最近编辑过 的项目路径保存,这里能快速打开最近在编辑的项目。) 图2-1 项目功能菜单

相关文档
最新文档