嵌入式LINUX系统的静/动态集成调试模式

发布者:AdventureSeeker最新更新时间:2012-05-17 来源: 电子设计技术 关键字:嵌入式  LINUX系统  调试模式 手机看文章 扫描二维码
随时随地手机看文章

  现有的嵌入式LINUX系统开发过程中,所有的工程师都疲惫于使用两种不同的调试模式分别调试系统的内核和应用程序。首先通过一个JTAG调试工具来配置和启动LINUX系统;嵌入式LINUX系统正常运行起来后,就要通过GDB来继续调试工作。

  LAUTERBACH公司综合了上述两种传统调试技术特长提供了一种新的LINUX调试技术。

图1静态调试模式

  本文以ARM架构上的LINUX系统开发为例,详细介绍和对比这三种不同的调试模式的实现和应用。
   
  静态调试模式

  通过JTAG调试接口进行软件调试的工具一般都只能工作在静态调试模式下,处理器和整个系统都必须被同时挂起。然后调试工具通过JTAG接口把处理器和目标系统的当前状态获取并显示出来(如图1所示)。

  静态调试模式具有如下的优点:

  ● 静态调试模式唯一的环境需求就是目标系统必须支持JTAG调试标准,该调试模式最大的优点就是可以支持从复位向量表开始调试;
  ● 只要调试工具支持LINUX和MMU调试,就可以实现对LINUX内核及进程越界等问题的调试;
  ● 如果软件异常,随时可以挂起处理器,查看当前错

误代码及系统状态;
 ● 因为处理器处于挂起状态,内核和其它进程都不会再对系统造成任何的干扰。

  然而静态调试模式也有其不足之处,一旦处理器被挂起,所有的通信接口进程同时被终止。造成的结果就是所有通过Ethernet、Bluetooth或者 CAN等接口和处理器进行通信的外部设备,都会因为等待响应超时而中断连接。因此通过静态模式进行调试时,即使你只调试其中的一个进程或函数,也有可能改变整个系统的状态和配置;接下来再继续运行和调试程序,就无法保证系统的完整性和连续性,所以后续的调试可能就没有任何意义。

  动态调试模式

  GDB 调试模式是嵌入式LINUX系统的通用的动态调试模式。 在该模式下,可以实现只对当前进程挂起,系统的内核和其它的所有进程都继续处于运行状态。

  然而GDB是一个纯粹的软件调试工具,同时需要下面的软件环境才可以实现:

  ● 目标系统上要有活动的GDB Server LINUX进程
  ● 主机端要有相应的调试软件,例如TRACE32(如图2所示)

图2运行调试模式


  TRACE32与GDB Server通过RS232或者Ethernet接口进行通信,收集当前被挂起的进程的状态信息。但是要实现动态调试模式,还必须建立在如下两个条件都成立的基础之上:

  ● 目标系统已经被完全正确的初始化并正确启动
  ● GDB Server 永远处于活动状态——即通信接口已经正确运行,处理器或GDB Server不会被其它程序错误的挂起

  综上所述,两种调试模式都有各自的优点和不足,静态调试模式比较容易实现,操作也比较简单,但是无法保证系统的连续和完整性;动态调试模式环境需求比较复杂。因此,LAUTERBACH提供了可以实现上述两种调试模式的调试工具,在完全克服了各自的缺陷的同时充分发挥了各自的优势,实现了嵌入式 LINUX调试技术的飞跃。[page]

    
  集成的静态和动态调试模式

  针对嵌入式LINUX系统,支持集成的静态和动态调试模式的TRACE32调试工具工作原理如下(如图3所示):

图3集成的静态和动态调试模式


  1. TRACE32调试工具通过JTAG接口进入静态调试模式。在静态模式下首先完成对目标系统的硬件和动态调试模式(GDB)的环境配置。
  2. 如果目标系统初始化和启动程序是调试重点,就使用静态调试模式进行调试。
  3. 目标系统正确启动完成后,TRACE32可以切换为动态调试模式,从而实现对应用程序的动态调试。
  4.如果在动态调试过程中,需要对系统重新做新的配置和初始化。TRACE32也支持随时再把系统切换到静态调试模式。

  同时,由于集成的静态和动态调试模式的实现,下面的许多新属性也被添加到动态调试模式里。

  ● 对于基于ARM架构的处理器,可以以调试通信通道(DCC)为动态调试模式的信息通信接口。这样只需要一个JTAG接口就可以支持集成的静态和动态调试模式。
  ● 对两个或多个进程进行同时调试。

  将DCC作为通信接口

  在ARM的架构下,JTAG接口中已经包含DCC通信接口。当应用程序在目标处理器上运行时,从原理上讲通过DCC实现如下两个模块间信息通信是完全可行的。

  ● 主机端的调试软件
  ● 目标系统上的任何应用程序—通过GDB Server

  因此,如果TRACE32 采用DCC 作为和GDB Server 通信的接口,就不再需要额外的通信接口来实现对动态调试模式的支持(如图4所示)。

图4使用DCC 通信接口的动态调试模式

 

  多个进程同时调试

  在实际的调试过程中,经 常需要对多个进程进行同时的调试。为了实现该属性,LAUTERBACH为动态调试模式提供了T32Server模块。如果T32Server作为一个LINUX的进程从终端窗口中被启动,就可以实现如下的命令和操作:

  ● 启动进程(TASK.RUN)
  ● 选择运行进程(TASK.SELECT)
  ● 停止进程(TASK.KILL)

图5多进程同时调试

 

  当一个进程被启动并选中后,T32Server就会给每个进程分配一个独立的GDB Server(如图5所示),再配合上面的三条TASK操作命令就可以实现多个进程的同时调式。用户可以通过命令(TASK.LIST)查看当前的进程信息。

关键字:嵌入式  LINUX系统  调试模式 引用地址:嵌入式LINUX系统的静/动态集成调试模式

上一篇:基于Qt/Embedded的GUI移植及应用程序开发
下一篇:嵌入式Linux系统中MMC卡驱动管理技术研究

推荐阅读最新更新时间:2024-03-16 12:59

基于嵌入式系统的违章车辆视频检测系统
0 引言 随着我国经济的发展,机动车辆不断地增长,现有道路等硬件设施的增长已经满足不了日益膨胀的交通问题,智能交通系统(Intellige nt Transportation System,ITS)越来越受重视。 所谓智能交通系统(ITS)就是将先进的信息技术、数据通信传输技术、电子传感技术以及计算机处理技术等有效地集成运用于整个地面交通管理系统而建立的一种在大范围内、全方位发挥作用的、实时、准确、高效的综合交通运输管理系统。近年来,ITS在城市交通管理方面得到了普遍应用,在缓解道路交通、防范交通违章及事故发生等方面获得了良好的效果。本文针对ITS应用,特别是电子警察系统的应用,提出了车辆违章视频检测方案,以适应ITS的发展需求
[单片机]
基于<font color='red'>嵌入式</font>系统的违章车辆视频检测系统
优化的Micrium OS和新Platform Builder加速嵌入式的设计
中国,北京 – 2017年3月8日 – Micrium OS是最新发展的、通过验证的嵌入式μC/ OS™实时操作系统(RTOS),目前已经上市。Micrium OS拥有优化的RTOS内核,通信协议栈,文件系统和图形用户界面。新的Platform Builder工具可以简化开发,一旦开发者确定所需要的组件,该工具可自动解析组件之间的依赖性问题,以及配置启动顺序。使用Micrium OS 和Platform Builder可为开发人员提供强大的嵌入式设计方法,显著地降低初始设计的复杂性,以及加快产品上市时间。该操作系统可支持所有主要的半导体供应商,包括恩智浦,瑞萨,Silicon Labs和意法半导体。 著名的RTOS专家和Mic
[嵌入式]
优化的Micrium OS和新Platform Builder加速<font color='red'>嵌入式</font>的设计
基于SED1356的嵌入式视频显示接口设计
    摘要: 介绍了EPSON公司的视频接口芯片SED1356,及嵌入式系统中视频接口电路设计的基本原理及其软硬件实现,给出了本设计的结论。     关键词: 嵌入式系统 视频显示接口 SED1356芯片 目前,在很多嵌入式系统的设计中需要将图像数据转换成视频信号在终端上显示。这就需要设计一个基于嵌入式系统的视频显示接口,以便把图像数据转换成适合终端显示要求的信号,并控制其在终端上的显示。由于嵌入式系统便携式的特点,要求视频显示接口电路不但功能强、性能好,而且还要体积小、重量轻,同时要考虑性价比。在实际系统设计中,选择了EPSON公司的视频接口芯片SED1356来设计视频显示了接口电路。 1 SED135
[应用]
基于GPS和电子海图的嵌入式船舶导航系统设计
摘要:介绍了一种基于GPS和电子海图、使用嵌入式Linux操作系统的船舶导航系统,讨论了船舶导航GUI、电子海图数据的预海图显示等关键技术,并给出了解决方案。 关键词:船舶导航 电子海图 嵌入式Linux QT MVCF 以GPS和电子海图为技术核心,为航海用户提供安全航行所必需的海图、航路等信息的船舶导航系统目前正在全世界得到广泛应用,大大提高了船舶导航技术与船航行的安全性。 船舶导航系统目前主要有PC机系统、单片机系统和嵌入式系统等三种实现方式。常见的PC机船舶导航系统采用基于Windows的GIS软件(如MapInfo、MapGIS)设计,具有系统功能丰富、响应速度快、人机交互界面友好等特点,但成本较高、系统集成度差
[应用]
基于嵌入式技术开发车载防盗装置
  随着我国汽车工业的高速发展,许多家庭拥有了自己的私家车,但车库的数量远远满足不了需求,因此,如何有效地防止汽车被盗是车主们最关心的问题。近年来,科学技术迅猛发展,结合各种新技术的新型汽车防盗装备相继出现。由于目前车载系统的功能正在逐步的增强、增多,采用单片机的控制已越来越无法适应需求。所以在汽车电子中采用嵌入式技术将成为必然。   本文采用嵌入式技术开发车载防盗装置,一方面能增强控制能力,提高汽车防盗的智能化程度。另一方面,缩小了装置的体积,提高了该装置应用的灵活性,同时也为将来进一步增强汽车电子的功能提供了扩展的空间。由于篇幅有限,本文只对硬件电路做介绍。    1 系统硬件组成   系统主要由ARM嵌入式控制器、手机
[单片机]
基于<font color='red'>嵌入式</font>技术开发车载防盗装置
基于MC9328MX1嵌入式最小系统设计
引言 嵌入式系统是以实际应用为核心,对功能、可靠性、成本、体积、功耗有严格要求的专业计算机系统,随着嵌入式系统相关技术的迅速发展,嵌入式系统功能越来越强,应用接口更加丰富,根据实际应用的需要设计出特定的嵌入式最小系统和应用系统,是嵌入式系统设计人员应具备的能力,由于ARM嵌入式体系的结构的一致性以及外围电路的通用性,采用ARM内核的嵌入式最小系统的设计原则和设计方法基本相同,本文基于MC9328MX1芯片介绍ARM嵌入式最小系统设计的一般方法。 1 MC9328MX1概述 MC9328MX1是Motorola公司基于ARM920T的龙珠(Dragon Ball)MX1处理器,MC9328MX1内含ARM公司设计的16/32bi
[单片机]
基于MC9328MX1<font color='red'>嵌入式</font>最小系统设计
嵌入式AU1200无线车载终端播放器设计实现
0 引 言 人民生活水平的提高,公车、轿车等交通工具作为人们的代步工具,越来越普及,汽车的智能化、个性化需求越来越高,尤其是客车、公交汽车中娱乐以及信息服务也越来越受到重视,集成媒体播放,硬盘录像,无线传输等多项功能于一体的车载终端产品,将成为未来汽车电子发展的必然趋势。 1 无线车载终端系统简介 无线车载终端系统采用AU1200的嵌入式CPU内核,配以车载硬盘、无线网卡、摄像头、用户控制键盘、显示器等部分组成。在车站采用服务器管理系统,可通过车站的Wi-Fi网络实现车载终端系统和车站服务器之间的无线数据传输,车辆进站时,服务器会自动对车载终端系统进行检查和记录,并进行相应更新,其包括节目、广告的下载和录像图片或视频
[汽车电子]
芯原业界领先的嵌入式GPU IP赋能先楫高性能的HPM6800系列RISC-V MCU
先楫新一代的仪表显示产品具有高画质、低功耗等特点 2024年3月4日,中国上海—— 芯原股份今日宣布先楫半导体(简称“先楫”)的HPM6800系列新一代数字仪表显示及人机界面系统应用平台采用了芯原的高性能2.5D图形处理器(GPU)IP。 HPM6800系列产品基于RISC-V CPU内核,具备高算力、低功耗、高集成度和出色的多媒体功能,适用于汽车仪表、人机交互界面(HMI),以及电子后视镜(CMS)等需要复杂图形处理、高分辨率显示和高性能多媒体用户界面的应用。 芯原支持OpenVG的2.5D GPU IP能够为MCU/MPU设备提供高能效的图形处理和优质的图像输出,同时显著降低CPU负载。 凭借成熟的可扩展性,该GP
[嵌入式]
芯原业界领先的<font color='red'>嵌入式</font>GPU IP赋能先楫高性能的HPM6800系列RISC-V MCU
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved