Keil软件及其调试功能简介

合集下载

Keil 的调试命令、在线汇编与断点设置

Keil 的调试命令、在线汇编与断点设置

Keil 的调试命令、在线汇编与断点设置上一讲中我们学习了如何建立工程、汇编、连接工程,并获得目标代码,但是做到这一步仅仅代表你的源程序没有语法错误,至于源程序中存在着的其它错误,必须通过调试才能发现并解决,事实上,除了极简单的程序以外,绝大部份的程序都要通过反复调试才能得到正确的结果,因此,调试是软件开发中重要的一个环节,这一讲将介绍常用的调试命令、利用在线汇编、各种设置断点进行程序调试的方法,并通过实例介绍这些方法的使用。

一、常用调试命令在对工程成功地进行汇编、连接以后,按Ctrl+F5 或者使用菜单Debug->Start/Stop Debug Session 即可进入调试状态,Keil 内建了一个仿真CPU 用来模拟执行程序,该仿真CPU 功能强大,可以在没有硬件和仿真机的情况下进行程序的调试,下面将要学的就是该模拟调试功能。

不过在学习之前必须明确,模拟毕竟只是模拟,与真实的硬件执行程序肯定还是有区别的,其中最明显的就是时序,软件模拟是不可能和真实的硬件具有相同的时序的,具体的表现就是程序执行的速度和各人使用的计算机有关,计算机性能越好,运行速度越快。

进入调试状态后,界面与编缉状态相比有明显的变化,Debug 菜单项中原来不能用的命令现在已可以使用了,工具栏会多出一个用于运行和调试的工具条,如图 1 所示,Debug 菜单上的大部份命令可以在此找到对应的快捷按钮,从左到右依次是复位、运行、暂停、单步、过程单步、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮等命令。

? 图1 调试工具条学习程序调试,必须明确两个重要的概念,即单步执行与全速运行。

全速执行是指一行程序执行完以后紧接着执行下一行程序,中间不停止,这样程序执行的速度很快,并可以看到该段程序执行的总体效果,即最终结果正确还是错误,但如果程序有错,则难以确认错误出现在哪些程序行。

keil使用介绍 -回复

keil使用介绍 -回复

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设置及调试程序的方法

2) 按“运行到光标处”命令后, 运行到光标处”命令后, 按下key1(p3.2/int0)按钮后 PC指针停 按下key1(p3.2/int0)按钮后, PC指针停 按钮后, 到预置光标处, 到预置光标处,说明已经进入中断服务程 中断正常。 序,中断正常。 3)而后,按“运行”命令,连续运行。 而后, 断点方式不能调试中断程序。 断点方式不能调试中断程序 不能调试中断程序。 必须按“ 2) 断点方式调试必须按“运行”命令。 断点方式调试必须按 运行”命令。 3) PC指针停到断点处后,可以检查中间结果, PC指针停到断点处后 可以检查中间结果, 指针停到断点处后, 而后,可以继续“运行”或单步执行, 而后,可以继续“运行”或单步执行,直到程序 执行结束。 执行结束。
调试中断程序举例
按下key1(p3.2/int0)按钮后, 按下key1(p3.2/int0)按钮后, key1(p3.2/int0)按钮后 PC指针停到预置光标处 指针停到预置光标处, PC指针停到预置光标处,说明 已经进入中断服务程序, 已经进入中断服务程序,中断 正常. 正常.
1) 光标放在中断服务程序的 第一条可执行指令处
使用 Keil Monitor-51 Drive2
设置:串行口COM1或 设置:串行口COM1或COM2
调试程序的方法
单步方式: 单步方式: 步进:跟踪 步进: 步越:单步---子程序当一步执行 步越:单步---子程序当一步执行 连续执行方式: 连续执行方式: 运行 断点连续执行方式: 断点连续执行方式: 1)设置断点 2)执行“运行”命令 执行“运行” 运行到光标处:调试中断最佳方式 运行到光标处: 1)光标指到要停处 2)按“运行到光标处”命令 运行到光标处”
pc指针停到断点处后可以检查中间结果指针停到断点处后可以检查中间结果而后可以继续运行或单步执行直到程序而后可以继续运行或单步执行直到程序执行结束

keil的几种编译模式

keil的几种编译模式

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使用简介》PPT课件

《Keil使用简介》PPT课件

Keil的主要特点
集成开发环境
Keil提供了完整的开发流程所需 的工具,如代码编辑器、编译 器、调试器等。
支持多种处理器
Keil支持多种嵌入式处理器,如 8051、ARM、Cortex-M等。
高效的编译和调试
Keil的编译器和调试器具有高效 的编译和调试功能,可以帮助 开发者快速开发和调试嵌入式 系统。
调试器
用于程序的调试,可以实时监控程序运行 状态,查看变量值、寄存器等信息,支持 断点调试等功能。
工具栏
提供了常用的快捷方式,方便用户快速操 作。
编辑器
用于编写和编辑代码,支持C/C、汇编等 多种语言。
项目管理器
用于管理项目文件和源代码文件,可方便 地进行文件的添加、删除和重命名等操作 。
Keil的基本使用流程
解决方案二
检查Keil的安装路径是否 正确,避免使用中文路径 。
解决方案三
尝试重新安装Keil,确保 下载的版本与自己的操作 系统版本相符。
常见问题二:Keil编译错误或链接错误
解决方案一
检查源代码中是否有语法错误或 拼写错误。
解决方案二
确认项目设置中的编译选项和链 接选项是否正确。
解决方案三
尝试清理Keil的构建缓存,然后 重新编译。
调试环境设置
详细说明如何设置调试环境,包 括目标设备选择、调试器配置、 连接设置等。
Keil的调试功能及使用方法
01
02
03
调试功能简介
介绍Keil提供的调试功能 ,如断点设置、单步执行 、变量观察、内存查看等 。
调试流程
详细描述使用Keil进行调 试的基本流程,包括启动 调试、暂停/恢复、停止调 试等操作。

keil调试 汇编语言

keil调试 汇编语言

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实例教程(二)Keil调试,在线汇编,断点设置

Keil实例教程(二)Keil调试,在线汇编,断点设置

Keil 的调试命令、在线汇编与断点设置上一讲中我们学习了如何建立工程、汇编、连接工程,并获得目标代码,但是做到这一步仅仅代表你的源程序没有语法错误,至于源程序中存在着的其它错误,必须通过调试才能发现并解决,事实上,除了极简单的程序以外,绝大部份的程序都要通过反复调试才能得到正确的结果,因此,调试是软件开发中重要的一个环节,这一讲将介绍常用的调试命令、利用在线汇编、各种设置断点进行程序调试的方法,并通过实例介绍这些方法的使用。

一、常用调试命令 在对工程成功地进行汇编、连接以后,按Ctrl+F5或者使用菜单Debug->Start/Stop DebugSession 即可进入调试状态,Keil 内建了一个仿真CPU 用来模拟执行程序,该仿真CPU 功能强大,可以在没有硬件和仿真机的情况下进行程序的调试,下面将要学的就是该模拟调试功能。

不过在学习之前必须明确,模拟毕竟只是模拟,与真实的硬件执行程序肯定还是有区别的,其中最明显的就是时序,软件模拟是不可能和真实的硬件具有相同的时序的,具体的表现就是程序执行的速度和各人使用的计算机有关,计算机性能越好,运行速度越快。

进入调试状态后,界面与编缉状态相比有明显的变化,Debug 菜单项中原来不能用的命令现在已可以使用了,工具栏会多出一个用于运行和调试的工具条,如图1所示,Debug 菜单上的大部份命令可以在此找到对应的快捷按钮,从左到右依次是复位、运行、暂停、单步、过程单步、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮等命令。

学习程序调试,必须明确两个重要的概念,即单步执行与全速运行。

全速执行是指一行程序执行完以后紧接着执行下一行程序,中间不停止,这样程序执行的速度很快,并可以看到该段程序执行的总体效果,即最终结果正确还是错误,但如果程序有错,则难以确认错误出现在哪些程序行。

单片机Keil软件仿真与调试技巧

单片机Keil软件仿真与调试技巧
万方数据
图5程序调试运行 调试程序时的程序运行控制按钮从左到右依次 为复位、连续运行,暂停、单步、过程单步、执行 完当前子程序、运行到光标当前行。复位按钮模拟 芯片的复位,它将使程序回到最开头处执行。当程 序处于停止状态时复位才有效,程序处于运行状态 时停止按钮才有效。 ①为了方便观察程序调试过程中各变量和
琵稳焉击——————————]Ⅲ阴
单片机Keil软件仿真与调试技巧
一、引言
弹出图1窗口.自动进入编辑工作模式。
单片机软件开发过程中,软件调试遇到的各种 问题常令初学者感到不知所措。实际上.各种仿真 开发软件的程序调试基本方法和技巧大同小异,掌 握正确的程序调试基本技巧。对于排查这些程序错 误问题可以起到举一反三、事半功倍的效果。软件 调试是单片机技术人员必须掌握的重要基本技能。 下面以单片机常用开发软件Keil为例,通过一个项 目任务实例来介绍单片机软件仿真与调试的方法。
二、Keil仿真与调试
点击运行软件Keil uVision2。其调试操作步骤 大体可以分为5步:
1.创建工程 在项目开发中,并不是仅有一个用户源程序就 够了,还要为这个项目选择CPU型号、设置编译和 调试参数.有一些项目还会有多个文件组成。因此 将这些参数设置和所需要的所有文件统称为一个工 程,存放于专门的工程文件夹下。这里先建立一个 工程文件夹如F:kexam。 ①创建新工程。鼠标左键单击主菜单Project一 >New Project。弹出。Create New Project”对话框, 用鼠标选择你要保存工程的文件夹(如FAexam), 输入新工程名(如。exam”).单击。保存”按键。 ②在随后弹出的CPU型号设置对话框中选择 单片机的型号(如。AT89C51”),单击“确定”完 成。
电孑舅作 51
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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口的值进行观察想象,有助于初学者对单片机基本知识的掌握和激发学习的热情。

相关文档
最新文档