摘要:在数字信息技术和网络技术高速发展的今天,嵌入式系统已经广泛地渗透到人们的日常生活等方方面面中。而在嵌入式系统开发流程中调试是一个相当重要的环节.调试器是衡量一个系统开发环境优劣的重要因素。嵌入式系统的特点决定了发过程中交叉调试的必然性。
本论文的主要工作是对当前两种主流的交叉调试技术即目标监控程序调试技术和片上调试技术进行研究与实现,之后对目前在嵌入式系统开发中常用的硬件调试方法ICE、BDM、JTAG的实现原理、系统结构作了详细的分析。在目标监控程序调试技术方面,根据Windows CE目标监控程序调试技术的总体框架对几个主要组成部分的具体实现进行详细地阐述。在片上调试技术方面,根据JTAG 片上调试技术的总体框架对各个组成部分进行具体实现。
关键词:交叉调试, ICE,JTAG
1、 嵌入式系统的概述和各种调试手段
嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及运行在嵌入式操作系统上的执行特定功能的各种应用软件四个部分组成。一个嵌入式系统通常涉及对硬件的直接控制,并限于某些特定的功能。
嵌入式系统自底向上包括4 个主要部分:硬件环境、硬件抽象层、嵌入式操作系统和嵌入式应用程序。硬件抽象层将系统上层软件与底层硬件分离开来。使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据硬件抽象层提供的接口即可进行开发。当操作系统或应用程序使用硬件抽象层API 进行设计时。只要硬件抽象层API能够在下层硬件平台上实现,那么操作系统和应用程序的代码就可以移植。
硬件系统的调试:嵌入式系统的调试包括硬件调试、软件调试。硬件系统是软件系统调试的基本保障。如果不能确定硬件平台的正确性,调试过程中就不知道是软件系统出错还是硬件系统的错误。所以我们在调试软件系统的时候要尽量确保硬件系统模块的正确性。针对目标平台上的各个硬件模块,我们通常采用逐一测试调试的方法进行,通过常用的电子元件的测试仪器,像万用表、示波器等进行电气参数的测试与调试。
1)排除逻辑故障
这类故障往往由于设计和加工制板过程中工艺性错误所造成的。主要包括错线、开路、短路。排除的方法是首先将加工的印制板认真对照原理图.看两者是否一致。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线(地址总线、数据总线和控制总线)是否存在相互之间短路或与其它信号线路短路。必要时利用数字万用表的短路测试功能,可以缩短排错时间。
2)排除元器件失效
造成这类错误的原因有两个:一个是元器件买来时就已坏了;另一个是由于安装错误,造成器件烧坏。可以采取检查元器件与设计要求的型号、规格和安装是否一致。在保证安装无误后,用替换