keiluvision4教程.docx
- 文档编号:15993306
- 上传时间:2023-07-09
- 格式:DOCX
- 页数:22
- 大小:695.03KB
keiluvision4教程.docx
《keiluvision4教程.docx》由会员分享,可在线阅读,更多相关《keiluvision4教程.docx(22页珍藏版)》请在冰点文库上搜索。
keiluvision4教程
第4章keiluvision4教程
本章主要内容:
●KeilC51的简介
●Keiluvision4的安装
●Keiluvision4的创建应用程序
本章主要从简单介绍了KeilC51,以及Keiluvision4的安装和如何在Keil中创建应用程序。
4.1KeilC51的简介
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。
运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。
如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
使用汇编语言或C语言要使用编译器,以便把写好的程序编译为机器码,才能把HEX可执行文件写入单片机内。
KEILuVISION是众多单片机应用开发软件中最优秀的软件之一,它支持众多不同公司的MCS51架构的芯片,甚至ARM,它集编辑,编译,仿真等于一体,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。
因此很多开发51应用的工程师或普通的单片机爱好者,都对它十分喜欢。
2009年2月发布KeilμVision4,KeilμVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。
新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。
新版本支持更多最新的ARM芯片,还添加了一些其他新功能。
2011年3月ARM公司发布最新集成开发环境RealViewMDK开发工具中集成了最新版本的KeilμVision4,其编译器、调试工具实现与ARM器件的最完美匹配。
µVision4在µVision3的成功经验的基础上增加了:
●SystemViewer(系统查看程序)窗口,提供了设备外围寄存器信息,这些信息可以在SystemViewer窗口内部直接更改。
●DebugRestoreViews(调试恢复视图)允许保存多个窗口布局,为程序分析迅速选择最适合的调试视图。
●Multi-ProjectWorkspace(多项目工作空间)为处理多个并存的项目提供了简化的方法,如引导加载程序和应用程序。
●扩展了DeviceSimulation(设备仿真)功能以支持许多新设备,如Luminary、NXP和东芝生产的基于ARMCortex-M3处理器的MCU;AtmelSAM7/9;及新的8051衍生品,如InfineonXC88x和SiLABS8051Fxx。
●支持许多debugadapterinterfaces(调试适配器接口),包括ADImiDASLink、AtmelSAM-ICE、InfineonDAS和ST-Link。
3.2Keiluvision4的安装
第1步:
运行安装程序
第2步:
完成安装过程
第3步:
双击运行刚安装完毕的KeiluVision4,进入KeiluVision4的集成编辑环境
第4步:
单击选择菜单“Debug”-->"Start/StopDebugSession"(如果跳出下图提示框:
****Limit:
32K,则说明此软件没有获得序列化,只能编译code32K一下的程序,如果没有弹出,说明以下步骤可省略)
第5步:
(破解开始)单击选择菜单“File”-->"LicenseManagement"将弹出下面一张图的界面:
复制其中CID号,以便在黏贴到第6步中的破解软件中
第6步:
运行破解软件,将出现下面一张图的界面,把上步复制的CID号黏贴到相应位置,其他选项如图,然后点击“Generate”按钮,然后复制产生的序列号,黏贴到第5步的下面一张图的LIC输入框中,然后点击右侧的AddLIC,即可完成破解
3.1.1创建应用程序
µVision包含一个工程管理器,它使得设计ARM微控制器的嵌入式应用程序更加方便。
创建应用程序,必须先创建对应的工程。
为了创建一个新的工程,必须按如下步骤实现:
1.双击图标
,运行µVision。
2.创建一个工程文件,从设备数据库中选择一个CPU芯片。
下面以名为test的工程为例创建工程文件。
单击Project->New...->µVisionProject菜单项,µVision4将打开一个标准对话框,输入希望新建工程的名字即可创建一个新的工程,建议对每个新建工程使用独立的文件夹。
例如,这里先建立一个新的文件夹,然后选择这个文件夹作为新建工程的目录,输入新建工程的名字test,µVision将会创建一个以test.uvproj为名字的新工程文件。
创建完了工程文件之后,从设备数据库中选择一个CPU芯片。
例如,选择AT89C52微控制器,如图所示:
图4-1选择CPU芯片
当创建一个新的工程时,µVision会自动为所选择的CPU添加合适的启动代码,如图9-3。
图4-2添加启动代码
对于一些设备而言,µVision需要用户手动地输入额外的参数。
请仔细阅读这个对话框右边的信息,因为它可能包含所选设备的额外配置要求。
3.创建一个新的源文件,将这个源文件加载到工程中。
通过File->New菜单项可创建一个新的源文件。
这时将打开一个空文件编辑窗口,在这里可以输入源文件代码。
当通过File->SaveAs对话框以扩展名.C的形式保存了这个源文件以后,µVision可以用彩色高亮度显示C语言的语法。
例如,保存下面的代码到MAIN.C文件中。
#include
#include
voidmain(void)
{
SCON=0x50;//串口方式1,允许接收
TMOD=0x20;//定时器1定时方式2
TCON=0x40;//设定时器1开始计数
TH1=0xE8;//11.0592MHz1200波特率
TL1=0xE8;//
TI=1;
TR1=1;//启动定时器
while
(1)
{
printf("helloworld!
\n");//显示helloworld
}
}创建源文件以后,就可以将这个文件添加到工程中。
µVision提供了几种方法将源文件添加到工程中。
例如,在ProjectWorkspace->Files页的文件组上点击鼠标右键,然后在弹出的菜单中选择AddFiles菜单项,这时将打开标准的文件对话框,选择刚才创建的MAIN.C文件即完成源文件的添加。
图3-3添加文件
4.增加和配置ARM设备的启动代码。
一般来说,ARM程序需要与目标硬件的设计配置相匹配的CPU初始化代码。
当创建工程的时候,µVision要求添加与选定的CPU相匹配的启动代码。
根据所使用的工具链的不同,启动代码文件所在的文件夹分别为..\ARM\Startup(针对Keil开发工具链),..\ARM\GNU\Startup(针对GNU开发工具链)和..\ARM\ADS\Startup(针对ADS开发工具链)。
对于不同的微控制器来说,这些文件夹包含不同的启动代码。
PhilipsLPC2106的启动代码文件为...\Startup\Philips\Startup.s。
为了和目标硬件相匹配,用户可能会修改这个启动代码文件,所以工程中的启动代码文件是Startup.s的一个副本。
文件组()可以组织更大的工程。
对于CPU的启动代码和其他的系统配置文件,可以通过Project->Manage->Components,Environment,Books对话框创建一个单独的文件组。
使用New(Insert)按钮创建名为SystemFiles的文件组。
在工程窗口中,可以将Starup.s文件拖放到这个新建的文件组中。
图4-5Components,Environment,Books
如图4-5,在工程中添加文件后,µVision的工程空间窗口中将会出现所有的文件。
这个窗口中的文件以在窗口中的排列顺序进行编译和链接。
可以通过拖放的方式移动文件的位置,同时也可以单击目标和组改变它们的名字。
在本窗口内单击鼠标右键,在弹出的菜单中可以进行如下的操作:
●设置工具选项
●删除文件或组
●将文件添加到组中
●打开文件
图4-5工程空间中的文件
在工程空间中,不同的图标显示了文件和文件夹(文件组)的不同属性。
如:
带箭头的文件图标表示编译和链接工程文件。
链接运行时不包含的文件不带箭头。
对于一般的文档文件这是很常见的。
然而,在属性对话框中取消IncludeinTargetBuild的选择,同样也可以不包含源文件。
只读文件被标志为一个钥匙。
在软件版本控制系统中这样的文件是很常见的,因为SVCS使这样文件的拷贝只读。
,
带有特殊选项的文件和文件夹被圆点标记。
5.设置目标硬件的工具选项。
µVision可以设置目标硬件的选项。
通过工具栏按钮或Project-OptionsforTarget菜单项打开OptionsforTarget对话框,在Target页中设置目标硬件及所选CPU片上组件的参数。
下图是LPC2106的一些参数设置。
图4-6Target对话框
●Xtal,设备的晶振(XTAL)频率。
大多数基于ARM的微控制器都使用片上PLL产生CPU时钟。
所以,一般情况下CPU的时钟与XTAL的频率是不同的。
仔细查阅硬件手册以确定合适的XTAL的值。
●UseOn-ChipROM/RAM,仅针对KeilARM工具。
选择这两个多选框以后,将设置KeilLA链接器/装载器。
对于GNU和ADS,是通过链接器控制文件实现的。
●ExternalMemory仅针对KeilARM工具。
指定目标硬件的外部存储区域。
RAM用于存取变量,而ROM用于存储常量和程序代码(一般为EPROM或Flash存储器)。
这些信息用于配置KeilLA链接器/装载器。
对于GNU和ADS,是通过链接器控制文件实现的。
对于GNU和ARMADS/RealView工具链来说,链接器的配置是通过链接器控制文件实现的。
这个文件指定了ARM目标硬件的存储配置。
预配置的链接器控制文件在文件夹..\ARM\GNU或..\ARM\ADS中。
为了与目标硬件相匹配,用户可能会修改链接器控制文件,所以工程中的那个文件是预配置的连接控制文件的一个副本。
这个文件可以通过Project-OptionsforTarget对话框的Linker页添加到工程中。
图4-7Linker对话框
●EnableGarbageCollection,允许未使用输入段的垃圾回收。
在不支持这个选项的目标中,它会被忽略。
这个选项和'-r'不一样,也不能在动态链接时使用。
●DonotuseStandardSystemStartupFiles,链接时不使用标准的系统启动文件。
如果不选中这个选项时标准的系统库会被正常使用。
●DonotuseStandardSystemLibraries,链接时不使用标准的系统库文件。
仅使用C和GCC库。
●TextStart,指定输出文件代码段的起始地址。
必须是一个单精度的十六进制整数。
为了保持和其他链接器的兼容性,必须忽略这个十六进制值前面的0X。
●DataStart,指定输出文件数据段的起始地址。
必须是一个单精度的十六进制整数。
为了保持和其他链接器的兼容性,必须忽略这个十六进制值前面的0X。
●BSSStart,指定输出文件BSS段的起始地址。
必须是一个单精度的十六进制整数。
为了保持和其他链接器的兼容性,必须忽略这个十六进制值前面的0X。
●LinkerScriptLibraries,指定在编译时导入的库。
●IncludePaths,向路径列表中添加路径,在这些路径中LD将搜索库文件和ld控制脚本。
在任何时候都可以使用这个选项。
这些文件夹是按照它们在列表中的顺序搜索,且是在默认文件之前搜索的。
●Misccontrols,使用Misc控制框指定链接器需要的命令,这些命令没有单独的对话框控制。
●Linkercontrolstring,这个文本框显示了当前链接器的命令行。
6.编译工程,创建能烧写到PROM中的十六进制文件。
一般来说,在新建一个应用程序的时候Options->Target页中的所有的工具和属性都要配置。
单击BuildTarget工具栏
按钮将编译所有的源文件,链接应用程序。
当编译有语法错误的应用程序时,µVision将在OutputWindow->Build窗口中显示错误和警告信息。
单击这些信息行,µVision将会定位到相应的源代码处。
图4-8编译错误提示
如果编译成功的话,源文件编译成功产生应用程序以后就可开始调试了,然后创建可下载到EPROM或软件仿真器中运行的Intel十六进制文件。
当OptionsforTarget->Output页中的CreateHEXfile多选框被选中后,µVision每次编译后都会生成十六进制文件。
FLASHFillByte、Start和End文本框中的值被OH166使用工具用来产生十六进制文件。
在RunUserProgram#1文本框中指定程序时,当编译过程完成后就可以启动PROM编程器了。
图4-9编译生成十六进制文件选项
现在,可以修改工程中已存在的代码或向工程中添加代码了。
BuildTarget工具按钮仅编译已修改过或新建的源文件,产生可执行的文件。
µVision有一个文件的依赖列表,它记录了每一个源文件所包含的头文件。
甚至工具选项都保存在文件依赖列表中,所以只有在需要的时候µVision才会重新编译这些源文件。
通过使用不同的工程目标(projecttarget),µVision可以使单个工程生成几个不同的程序。
开发者可能需要一个目标(target)作为测试,另一个目标作为应用程序的发布版。
在同一个工程文件中,每一个目标都具有各自的工具设置,通过快捷键Alt+F7,即可调出图9-7进行多目标工具设置。
文件组()可以将工程中相关的的文件组织在一起。
这样有利于将一组文件组织到一个功能块中或区分一个开发团队中的工程师。
在以前的一些例程中,已经以文件组的形式将CPU相关文件同其他源文件隔离开。
在µVision中,使用这种技术很容易管理具有几百个文件的工程。
在Project->Manage->Components,Enviromentandbooks->ProjectComponents对话框中可以创建工程目标和文件组。
在以前的一些例程中,已经使用了这个对话框添加系统配置文件。
下图显示了一个例程的工程结构。
图4-10设定多个工程目标
在编译工具栏可以快速的改变当前编译的工程目标。
图4-11快速改变编译目标
在编译工具栏中,
按钮可以弹出工程选项,其中包含多个标签页,如图9-10。
各个标签页简要介绍如下:
表一:
Device
从µVision的设备数据库中选择选择设备。
Target
为应用程序指定硬件环境。
Output
定义工具链的输出文件,在编译完成后运行用户程序。
Listing
指定工具链产生的所有列表文件。
C
设置C编译器的工具选项,例如代码优化和变量分配。
Asm
设置汇编器的工具选项,如宏处理。
Linker
设置链接器的相关选项。
一般来说,链接器的设置需要配置目标系统的存储分配。
设置链接器定义存储器类型和段的位置。
Debug
µVision调试器的设置。
Utilities
配置Flash编程实用工具。
9.3.2测试应用程序
µVision调试器可以测试用GNU或ARMADS/RealView工具链开发的应用程序。
µVision调试器提供了两种操作模式,这两种模式可以在OptionsforTarget->Debug对话框中选择。
图4-12Debug设定
●单选框UseSimulator用于选择µVision的软件仿真器作为调试器,它可以在没有目标硬件的情况下仿真ARM7微控制器的大部分功能。
在目标硬件设计好之前,可以用这个软件仿真器调试嵌入式应用程序。
µVision可以仿真许多片上外设,例如串口,外部I/O和定时器。
当为目标(target)从设备数据库中选择一个CPU时,可仿真的片上外围就已经确定了。
●„使用高级GDI驱动器,例如KeilULINK2ARM调试器提供了一个与目标硬件相连接的接口。
使用高级GDI接口可以直接将µVision调试器与硬件仿真器、嵌入式ICE(片上调试系统)相连,例如带USB-JTAG接口的KeilULINK2仿真器。
µVision调试器可以仿真高达4GB的存储空间,这些存储空间可以被映射为读、写或可执行等访问权限。
µVision软件仿真器可以捕获和报告非法的存储访问。
除了存储映射以外,软件仿真器同时可以仿真各种基于ARM微控制器的片上外围设备。
在创建工程时,从设备数据库中选择的CPU就决定了可以用软件仿真器仿真的片上外围设备。
关于从设备数据库中选择设备的信息请参考运行µVision及创建工程文件。
可以调试菜单选择和显示片上外围设备,同时通过相应的对话框改变这些外围设备的特征。
图4-12中,对话框选项解释如下:
UseSimulator
选择µVision的软件仿真器作为调试工具。
UseULINK2ARM7Debugger
选择高级的GDI驱动器和调试硬件相连。
KeilULINK2ARM7调试器可以用带USB-JTAG接口的KeilULINK2仿真器和目标板相连。
同时也有现存的第三方µVision驱动器。
Settings
打开已选的高级GDI驱动器的配置对话框。
Otherdialogoptions
对软件仿真器和高级GDI会话可用。
LoadApplicationatStartup
选中该选项以后,在启动µVision调试器时自动加载目标应用程序。
Gotillmain()
当启动调试器时开始执行程序,直到main()函数处停止。
InitializationFile
调试程序时作为命令行输入的指定文件。
Breakpoints
从前一个调试会话中恢复断点设置。
Toolbox
从前一个调试会话中恢复工具框按钮。
Watchpoints&PA
从前一个调试会话中恢复观察点和性能分析仪的设置。
MemoryDisplay
从前一个调试会话中恢复内存显示设置。
CPUDLL,DriverDLL,Parameter
配置内部µVision调试DLL。
这些设置来源于设备数据库。
用户能修改DLL或DLL的参数。
在工具栏上,点击按钮
可以启动调试模式。
或者可以通过Debug->Start/StopDebugSession菜单项启动µVision的调试模式。
根据OptionsforTarget->Debug页配置的不同,µVision将加载应用程序、运行启动代码。
关于µVision调试器配置的详细信息请参考设置调试选项。
µVision可以保存编辑窗口的布局以及回复最后调试时的窗口布局。
如果程序停止执行,µVision将打开一个显示源代码文本的编辑窗口或在反汇编窗口中显示相应的CPU指令。
下一个可执行的语句被标记为黄色箭头。
在调试的时,大多数编辑器的功能都是可用的。
例如,可以使用查找命令或纠正程序错误。
应用程序的源代码文本在同一窗口中显示。
µVision的调试模式和编辑模式有如下的不同:
●调试菜单和调试命令是可用的。
调试窗口将在以后讨论。
●工程结构和工具参数是不能被修改的。
所有的编译命令不可用。
在Debug模式下,
按钮表示执行应用程序,
按钮表示重置CPU,
按钮表示停止代码执行,
按钮表示设置断点,
按钮可以使断点生效或失效,
按钮表示关闭所有断点,
和
按钮表示调试下一行代码,调试状态的界面如图9-13。
图4-13Debug模式界面
下面以HELLO工程为例介绍µVision调试器的使用简要过程。
HELLO例程可在\Keil\C51\Examples\Hello中找到,这个例程用来通过串口打印出字符串“HelloWorld”。
在HELLO.C中包含整个程序的源代码。
这个小程序可以用来验证应用程序的编译、链接、以及调试。
可以使用工程文件在DOS命令行、或使用批处理文件、或µVision环境中执行这些操作。
µVision还可以为此例程仿真目标硬件而不需要实际上的CPU。
在编译链接完成后,就可使用µVision的调试器进行调试了。
选择Debug菜单里的选项Start/StopDebugSession或者点击工具栏里的对应图标进入调试模式。
µVision将会初始化调试器并启动程序运行到主函数。
如图4-14。
图4-14Hello.c运行结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- keiluvision4 教程
![提示](https://static.bingdoc.com/images/bang_tan.gif)