keiluvision4教程

上传人:仙*** 文档编号:125436277 上传时间:2022-07-26 格式:DOC 页数:16 大小:804.50KB
收藏 版权申诉 举报 下载
keiluvision4教程_第1页
第1页 / 共16页
keiluvision4教程_第2页
第2页 / 共16页
keiluvision4教程_第3页
第3页 / 共16页
资源描述:

《keiluvision4教程》由会员分享,可在线阅读,更多相关《keiluvision4教程(16页珍藏版)》请在装配图网上搜索。

1、第4章 keil uvision4教程本章主要内容:l Keil C51的简介l Keil uvision4的安装l Keil uvision4的创建应用程序本章主要从简单介绍了Keil C51,以与Keil uvision4的安装和如何在Keil中创建应用程序。4.1 Keil C51的简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(Visi

2、on)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。使用汇编语言或C语言要使用编译器,以便把写好的程序编译为机器码,才能把HEX可执行文件写入单片机内。KEIL uVISION是众多单片机应用开发软件中最优秀的软件之一,它支持众多不同公司的MCS51架构的芯片,甚至ARM,它集编辑,编译,仿真等于一体,它的界面和常用的微软VC+的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强

3、大的功能。因此很多开发51应用的工程师或普通的单片机爱好者,都对它十分喜欢。2009年2月发布Keil Vision4,Keil Vision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的ARM芯片,还添加了一些其他新功能。2011年3月ARM公司发布最新集成开发环境RealView MDK开发工具中集成了最新版本的Keil Vision4,其编译器、调试工具实现与ARM器件的最完美匹配。Vision4在Vision

4、3的成功经验的基础上增加了:l System Viewer (系统查看程序)窗口,提供了设备外围寄存器信息,这些信息可以在System Viewer窗口内部直接更改。l Debug Restore Views (调试恢复视图)允许保存多个窗口布局,为程序分析迅速选择最适合的调试视图。l Multi-Project Workspace(多项目工作空间)为处理多个并存的项目提供了简化的方法,如引导加载程序和应用程序。l 扩展了Device Simulation(设备仿真)功能以支持许多新设备,如Luminary、NXP和东芝生产的基于ARM Cortex-M3处理器的MCU;Atmel SAM7/

5、9;与新的8051衍生品,如Infineon XC88x和SiLABS 8051F#。l 支持许多debug adapter interfaces(调试适配器接口),包括ADI miDAS Link、Atmel SAM-ICE、Infineon DAS和ST-Link。3.2 Keil uvision4的安装第1步:运行安装程序第2步:完成安装过程第3步:双击运行刚安装完毕的Keil uVision4,进入Keil uVision4的集成编辑环境 第4步:单击选择菜单“Debug”-Start/Stop Debug Session (如果跳出以下图提示框:*Limit : 32K,则说明此软件

6、没有获得序列化,只能编译code 32K一下的程序,如果没有弹出,说明以下步骤可省略)第5步:(破解开始)单击选择菜单“File”-License Management 将弹出下面一张图的界面:复制其中CID号,以便在黏贴到第6步中的破解软件中第6步:运行破解软件,将出现下面一张图的界面,把上步复制的CID号黏贴到相应位置,其他选项如图,然后点击“Generate”按钮,然后复制产生的序列号,黏贴到第5步的下面一张图的LIC输入框中,然后点击右侧的Add LIC,即可完成破解3.1.1 创建应用程序Vision包含一个工程管理器,它使得设计ARM微控制器的嵌入式应用程序更加方便。创建应用程序,

7、必须先创建对应的工程。为了创建一个新的工程,必须按如下步骤实现:1. 双击图标,运行Vision。2. 创建一个工程文件,从设备数据库中选择一个CPU芯片。下面以名为test的工程为例创建工程文件。单击Project -New.-Vision Project菜单项,Vision 4将打开一个标准对话框,输入希望新建工程的名字即可创建一个新的工程,建议对每个新建工程使用独立的文件夹。例如,这里先建立一个新的文件夹,然后选择这个文件夹作为新建工程的目录,输入新建工程的名字test,Vision将会创建一个以test.uvproj为名字的新工程文件。创建完了工程文件之后,从设备数据库中选择一个CPU

8、芯片。例如,选择AT89C52微控制器,如下图:图4-1 选择CPU芯片当创建一个新的工程时,Vision会自动为所选择的CPU添加适宜的启动代码,如图9-3。图4-2 添加启动代码对于一些设备而言,Vision需要用户手动地输入额外的参数。请仔细阅读这个对话框右边的信息,因为它可能包含所选设备的额外配置要求。3. 创建一个新的源文件,将这个源文件加载到工程中。通过File -New菜单项可创建一个新的源文件。这时将打开一个空文件编辑窗口,在这里可以输入源文件代码。当通过File-Save As 对话框以扩展名.C的形式保存了这个源文件以后,Vision可以用彩色高亮度显示C 语言的语法。例如

9、,保存下面的代码到MAIN.C文件中。#include#includevoid main(void) SCON=0x50;/串口方式1,允许接收 TMOD=0x20;/定时器1 定时方式2 TCON=0x40;/设定时器1 开始计数 TH1=0xE8;/11.0592MHz 1200波特率 TL1=0xE8;/ TI=1; TR1=1;/启动定时器 while(1) printf(hello world!n);/显示hello world 创建源文件以后,就可以将这个文件添加到工程中。Vision提供了几种方法将源文件添加到工程中。例如, 在Project Workspace -Files页的

10、文件组上点击鼠标右键,然后在弹出的菜单中选择Add Files菜单项,这时将打开标准的文件对话框,选择刚才创建的MAIN.C文件即完成源文件的添加。图3-3 添加文件4. 增加和配置ARM设备的启动代码。一般来说,ARM程序需要与目标硬件的设计配置相匹配的CPU初始化代码。当创建工程的时候,Vision要求添加与选定的CPU相匹配的启动代码。根据所使用的工具链的不同,启动代码文件所在的文件夹分别为 .ARMStartup (针对Keil开发工具链),.ARMGNUStartup(针对GNU开发工具链) 和 .ARMADSStartup(针对ADS开发工具链)。对于不同的微控制器来说,这些文件夹

11、包含不同的 启动代码 。Philips LPC2106的启动代码文件为.StartupPhilipsStartup.s 。为了和目标硬件相匹配,用户可能会修改这个启动代码文件,所以工程中的启动代码文件是Startup.s的一个副本。文件组(file group)可以组织更大的工程。对于CPU的启动代码和其他的系统配置文件,可以通过Project-Manage -Components,Environment, Books对话框创建一个单独的文件组。使用New (Insert)按钮创建名为System Files的文件组。在工程窗口中,可以将Starup.s文件拖放到这个新建的文件组中。图4-5

12、Components, Environment, Books如图4-5,在工程中添加文件后,Vision的工程空间窗口中将会出现所有的文件。这个窗口中的文件以在窗口中的排列顺序进行编译和。可以通过拖放的方式移动文件的位置,同时也可以单击目标和组改变它们的名字。在本窗口内单击鼠标 右键,在弹出的菜单中可以进行如下的操作:l 设置工具选项l 删除文件或组l 将文件添加到组中l 打开文件图4-5 工程空间中的文件在工程空间中,不同的图标显示了文件和文件夹(文件组)的不同属性。如: 带箭头的文件图标表示编译和工程文件。 运行时不包含的文件不带箭头。对于一般的文档文件这是很常见的。然而,在属性对话框中取

13、消Include in Target Build的选择,同样也可以不包含源文件。 只读文件被标志为一个钥匙。在软件版本控制系统中这样的文件是很常见的,因为SVCS使这样文件的拷贝只读。,带有特殊选项的文件和文件夹被圆点标记。5. 设置目标硬件的工具选项。Vision可以设置目标硬件的选项。通过工具栏按钮或Project - Options for Target菜单项打开Options for Target对话框,在Target页中设置目标硬件与所选CPU片上组件的参数。以下图是LPC2106的一些参数设置。图4-6 Target对话框l Xtal,设备的晶振(XTAL)频率。大多数基于ARM的

14、微控制器都使用片上PLL产生CPU时钟。所以,一般情况下CPU的时钟与XTAL的频率是不同的。仔细查阅硬件手册以确定适宜的XTAL的值。l Use On-Chip ROM/RAM,仅针对Keil ARM工具。选择这两个多项选择框以后,将设置Keil LA器/装载器。对于GNU和ADS,是通过器控制文件实现的。l External Memory 仅针对Keil ARM工具。指定目标硬件的外部存储区域。RAM用于存取变量,而ROM用于存储常量和程序代码(一般为EPROM或Flash存储器)。这些信息用于配置Keil LA器/装载器。对于GNU和ADS,是通过器控制文件实现的。对于GNU和ARM A

15、DS/RealView工具链来说,器的配置是通过器控制文件实现的。这个文件指定了ARM目标硬件的存储配置。预配置的器控制文件 在文件夹.ARMGNU或.ARMADS中。 为了与目标硬件相匹配,用户可能会修改器控制文件,所以工程中的那个文件是预配置的连接控制文件的一个副本。这个文件可以通过Project - Options for Target对话框的Linker页添加到工程中。图4-7Linker对话框l Enable Garbage Collection,允许未使用输入段的垃圾回收。在不支持这个选项的目标中,它会被忽略。这个选项和-r不一样,也不能在动态时使用。l Do not use St

16、andard System Startup Files,时不使用标准的系统启动文件。如果不选 中这个选项时标准的系统库会被正常使用。l Do not use StandardSystem Libraries,时不使用标准的系统库文件。仅使用C和GCC库。l Text Start,指定输出文件代码段的起始地址。必须是一个单精度的十六进制整数。为了保持和其他器的兼容性,必须忽略这个十六进制值前面的0X。l Data Start,指定输出文件数据段的起始地址。必须是一个单精度的十六进制整数。为了保持和其他器的兼容性,必须忽略这个十六进制值前面的0X。l BSS Start,指定输出文件BSS段的起始

17、地址。必须是一个单精度的十六进制整数。为了保持和其他器的兼容性,必须忽略这个十六进制值前面的0X。l Linker Script File Include Libraries,指定在编译时导入的库。l Include Paths,向路径列表中添加路径,在这些路径中LD将搜索库文件和ld控制脚本。在任何时候都可以使用这个选项。这些文件夹是按照它们在列表中的顺序搜索,且是在默认文件之前搜索的。l Misc controls,使用Misc 控制框指定器需要的命令,这些命令没有单独的对话框控制。l Linker control string,这个文本框显示了当前器的命令行。6. 编译工程,创建能烧写到

18、PROM中的十六进制文件。一般来说,在新建一个应用程序的时候Options -Target页中的所有的工具和属性都要配置。单击Build Target工具栏按钮将编译所有的源文件,应用程序。当编译有语法错误的应用程序时,Vision将在Output Window -Build窗口中显示错误和警告信息。单击这些信息行,Vision将会定位到相应的源代码处。图4-8 编译错误提示如果编译成功的话,源文件编译成功产生应用程序以后就可开始调试了,然后创建可下载到EPROM或软件仿真器中运行的Intel十六进制文件。当Options for Target -Output页中的Create HEX fil

19、e多项选择框被选中后,Vision每次编译后都会生成十六进制文件。FLASH Fill Byte、Start和End文本框中的值被OH166使用工具用来产生十六进制文件。在Run User Program #1文本框中指定程序时,当编译过程完成后就可以启动PROM编程器了。图4-9 编译生成十六进制文件选项现在,可以修改工程中已存在的代码或向工程中添加代码了。Build Target工具按钮仅编译已修改过或新建的源文件,产生可执行的文件。Vision有一个文件的依赖列表,它记录了每一个源文件所包含的头文件。甚至工具选项都保存在文件依赖列表中,所以只有在需要的时候Vision才会重新编译这些源文

20、件。通过使用不同的工程目标(project target),Vision 可以使单个工程生成几个不同的程序。开发者可能需要一个目标(target)作为测试,另一个目标作为应用程序的发布版。在同一个工程文件中,每一个目标都具有各自的工具设置,通过快捷键Alt+F7,即可调出图9-7进行多目标工具设置。文件组(file group)可以将工程中相关的的文件组织在一起。这样有利于将一组文件组织到一个功能块中或区分一个开发团队中的工程师。在以前的一些例程中,已经以文件组的形式将CPU相关文件同其他源文件隔离开。在Vision中,使用这种技术很容易管理具有几百个文件的工程。在Project -Manag

21、e-Components, Enviroment and books-Project Components 对话框中可以创建工程目标和文件组。在以前的一些例程中,已经使用了这个对话框添加系统配置文件。以下图显示了一个例程的工程结构。图4-10 设定多个工程目标在编译工具栏可以快速的改变当前编译的工程目标。 图4-11 快速改变编译目标在编译工具栏中,按钮可以弹出工程选项,其中包含多个标签页,如图9-10。各个标签页简要介绍如下:表一:Device从Vision的设备数据库中选择选择设备。Target为应用程序指定硬件环境。Output定义工具链的输出文件,在编译完成后运行用户程序。Listin

22、g指定工具链产生的所有列表文件。C设置C编译器的工具选项,例如代码优化和变量分配。Asm设置汇编器的工具选项,如宏处理。Linker设置器的相关选项。一般来说,器的设置需要配置目标系统的存储分配。设置器定义存储器类型和段的位置。Debug Vision调试器的设置。Utilities配置Flash编程实用工具。9.3.2 测试应用程序Vision调试器可以测试用GNU或ARM ADS/RealView工具链开发的应用程序。Vision调试器提供了两种操作模式,这两种模式可以在Options for Target -Debug 对话框中选择。图4-12 Debug设定l 单项选择框Use Sim

23、ulator用于选择Vision的软件仿真器作为调试器,它可以在没有目标硬件的情况下仿真ARM7微控制器的大部分功能。在目标硬件设计好之前,可以用这个软件仿真器调试嵌入式应用程序。Vision可以仿真许多片上外设,例如串口,外部I/O和定时器。当为目标(target)从设备数据库中选择一个CPU时,可仿真的片上外围就已经确定了。l 使用高级GDI驱动器,例如Keil ULINK2 ARM调试器提供了一个与目标硬件相连接的接口。使用高级GDI接口可以直接将Vision调试器与硬件仿真器、嵌入式ICE(片上调试系统)相连,例如带USB-JTAG接口的Keil ULINK2仿真器。Vision调试器

24、可以仿真高达4GB的存储空间,这些存储空间可以被映射为读、写或可执行等访问权限。Vision软件仿真器可以捕获和报告非法的存储访问。除了存储映射以外,软件仿真器同时可以仿真各种基于ARM微控制器的片上外围设备。在创建工程时,从设备数据库中选择的CPU就决定了可以用软件仿真器仿真的片上外围设备。关于从设备数据库中选择设备的信息请参考运行Vision与创建工程文件 。可以调试菜单项选择择和显示片上外围设备,同时通过相应的对话框改变这些外围设备的特征。图4-12中,对话框选项解释如下:Use Simulator选择Vision的软件仿真器作为调试工具。Use ULINK2 ARM7 Debugger

25、选择高级的GDI驱动器和调试硬件相连。Keil ULINK2 ARM7调试器可以用带USB-JTAG接口的Keil ULINK2仿真器和目标板相连。同时也有现存的第三方Vision驱动器。Settings打开已选的高级GDI驱动器的配置对话框。Other dialog options对软件仿真器和高级GDI 会话可用。Load Application atStartup选中该选项以后,在启动Vision调试器时自动加载目标应用程序。Go till main ()当启动调试器时开始执行程序,直到main()函数处停止。Initialization File调试程序时作为命令行输入的指定文件。Br

26、eakpoints从前一个调试会话中恢复断点设置。Toolbox从前一个调试会话中恢复工具框按钮。Watchpoints & PA从前一个调试会话中恢复观察点和性能分析仪的设置。Memory Display从前一个调试会话中恢复内存显示设置。CPU DLL,Driver DLL,Parameter配置内部Vision调试DLL。这些设置来源于设备数据库。用户能修改DLL或DLL的参数。在工具栏上,点击按钮可以启动调试模式。或者可以通过Debug -Start/Stop Debug Session菜单项启动Vision的调试模式。根据Options for Target - Debug页配置的不

27、同,Vision将加载应用程序、运行启动代码。关于Vision调试器配置的详细信息请参考设置调试选项。Vision可以保存编辑窗口的布局以与回复最后调试时的窗口布局。 如果程序停止执行,Vision将打开一个显示源代码文本的编辑窗口或在反汇编窗口中显示相应的CPU指令。下一个可执行的语句被标记为黄色箭头。在调试的时,大多数编辑器的功能都是可用的。例如,可以使用查找命令或纠正程序错误。应用程序的源代码文本在同一窗口中显示。Vision的调试模式和编辑模式有如下的不同:l 调试菜单和调试命令是可用的。调试窗口将在以后讨论。l 工程结构和工具参数是不能被修改的。所有的编译命令不可用。在Debug模式

28、下,按钮表示执行应用程序,按钮表示重置CPU,按钮表示停止代码执行,按钮表示设置断点,按钮可以使断点生效或失效,按钮表示关闭所有断点,和按钮表示调试下一行代码,调试状态的界面如图9-13。图4-13 Debug模式界面下面以HELLO工程为例介绍Vision调试器的使用简要过程。HELLO例程可在KeilC51ExamplesHello中找到,这个例程用来通过串口打印出字符串“Hello World”。在HELLO.C中包含整个程序的源代码。 这个小程序可以用来验证应用程序的编译、以与调试。可以使用工程文件在DOS命令行、或使用批处理文件、或Vision环境中执行这些操作。Vision还可以为此例程仿真目标硬件而不需要实际上的CPU。在编译完成后,就可使用Vision 的调试器进行调试了。选择Debug菜单里的选项Start/Stop Debug Session或者点击工具栏里的对应图标进入调试模式。Vision将会初始化调试器并启动程序运行到主函数。如图4-14。图4-14 Hello.c运行结果16 / 16

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!