KeilμVision4集成开发环境与C语言程序设计.docx
- 文档编号:23000960
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:60
- 大小:790.34KB
KeilμVision4集成开发环境与C语言程序设计.docx
《KeilμVision4集成开发环境与C语言程序设计.docx》由会员分享,可在线阅读,更多相关《KeilμVision4集成开发环境与C语言程序设计.docx(60页珍藏版)》请在冰豆网上搜索。
KeilμVision4集成开发环境与C语言程序设计
附录AKeilμVision4集成开发环境与C语言程序设计
Keil公司是一家业界领先的微控制器(MCU)软件开发工具的独立供应商。
Keil公司由两家私人公司联合运营,分别是德国慕尼黑的KeilElektronikGmbH和美国德克萨斯的KeilSoftwareInc。
Keil公司制造和销售种类广泛的开发工具,包括ANSIC编译器、宏汇编程序、调试器、连接器、库管理器、固件和实时操作系统核心(real-timekernel)。
有超过10万名微控制器开发人员在使用这种得到业界认可的解决方案。
其KeilC51编译器自1988年引入市场以来成为事实上的行业标准,并支持超过500种80C51变种。
Keil公司在2007年被ARM公司收购。
其两家公司分别更名为ARMGermanyGmbH和ARMInc和。
2009年2月,Keil公司发布了KeilμVision4,KeilμVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,提供可在虚拟接口上随意放置窗口的完整控制能力。
新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。
新版本支持更多最新的80C51兼容芯片及ARM芯片,还添加了一些其他新功能,如系统查看器(SystemViewer)窗口、多项目工作空间(Multi-ProjectWorkspace)等。
附A.1KeilμVision4集成开发环境
附A.1.1简介
KeilμVision4集成开发环境(IntegratedDevelopmentEnvironment,IDE)是一个基于Windows的开发平台,它包含高效的源代码编辑器、项目(Project)管理器和程序生成(MAKE)工具。
KeilμVision4支持所有的80C51嵌入式应用工具,它包括C/C++编译器宏汇编器、连接/定位器和一个HEX文件生成器。
KeilμVision4通过以下特性加速MCU嵌入式应用系统的开发过程:
★全功能的源代码编辑器;
★器件库用来配置开发工具设置;
★项目管理器用来创建和维护项目;
★集成的MAKE工具可以汇编、编译和连接用户的嵌入式应用;
★所有开发工具的设置都是以对话框的形式出现的;
★具有真正的源代码级的对CPU和外围器件的调试器;
★高级GDI接口用来在目标硬件上进行软件调试以及和Monitor-51进行通信;
★与开发工具手册、器件数据手册和用户指南有直接的链接。
1.C51编译器和A51汇编器
源代码由μVision4创建,并被C51编译成A51汇编。
编译器和汇编器从源代码生成可重定位的目标文件。
KeilC51编译器完全遵照ANSIC语言标准,支持C语言的所有标准特性。
另外,直接支持80C51结构的几个特性被添加里面。
KeilA51宏汇编器支持80C51及其派生系列的全部指令集。
2.LIB51库管理器
LIB51库管理器允许从由编译器或汇编器生成的目标文件创建目标库。
库是一种被特别地组织过并在以后可以被连接重用的对象模块。
当连接器处理一个库时,仅仅那些被使用的目标模块才被真正使用。
3.BL51连接器/定位器
BL51连接器/定位器利用从库中提取的目标模块和由编译器或汇编器生成的目标模块创建一个绝对地址的目标模块。
一个绝对地址目标模块或文件包含不可重定位的代码和数据。
所有的代码和数据被安置在固定的存储器单元中。
此绝对地址目标文件可以用来:
写入EPROM或其他存储器件。
通过μVision4调试器来模拟和调试。
通过仿真器来测试程序。
4.OH51目标文件转换器
OH51目标文件转换器可以把前面编译连接好的目标文件转换成能写入EPROM中的HEX文件。
5.μVision4调试器
μVision4源代码级调试器是一个理想的快速、可靠的程序调试器。
此调试器包含一个高速模拟器,能够模拟整个8051系统,包括片上外围器件和外部硬件。
当从器件库中选择器件时,这个器件的特性将自动配置。
μVision4调试器为在实际目标板上测试程序提供了以下2种方法:
安装MON51目标监控器到目标系统并且通过Monitor-51接口下载程序;
利用高级的GDI(AGDI)接口,把μVision4调试器绑定到目标系统。
6.Monitor-51
μVision4调试器支持用Monitor-51进行目标板调试。
此监控程序驻留在目标板的存储器里,它利用串口和μVision4调试器进行通信。
利用Monitor-51,μVision4调试器可以对目标硬件实行源代码级的调试。
7.RTX-51实时操作系统
RTX-51实时操作系统是一个针对8051系统的多任务核。
RTX-51实时内核从本质上简化了对实时事件反应速度要求高的复杂应用系统的设计、编程和调试。
RTX-51实时内核是完全集成到C51编译器中的,从而方便使用。
任务描述表和操作系统的连接由BL51连接器/定位器自动控制。
附A.1.2安装
了解了KeilμVision4的一些基本概况后,下面开始在计算机上搭建MCU的集成开发环境。
操作步骤如下:
首先准备KeilμVision4安装源文件,双击μVision4的Setup安装文件,弹出KeilμVision4安装的欢迎界面,如图A-1所示。
图A-1KeilμVision4欢迎界面
单击“Next”按钮,弹出“LicenseAgreement”对话框,如图A-2所示。
这里显示了一些用户安装的协议和许可的要求,选择“IagreetoallthetermsoftheprecedingLicenseAgreement”即可,否则无法进入下一步。
图A-2“LicenseAgreement”对话框
单击“Next”按钮,弹出“FolderSelection”对话框,如图A-3所示。
系统默认安装在“C:
\Keil”文件夹下。
在这里,单击“Browse”按钮,可以选择安装的目录。
图A-3“FolderSelection”对话框
单击“Next”按钮,弹出”CustomerInformation”对话框,如图A-4所示。
此时,用户需要输入用户名、公司名称和E-mail,缺一不可。
图A-4用户信息输入
单击”Next”按钮,下面便开始自动安装。
KeilμVision4安装完成后,弹出安装完成对话框,如图A-5所示。
这里的几个选项的含义如下。
图A-5完成安装
ShowReleaseNotes:
显示安装的版本注释信息。
AddExampleprojectstotherecentlyusedprojectlist:
添加一个示例程序到当前项目列表中。
RetaincurrentμVisionconfiguration:
保持当前的设置(如果是第一次安装,则不存在这个选项)。
最后,单击"Finish"按钮,便可以结束KeilμVision4集成开发环境的安装。
需要注意的是,刚刚安装完的版本是试用版(EvaluationVersion),代码长度有2KB限制。
如果代码长度超过2KB,可与Keil公司()联系,购买LIC(LicenseIDCode)。
附A.1.3KeilμVision4集成开发环境界面
安装完成后,会在桌面上出现KeilμVision4程序的图标,并在“开始”程序里增加“KeilμVision4”程序项。
从“开始”程序里选择“KeilμVision4”程序项或者直接双击桌面上的KeilμVision4程序图标,即可启动KeilμVision4。
启动KeilμVision4后,如果是第一次运行,则打开工程项目“Hello”,如图A-6所示。
图A-6KeilμVision4集成开发环境界面
这里可以看到,KeilμVision4集成开发环境具有典型的Windows界面风格。
整个编程界面主要包括菜单栏、工具栏、项目管理区、源代码工作区和输出信息窗口。
另外,还有一些功能窗口将在后面逐步介绍。
下面我们将带领读者逐一认识KeilμVision4集成开发环境的主要组成部分。
附A.1.4KeilμVision4菜单命令
KeilμVision4的菜单栏提供了项目操作、编辑操作、编译调试及帮助等各种常用操作。
所有的操作基本上都可以通过菜单命令来实现。
为了快速执行KeilμVision4的许多功能,有些菜单命令在工具栏上还具有工具条。
为了更快速执行一些功能,KeilμVision4提供了比工具栏上的工具条更为快捷的操作,即快捷键。
在KeilμVision4集成开发环境中不仅提供了常用功能的默认快捷键,同时用户也可以根据自己的需要自定义快捷键。
下面就菜单命令、工具条、快捷键分别进行介绍。
1.File菜单
File菜单和标准的Windows软件的File菜单类似,提供了项目和文件的操作功能。
File菜单各个命令的功能如表A-1所示。
表A-1File菜单
菜单命令
工具条
快捷键
功能说明
New
Ctrl+N
创建一个新的空白文件
Open
Ctrl+O
打开一个已存在的文件
Close
关闭当前打开的文件
Save
Ctrl+S
保存当前打开的文件
Saveas
当前文件另存为
Saveall
保存所有打开的文件
DeviceDatabase
打开器件库
LicenseManagement
产品注册管理
PrintSetup
设置打印机
Ctrl+P
打印当前文件
PrintPreview
打印预览
1..10
列出最近打开的源文件或文本文件
Exit
退出KeilμVision4
2.Edit菜单
Edit菜单提供了常用的代码编辑操作命令。
Edit菜单各个命令的功能如表A-2所示。
表A-2Edit菜单
菜单命令
工具条
快捷键
功能说明
Undo
Ctrl+Z
取消上次操作
Redo
Ctrl+Y
重复上次操作
Cut
Ctrl+X
剪切选定的内容
Copy
Ctrl+C
复制选定的内容
Paste
Ctrl+V
粘贴已复制的内容
NavigateBackwards
Ctrl+Shift+-
光标移动到使用Find或gotoline命令的前一行
NavigateForwards
Ctr+-
光标移动到使用Find或gotoline命令的后一行
Insert/RemoveBookmark
Ctrl+F2
设置/取消当前行的标签
GotoNextBookmark
F2
光标移动到下一个标签
GotoPreviousBookmark
Shift+F2
光标移动到上一个标签
ClearAllBookmarks
Ctrl+Shift+F2
清除当前文件的所有标签
Find
Ctrl+F
在当前文件中查找
Replace
Ctrl+H
替换
FindinFiles
Ctrl+Shift+F
在多个文件中查找
IncrementalFind
Ctrl+I
渐进式寻找
Outlining
源代码概要显示模式
Advanced
各种高级编辑命令
Configuration
颜色、字体等高级配置
3.View菜单
View菜单提供了在源代码编辑和仿真调试过程中,各个窗口和工具栏的显示和隐藏命令。
View菜单各个命令的功能如表A-3所示。
表A-3View菜单
菜单命令
工具条
功能说明
StatusBar
显示/隐藏状态条
Toolbars
显示/隐藏工具栏
ProjectWindow
显示/隐藏项目管理窗口
BooksWindow
显示/隐藏参考书窗口
FunctionsWindow
显示/隐藏函数窗口
TemplatesWindow
显示/隐藏模板窗口
SourceBrowserWindow
显示/隐藏资源浏览器窗口
BuildOutputWindow
显示/隐藏输出信息窗口
FindinFilesWindow
显示/隐藏在所有文件中查找文本窗口
FullScreen
显示/隐藏全屏显示窗口
调试模式下的菜单命令
CommandWindow
显示/隐藏命令行窗口
DisassemblyWindow
显示/隐藏反汇编窗口
SymbolsWindow
显示/隐藏字符变量窗口
RegistersWindow
显示/隐藏寄存器窗口
CallStackWindow
显示/隐藏堆栈窗口
WatchWindows
显示/隐藏变量子菜单观察窗口
MemoryWindows
显示/隐藏存储器子菜单窗口
SerialWindows
显示/隐藏串行口观察子菜单窗口
AnalysisWindows
显示/隐藏分析子菜单窗口
Trace
显示/隐藏跟踪子菜单窗口
SystemViewer
显示/隐藏外设子菜单窗口
ToolboxWindow
显示/隐藏自定义工具条窗口
PeriodicWindowUpdate
在程序运行时刷新调试窗口
4.Project菜单
Project菜单提供了MCU项目的创建、设置和编译等命令。
Project菜单各个命令的功能如表A-4所示。
表A-4Project菜单
菜单命令
工具条
快捷键
功能说明
NewµVisionProject...
创建新项目
NewMulti-ProjectWorkspace...
创建多项目工作空间
OpenProject...
打开一个已存在的项目
CloseProject
关闭当前项目
Export
导出当前一个或多个项目为μVision3格式
Manage
管理项目的包含文件、库的路径及多项目工作空间
SelectDeviceforTargetname...
为当前项目选择一个MCU类型
Removeobject
从当前项目中移除选择的文件或项目组
Optionsforobject
Alt+F7
设置当前文件、项目或项目组的配置选项
Cleantarget
清除编译过程中创建的中间文件
Buildtarget
F7
编译文件并生成应用文件
Rebuildalltargetfiles
重新编译所有文件并生成应用文件
BatchBuild...
批量编译文件并生成应用文件
Translatefile
Ctrl+F7
编译当前文件
Stopbuild
停止编译当前项目
1..10
列出最近打开的项目(最多10个)
5.Flash菜单
Flash菜单提供了下载程序、擦除MCU程序存储器等操作。
这里的命令需要外部的编程器支持才可以使用。
Flash菜单各个命令的功能,如表A-5所示。
表A-5Flash菜单
菜单命令
工具条
功能说明
Download
下载MCU程序
Erase
擦除程序存储器
ConfigureFlashTools...
打开配置工具
6.Debug菜单
Debug菜单中的命令大多用于仿真调试过程中,提供了断点、调试方式及逻辑分析等功能。
Debug菜单各个命令的功能如表A-6所示。
表A-6Debug菜单
菜单命令
工具条
快捷键
功能说明
Start/StopDebugSession
Ctrl+F5
开始/停止仿真调试模式
ResetCPU
复位CPU(MCU)
Run
F5
运行程序,直到遇到一个断点
Stop
停止运行程序
Step
F11
单步执行程序,遇到子程序则进入
Stepover
F10
单步执行程序,跳过子程序
Stepout
Ctrl+F11
程序执行到当前函数的结束
RuntoCursorline
Ctrl+F10
程序执行到光标所在行
ShowNextStatement
显示下一条指令
Breakpoints
Ctrl+B
打开断点对话框
Insert/RemoveBreakpoint
F9
设置/取消当前行的断点
Enable/DisableBreakpoint
Ctrl+F9
使能/禁止当前行的断点
DisableAllBreakpoints
禁用所有断点
KillAllBreakpoints
Ctrl+Shift+F9
取消所有断点
OSSupport
打开查看事件、任务及系统信息的子菜单
ExecutionProfiling
打开一个带有配置选项的子菜单
MemoryMap
打开存储器空间配置对话框
InlineAssembly
对某一行进行重新汇编,可以修改汇编代码
FunctionEditor(OpenIniFile)
编辑调试函数和调试配置文件
DebugSettings
设置调试参数
7.Peripherals菜单
Peripherals菜单提供了MCU各种硬件资源的仿真对话框。
这里的所有命令都只在仿真调试环境下才显示并可以使用,而且显示的资源内容随用户选择的MCU型号的不同而不同。
这里列出一些常用到的Peripherals菜单命令的功能,如表A-7所示。
表A-7Peripherals菜单
菜单命令
功能说明
Interrupt
打开中断仿真对话框
I/OPorts
打开并行端口仿真对话框
Serial
打开串口仿真对话框
Timer
打开定时器仿真对话框
Watchdog
打开看门狗仿真对话框
A/DConverter
打开A/D转换器仿真对话框
D/AConverter
打开D/A转换器仿真对话框
I²CController
打开I2C总线控制器仿真对话框
CANController
打开CAN总线控制器仿真对话框
8.Tools菜单
Tools菜单提供了一些第三方软件的支持,例如PC-Lint。
用户需要额外安装相应的软件才可以使用。
Tools菜单一般使用得比较少,这里仅列出各个命令的功能,如表A-8所示。
表A-8Tool菜单
菜单命令
功能说明
Set-upPC-Lint
配置PC-Lint程序
Lint
用PC-Lint程序处理当前编辑的文件
LintAllC-SourceFiles
用PC-Lint程序处理项目中所有的C源代码文件
CustomizeToolsMenu...
自定义工具菜单
9.SVSC菜单
SVSC菜单提供了程序的版本控制,该菜单下仅包括“ConfigureVersionControl”一个命令,用于配置软件版本。
另外,Windows菜单下提供了对工作区窗口布局的管理,Help菜单提供了一些帮助信息,这里不再具体介绍。
附A.2KeilμVision4汇编语言程序的调试方法
KeilμVision4集成开发环境中包括一个项目管理器,它可以使基于80C51内核的MCU应用系统设计变得简单。
要创建一个应用,需要按下列步骤操作:
1.启动KeilμVision4,新建一个项目文件并从器件库中选择一个器件;
2.新建一个源文件并把它加入到项目中;
3.设置目标硬件选项;
4.编译项目并生成可以编程到程序存储器的HEX文件;
5.软件模拟调试及下载到MCU中进行仿真调试。
下面通过一个实例,详细介绍如何在KeilμVision4集成开发环境中调试80C51系列MCU的汇编语言程序。
【例A-1】假设晶振频率为11.0592MHz,将MCU片外RAM中40H—5FH单元中的内容全部移到片内相同地址区域,并将原数据区全部清零。
附A.2.1启动KeilμVision4并创建一个项目
双击桌面KeilμVision4程序图标或单击开始菜单中的KeilμVision4程序项,启动KeilμVision4集成开发环境。
要新建一个项目文件,可以从KeilμVision4的Project菜单中选择“NewProject”项,打开“CreateNewProject”对话框,如图A-7所示。
图A-7“CreateNewProject”对话框
在此对话框的“文件名”栏中输入项目文件名。
建议为每一个项目建立一个独立的文件夹。
首先,在下拉列表中选择要保存的位置,最好选择逻辑盘D或E(不要保存在系统盘C,避免因系统重新安装而丢失文件)。
单击“新建文件夹”,,得到一个空文件夹,给该文件夹重命名为“test”(文件夹的名字最好能够体现项目名称)。
双击该文件夹,在“文件名(N)”栏中输入项目的名称,如“movedata”,创建一个文件名为“movedata.uvproj”的新项目文件。
单击“保存(S)”按钮,将弹出“SelectDeviceforTarget‘Target1’”对话框,提示为项目选择一个MCU。
在该对话框中,“Database”列表框中显示出各个MCU的生产商。
首先找到选用的MCU生产商,单击前面的“+”号,显示出KeilμVision4所支持的该公司的MCU型号列表,单击其中选定的MCU型号。
如本例中,选择Atmel公司的型号为AT89S52的MCU,如图A-8所示。
图A-8“SelectDeviceforTarget‘Target1’”对话框
单击“OK”按钮,弹出如图A-9所示的对话框,提示是否将标准8051启动代码复制到项目文件夹中并将该文件添加到项目中去。
图A-9复制启动代码提示对话框
在KeilμVision4中,启动代码在复位目标系统后立即被执行。
启动代码主要实现以下功能:
★清除内部数据存储器;
★清除外部数据存储器;
★清除外部页存储器;
★初始化small模式下的可重入栈和指针;
★初始化large模式下的可重入栈和指针;
★初始化compact模式下的可重入栈和指针;
★初始化8051硬件栈指针;
★传递初始化全局变量的控制命令或者在没有初始化全局变量时给main函数传递命令。
在每一个启动文件中,提供了可供用户自己修改有来控制程序执行的汇编常量。
如果只是调试简单程序,可以选择“否(N)”,如果项目复杂可选择“是(Y)”。
用户可根据需要修改启动代码,但一般不建议修改启动代码。
附A.2.2新建一个源文件并把它加入到项目中
从“File”菜单中选择“New”项新建一个源文件,或者单击工具栏上的按钮
,打开一个空白的编辑窗口,用户可以输入程序源代码。
输入以下程序源代码:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Keil Vision4 集成 开发 环境 语言程序设计
![提示](https://static.bdocx.com/images/bang_tan.gif)