Keil软件及其调试功能简介
- 格式:doc
- 大小:25.00 KB
- 文档页数:3
Keil 的调试命令、在线汇编与断点设置上一讲中我们学习了如何建立工程、汇编、连接工程,并获得目标代码,但是做到这一步仅仅代表你的源程序没有语法错误,至于源程序中存在着的其它错误,必须通过调试才能发现并解决,事实上,除了极简单的程序以外,绝大部份的程序都要通过反复调试才能得到正确的结果,因此,调试是软件开发中重要的一个环节,这一讲将介绍常用的调试命令、利用在线汇编、各种设置断点进行程序调试的方法,并通过实例介绍这些方法的使用。
一、常用调试命令在对工程成功地进行汇编、连接以后,按Ctrl+F5 或者使用菜单Debug->Start/Stop Debug Session 即可进入调试状态,Keil 内建了一个仿真CPU 用来模拟执行程序,该仿真CPU 功能强大,可以在没有硬件和仿真机的情况下进行程序的调试,下面将要学的就是该模拟调试功能。
不过在学习之前必须明确,模拟毕竟只是模拟,与真实的硬件执行程序肯定还是有区别的,其中最明显的就是时序,软件模拟是不可能和真实的硬件具有相同的时序的,具体的表现就是程序执行的速度和各人使用的计算机有关,计算机性能越好,运行速度越快。
进入调试状态后,界面与编缉状态相比有明显的变化,Debug 菜单项中原来不能用的命令现在已可以使用了,工具栏会多出一个用于运行和调试的工具条,如图 1 所示,Debug 菜单上的大部份命令可以在此找到对应的快捷按钮,从左到右依次是复位、运行、暂停、单步、过程单步、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮等命令。
? 图1 调试工具条学习程序调试,必须明确两个重要的概念,即单步执行与全速运行。
全速执行是指一行程序执行完以后紧接着执行下一行程序,中间不停止,这样程序执行的速度很快,并可以看到该段程序执行的总体效果,即最终结果正确还是错误,但如果程序有错,则难以确认错误出现在哪些程序行。
keil使用介绍-回复Keil使用介绍Keil是一款广泛应用于嵌入式系统开发中的集成开发环境(IDE),其提供了一套全面的工具链,包括了编译器、汇编器、调试器以及仿真器等,帮助开发人员进行嵌入式软件的开发与调试。
本文将一步一步地介绍Keil 的安装、项目创建、编译与调试等相关操作,以帮助初学者快速上手使用Keil进行嵌入式开发。
一、Keil的安装1. 下载Keil安装包:首先,我们需要从Keil官方网站上下载合适的Keil安装包。
根据自己所使用的嵌入式处理器类型,选择对应的Keil版本进行下载。
2. 运行安装程序:下载完成后,双击安装程序进行安装。
按照安装程序的引导,选择安装路径和组件安装选项等,然后等待安装完成。
3. 激活Keil许可证:安装完成后,首次打开Keil时,系统会要求激活Keil许可证。
根据提示输入许可证信息,完成激活过程。
二、Keil项目创建1. 新建项目:打开Keil,点击菜单栏的“Project”选项,然后选择“New Project”来创建一个新的项目。
2. 选择处理器类型:在弹出的对话框中,选择适用于您的嵌入式处理器的型号。
如果您的处理器不在列表中,您可以选择最接近的型号。
3. 选择存储路径:在下一个对话框中,选择您想要存储项目的路径,并给您的项目命名。
单击“Save”按钮进行保存。
4. 配置工程选项:在项目创建完成后,Keil会自动打开“Options for Target”窗口。
在该窗口中,您可以配置项目的各项参数,包括编译器设置、目标设备选项和调试设置等。
三、Keil编写与编译1. 新建源文件:在项目资源管理器中,右键单击项目名称,选择“Add New Item”来添加新的源文件。
您可以选择添加C文件、汇编文件或者其他类型的源文件。
2. 编写源代码:双击新建的源文件,进入编辑器界面,开始编写您的嵌入式软件代码。
3. 编译项目:在Keil菜单栏中选择“Project”选项,然后选择“Build target”来编译您的项目。
keil的几种编译模式Keil是一种功能强大的集成开发环境(IDE),用于嵌入式系统的软件开发。
它具有多种编译模式,每个模式具有不同的功能和用途。
下面将介绍Keil的几种主要编译模式。
1.仿真模式(Simulator)仿真模式是Keil IDE的默认模式,它允许开发人员在不依赖硬件平台的前提下进行软件开发和调试。
在仿真模式下,Keil IDE将会在主机计算机上模拟目标硬件平台上的处理器和其他外设。
仿真模式提供了一个完整的仿真环境,包括代码调试和性能分析等功能。
2.软件仿真模式(Software Simulation)软件仿真模式是Keil IDE中的一项特殊功能,它允许开发人员在不依赖于硬件的前提下运行和测试软件。
该模式通过在主机计算机上模拟目标处理器的指令集和外设行为,实现了对软件在不同运行条件下的模拟和分析。
软件仿真模式对于开发和测试对硬件资源要求较高的软件非常有用。
3.制作和运行模式(Build and Run)制作和运行模式是Keil IDE的另一种常用模式,它允许开发人员快速地对软件进行编译和运行。
在制作和运行模式下,Keil IDE会对整个工程进行编译,并将生成的二进制文件下载到目标硬件平台上进行运行。
该模式非常适用于快速验证软件的功能和性能。
4.下载模式(Download)下载模式是Keil IDE的一种特殊模式,它用于将编译生成的二进制文件下载到目标硬件平台上进行调试和测试。
在下载模式下,Keil IDE会通过连接器和下载器与目标硬件平台通信,将二进制文件下载到目标设备的存储器中。
下载模式通常与仿真模式或制作和运行模式配合使用。
5.适配模式(Adaptation)适配模式是Keil IDE的一种特殊模式,它用于针对不同的硬件平台进行软件适配和调试。
在适配模式下,Keil IDE会根据目标硬件平台的特性和要求,对软件进行适配和优化。
适配模式通常需要开发人员对目标硬件平台的底层驱动程序和外设进行了解和掌握。
keil调试汇编语言Keil是一款广泛用于嵌入式系统开发的集成开发环境(IDE),它支持多种编程语言,包括C语言和汇编语言。
在Keil中进行汇编语言的调试需要编写汇编代码以及在IDE中配置相关设置,接下来我将详细介绍如何在Keil中调试汇编语言。
首先,要在Keil中调试汇编语言,我们需要创建一个新的Keil 项目或者打开一个已有的项目。
在创建新项目或打开项目后,我们可以在项目中添加一个汇编文件,用于编写我们的汇编代码。
在Keil中,汇编文件的后缀通常为.asm,我们可以通过右键点击项目中的文件夹,选择添加→新建文件(或者通过快捷键Ctrl+N)来创建一个新的汇编文件。
创建好汇编文件后,我们可以在文件中编写我们的汇编代码。
在编写汇编代码时,我们需要注意汇编语言的语法和指令格式。
汇编语言的语法因不同的体系结构而异,比如x86汇编语言与ARM汇编语言的语法就有所不同。
因此,在编写汇编代码前,我们需要先了解目标平台的体系结构和相应的汇编语法标准。
在汇编代码中,我们可以使用一系列的汇编指令来进行数据的移动、运算和控制流的操作。
例如,通过MOV指令可以实现数据的移动,通过ADD指令可以实现数据的加法运算,通过CMP指令可以实现数据的比较等。
汇编指令的具体使用方法和参数取决于具体的体系结构和处理器指令集。
编写完汇编代码后,我们需要在Keil中配置一些相关设置,以便能够进行调试。
首先,我们需要在项目属性中设置汇编语言的编译器和链接器选项。
在Keil的项目目录视图中,右键点击项目名称,选择选项,并在弹出的对话框中选择正确的编译器和链接器。
其次,我们需要在Keil的启动文件(startup file)中设置相应的中断向量表和启动代码。
启动文件位于项目文件夹的"startup"子文件夹中,可以通过将文件拖放到Keil编辑器中打开。
在启动文件中,我们需要找到中断向量表和启动代码的位置,并将其修改为适用于我们的汇编代码的中断向量表和启动代码。
Keil 的调试命令、在线汇编与断点设置上一讲中我们学习了如何建立工程、汇编、连接工程,并获得目标代码,但是做到这一步仅仅代表你的源程序没有语法错误,至于源程序中存在着的其它错误,必须通过调试才能发现并解决,事实上,除了极简单的程序以外,绝大部份的程序都要通过反复调试才能得到正确的结果,因此,调试是软件开发中重要的一个环节,这一讲将介绍常用的调试命令、利用在线汇编、各种设置断点进行程序调试的方法,并通过实例介绍这些方法的使用。
一、常用调试命令 在对工程成功地进行汇编、连接以后,按Ctrl+F5或者使用菜单Debug->Start/Stop DebugSession 即可进入调试状态,Keil 内建了一个仿真CPU 用来模拟执行程序,该仿真CPU 功能强大,可以在没有硬件和仿真机的情况下进行程序的调试,下面将要学的就是该模拟调试功能。
不过在学习之前必须明确,模拟毕竟只是模拟,与真实的硬件执行程序肯定还是有区别的,其中最明显的就是时序,软件模拟是不可能和真实的硬件具有相同的时序的,具体的表现就是程序执行的速度和各人使用的计算机有关,计算机性能越好,运行速度越快。
进入调试状态后,界面与编缉状态相比有明显的变化,Debug 菜单项中原来不能用的命令现在已可以使用了,工具栏会多出一个用于运行和调试的工具条,如图1所示,Debug 菜单上的大部份命令可以在此找到对应的快捷按钮,从左到右依次是复位、运行、暂停、单步、过程单步、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮等命令。
学习程序调试,必须明确两个重要的概念,即单步执行与全速运行。
全速执行是指一行程序执行完以后紧接着执行下一行程序,中间不停止,这样程序执行的速度很快,并可以看到该段程序执行的总体效果,即最终结果正确还是错误,但如果程序有错,则难以确认错误出现在哪些程序行。
实验一使用Keil输入和调试程序(一)实验目的:通过实验掌握Keil C51集成开发环境输入程序和调试程序的方法。
(二)实验仪器:计算机一台STC12学习板一套STC单片机仿真器一套USB连接电缆一根(三)实验内容及步骤:Keil C51 IDE又叫Keil集成开发环境或Keil C51μVision3。
实验要求使用Keil集成开发环境完成实验程序的输入、调试。
Keil是以工程项目的方法管理文件。
所有的文件(源程序文件、头文件和各种技术文档)都是放在工程项目里的统一管理。
下面通过一个实验程序学习使用Keil IDE建立应用程序和调试程序的步骤:✓新建一个工程项目。
✓为工程项目选择目标器件。
✓建立源程序文件,输入程序代码并保存。
将源程序文件添加到工程项目里。
✓为工程项目设置软件、硬件的调试环境。
✓输入、调试和运行实验程序。
要创建的工程项目是:设计一个程序,使学习板上的LED1灯闪亮,电路图如图2-1所示(在第14页)。
该实验工程项目的建立过程如下:1、启动Keil C51的IDE开发环境并建立一个工程项目双击计算机桌面上的Keil C51 IDE图标即可启动Keil C51 IDE开发环境。
如果以前已经建立了工程项目,Keil51 IDE启动后会直接显示原来打开的工程项目。
也可以打开原来已经存在的工程项目。
打开已经存在的项目方法是,从“Project”菜单中选择“Open Project”菜单项,从弹出的对话框中选择要打开的项目。
新建项目文件时,从“Project”菜单中选择“New Project”菜单项,将打开“Create New Project”对话框。
如图1-1所示。
在“Create New Project”对话框中做以下的工作:✧为工程项目选择一个存放路径,在此选择STC51文件夹(若计算机中没有STC51文件夹,则需要建立它)。
✧在文件名输入框里输入,这是为实验工程项目取的工程项目文件名(扩展名是.uv2)。
keil的mdk5使用手册Keil的MDK5(Microcontroller Development Kit 5)是一款为嵌入式开发人员提供的强大工具,它集成了开发所需的各种组件,包括编译器、调试器、仿真器等。
使用MDK5,开发者可以更高效地进行嵌入式系统的设计和开发。
首先,要使用MDK5,您需要先安装它。
安装过程相对简单,只需要按照安装向导的指示进行即可。
安装完成后,您可以通过Keil软件来创建一个新的项目。
在创建项目时,您需要选择您的目标硬件平台和微控制器型号。
接下来,您需要配置您的项目。
在项目配置中,您可以设置编译器的各种选项,例如优化级别、代码生成方式等。
此外,您还可以配置调试和仿真选项,例如选择使用的调试器、仿真器等。
在编写代码方面,MDK5支持多种编程语言,包括C和C++。
您可以使用Keil的代码编辑器来编写和编辑代码。
在编写代码时,您可以使用MDK5提供的各种库和函数,例如标准C库、微控制器特有库等。
编译和调试是嵌入式开发中非常重要的环节。
使用MDK5,您可以轻松地进行编译和调试。
您可以使用Keil的编译器将您的代码编译成可在微控制器上运行的二进制文件。
然后,您可以使用Keil的调试器来调试您的程序。
调试器提供了各种有用的功能,例如设置断点、单步执行、查看变量值等。
除了基本的编译和调试功能外,MDK5还提供了其他有用的工具和功能。
例如,您可以使用仿真器来模拟微控制器的行为。
此外,MDK5还支持多种外部设备,例如串行通信接口、模数转换器等。
这些设备可以通过Keil的设备驱动程序进行配置和使用。
总的来说,MDK5是一款功能强大、易于使用的嵌入式开发工具。
通过使用MDK5,您可以更高效地进行嵌入式系统的设计和开发。
无论您是初学者还是经验丰富的开发者,MDK5都能为您提供全面的支持和帮助。
Keil软件及其调试功能简介
目前流行的51系列单片机开发软件是德国Keil公司推出的Keil C51软件,它是一个基于32位Windows环境的应用程序,支持C语言和汇编语言编程,其6.0以上的版本将编译和仿真软件统一为μVision(通常称为μV2)。
Keil提供包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,由以下几部分组成:μVision IDE集成开发环境(包括工程管理器①、源程序编辑器②、程序调试器③,见图2)、C51编译器、A51汇编器、LIB51库管理器、BL51连接/定位器、OH51目标文件生成器以及Monitor-51、RTX51实时操作系统。
应用Keil进行软件仿真开发的主要步骤为:编写源程序并保存—建立工程并添加源文件—设置工程—编译/汇编、连接,产生目标文件—程序调试。
Keil使用“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。
工程的建立、设置、编译/汇编及连接产生目标文件的方法非常易于掌握。
首先选择菜单File-New…,在源程序编辑器中输入汇编语言或C语言源程序(或选择File-O pen…,直接打开已用其它编辑器编辑好的源程序文档)并保存,注意保存时必须在文件名后加上扩展名.asm(.a51)或.c;然后选择菜单Project-New Project…,建立新工程并保存(保存时无需加扩展名,也可加上扩展名.uv2);工程保存后会立即弹出一个设备选择对话框,选择CPU后点确定返回主界面。
这时工程管理窗口的文件页(Files)会出现“Target1”,将其前面+号展开,接着选择Source Group1,右击鼠标弹出快捷菜单,选择“Add File to Group ‘Source Group1’”,出现一个对话框,要求寻找并加入源文件(在加入一个源文件后,该对话框不会消失,而是等待继续加入其它文件)。
加入文件后点close返回主界面,展开“Source Group1”前面+号,就会看到所加入的文件,双击文件名,即可打开该源程序文件。
紧接着对工程进行设置,选择工程管理窗口的Target1,再选择Project-Option for Target‘Target1’(或点右键弹出快捷菜单再选择该选项),打开工程属性设置对话框,共有8个选项卡,主要设置工作包括在Target选项卡中设置晶振频率、在Debug选项卡中设置实验仿真板等,如要写片,还必须在Output选项卡中选中“Creat Hex Fi”;其它选项卡内容一般可取默认值。
工程设置后按F7键(或点击编译工具栏上相应图标)进行编译/汇编、连接以及产生目标文件。
成功编译/汇编、连接后,选择菜单Debug-Start/Stop Debug Session(或按Ctrl+F5键)进入程序调试状态,Keil提供对程序的模拟调试功能,内建一个功能强大的仿真CPU以模拟执行程序。
Keil能以单步执行(按F11或选择Debug-Step)、过程单步执行(按F10或选择Debug-Step Over)、全速执行等多种运行方式进行程序调试。
如果发现程序有错,可采用在线汇编功能对程序进行在线修改(Debug-Inline Assambly…),不必执行先退出调试环境、修改源程序、对工程重新进行编译/汇编和连接、然后再次进入调试状态的步骤。
对于一些必须满足一定条件(如按键被按下等)才能被执行的、难以用单步执行方式进行调试的程序行,可采用断点设置的方法处理(Debug-Insert/Remove Breakpoint或Debug-Breakpoints…等)。
在模拟调试程序后,还须通过编程器将.hex目标文件烧写入单片机中才能观察目标样机真实的运行状况。
Keil软件Eval版(免费产品)的功能与商业版相同,只是程序的最大代码量不得超过2kB,但对初学者而言已是足够。
Keil软件由于其
强大的软件仿真功能,友好的用户界面以及易于掌握的特点而受到工程技术人员的欢迎,有人甚至认为Keil是目前最好的51单片机开发应用软件。
51单片机数字实验室的应用实例
运用Keil软件并结合数字外围器件只需在PC机上便可进行单片机实验(可称为数字实验室方式),下面以两个实例来说明运用Keil软件进行程序调试(软件模拟仿真)的过程。
例1:单片机(80C51)晶振频率为12MHz,利用T0方式0产生5ms的定时,在P1.0引脚上输出10ms的方波
按前面所述方法步骤对源程序成功汇编、连接后按Ctrl+F5键进入程序调试,再选择菜单Peripherals-I/O-Ports-Port 1打开P1口参数窗口显示P1口状态,选择Peripherals-Timer-Timer 0打开定时器T0窗口显示其参数;这里采用断点调试方式,在中断服务子程序第一行设置断点,出现红色标记,如图3所示。
点击调试工具栏上的Run(运行)按钮,程序执行到断点处停止,如连续点击运行则可从Port1窗口观察到P1.0引脚电平值的变化(1-0-1-…),而此时Regs(寄存器)窗口中的sec值即为定时时间(按5ms幅度递增,会有误差)。
显然该例需要实验者根据P1口(P1.0)的值来对输出的方波进行想象,并不直观。
例2:数字实验仿真板的应用:流水灯实验
针对Keil的软件仿真器,有人提出了利用VC++编写动态链接库仿真单片机外围器件的思路和方法;另有人设计开发了几个外围器件数字实验仿真板,这些实验仿真板相当于是Keil μVersion2仿真环境下的dll插件。
如键盘、LED显示实验仿真板(ledkey.dll)、带有数码管的实验仿真板(simboard.dll)等,见图4所示。
以ledkey仿真板为例,它采用Atmel89C51单片机(含有4kBFLASH ROM)作为主芯片,P1引脚上接8个发光二极管,P3.2-3.5引脚上接4个按钮开关。
安装数字仿真实验板时只需将实验仿真板文件(*.dll)复制到Keil软件的KeilC51Bin文件夹即可。
在使用实验仿真板之前还需对工程进行设置,先选择工程管理窗口的Target1,再选择Project-Option for Target ‘Target1’,打开对话框,选择Debug选项卡,在其左下角的Parameter文本框中输入“-d”和文件名,如使用ledkey.dll实验仿真板,就输入“-dledkey”(整个文本框内容为:-p51 -dledkey),然后点确定即可。
进入程序调试后点击菜单Peripherals,就会看到多出一项“键盘LED仿真板(K)”,选择该项,就会出现图4所示ledkey实验仿真板界面。
流水灯实验是最常见的单片机实验之一,这里我们要实现用单片机控制图4ledkey仿真板上8个LED依次循环发光。
应用Keil 软件,按照步骤进入程序调试状态,并点击菜单Peripherals打开ledkey仿真板,然后运行程序,可通过观察仿真板上灯光的变化,检查程序的正确与否,非常形象生动,而不必再依靠对P1口的值进行观察想象,有助于初学者对单片机基本知识的掌握和激发学习的热情。