您当前的位置:五五电子网电子知识电子学习基础知识电脑-单片机-自动控制单片机系统的调试 正文
单片机系统的调试

单片机系统的调试

点击数:7984 次   录入时间:03-04 11:46:02   整理:http://www.55dianzi.com   电脑-单片机-自动控制

  1.单片机系统的调试概述

  调试是单片机系统开发的一个重要环节。在开发过程中,调试所需要的工作量往往比纯代码的编写要大得多,因此一个强大高效的开发工具与方法可以起到事半功倍的作用。此处以uVision4为背景介绍8051单片机的调试,其它种类的单片机调试也与之类似。在μVision4调试器中,提供了两种类型的调试模式:软件仿真模式和AGDI目标接口模式,如下图所示。43

65

  在没有实际目标硬件或者硬件尚未准备好之前,我们可以使用软件仿真器进行模拟调试,如上图所示,选中“UseSimula-tor”即可。μVision4可以模拟串口、输入输出端口、定时器等多种片上外设,其具体类型由选定的微控制器来确定。

  在有硬件目标设备的情况下,通常采用AGDI目标接口模式进行调试。该模式下支持的调试设备主要有

  (1)JTAG/OCDS调试器。它可以连接到单片机的片上调试系统,不过支持这种调试方式的8051单片机并不多,其中SILIConLabs公司(原Cygnal)的C8051F系列微控制器就是比较出众的一款。

  (2)Monitor监视器。它通常以软件方式存放在用户的目标板上,配合KeilMonitor51或类似的驱动器,一般通过串口,就可以完成系统的调试任务。如SST、NXP等公司的部分8051单片机还提供了相应的目标监控程序,方便用户使用,这种方式近年来在国内市场上的廉价单片机仿真器中非常常见。不过这种模式存在几个不足,其一是调试速度慢,只能应付较简单的用户程序;其二是会占用少量的目标资源,用户不能与之冲突,调试时必须注意到这一情况;其三是这种调试模式一般不能直接固化用户代码而无法脱机运行,仍需切换环境重新对微控制器编程下载,操作不够方便。(3)Emulator硬件仿真器模式。大多第三方的硬件仿真器都是采用这种方式,直接连接到目标硬件的8051单片机引脚上,仿真速度快,但是价格高。

  (4)In-SystemDebugger在系统调试模式。一套Keil提供的C调试函数,配合KeillSD51In-SystemDebugger驱动器,可以提供基本的测试功能。这种方式的好处在于这些调试函数是作为用户应用程序的一部分而存在,不需要像Monitor模式来回切换,但是其功能有限而且起点偏高,不适合入门者使用。

  但是很多情况下,8051单片机调试时上述的4种调试模式因种种原因都用不上,怎么办呢?大部分用户就采用软件模拟+ISP反复编程方式,直接检查运行结果,以此达到调试目的。反复ISP编程既容易损坏单片机,同时效率也较低,软件模拟局限的最大问题在于它只能模拟片上外设,对片外硬件无法仿真。能较好地解决这一问题的方法就是引入Proteus,结合Keil,进行单片机系统的联合仿真调试,后面将着重介绍这一方式。

  2.μVision4软件仿真调试模式的使用

  生成绝对定位的目标代码后,选择软件仿真模式,按CTRI+F5,进入uVision的调试模式。调试模式是uVision的两大工作模式之一,其工作界面如下所示。43

  调试模式下,uVision4的工作窗口比编译模式下的多不少,相关的窗口可以通过View菜单选择查看,如下图所示。45

用的比较多的是源程序窗口、反汇编窗口、寄存器窗口、当前变量窗口以及调试命令窗口等。跟调试相关的控制命令可以通过Debug菜单选择,如下图所示。

65

为方便操作,列出与调试相关的工具栏图标或快捷键如下表所示。如果需要查看和修改单片机片上外设的工作状况,可以进入Peripherals菜单中酌情操作。

56

  断点是调试过程的一个强有力的工具,在源程序或者反汇编窗口中的当前程序行上设置断点是一个简单直观的设置方法,这种方法设置获得的断点都是执行类(E)断点。还有两类更为有效的断点设置可以通过按CtrI+B进入断点对话框实现,如下图所示。

76

从图中可以看出另两种断点分别是存储访问类(A)断点和条件类(C)断点。存储访问类断点可以通过选中上图中ACCess下的Read或Write属性未定义,当指定的存储单元访问发生时,此断点有效。在表达式栏输入条件表达式,可以得到条件类断点,当条件表达式为真时,条件断点有效。

  除断点外,指令跟踪也是一种重要有效的调试手段。指令跟踪可以记录出每步所运行的具体指令,供开发人员分析参考,记录下来的运行指令序列如下图所示。

54

  逻辑分析仪也是uVision4中一个比较出色的调试工具,它可以将变量值的变化以图形的方式显示出来。76

上图所示的波形为程序运行后P2.1端口输出的信号,为一方波,符合预期结果。点击逻辑分析仪窗口面板上的Setup按钮,可以对逻辑分析仪进行设置,其对话框如下图所示。

45




本文关键字:单片机  电脑-单片机-自动控制电子学习 - 基础知识 - 电脑-单片机-自动控制