资料介绍
现有的嵌入式LINUX系统开发过程中,所有的工程师都疲惫于使用两种不同的调试模式分别调试系统的内核和应用程序。首先通过一个JTAG调试工具来配置和启动LINUX系统;嵌入式LINUX系统正常运行起来后,就要通过GDB来继续调试工作。
LAUTERBACH公司综合了上述两种传统调试技术特长提供了一种新的LINUX调试技术。
本文以ARM架构上的LINUX系统开发为例,详细介绍和对比这三种不同的调试模式的实现和应用。
静态调试模式
通过JTAG调试接口进行软件调试的工具一般都只能工作在静态调试模式下,处理器和整个系统都必须被同时挂起。然后调试工具通过JTAG接口把处理器和目标系统的当前状态获取并显示出来(如图1所示)。
静态调试模式具有如下的优点:
● 静态调试模式唯一的环境需求就是目标系统必须支持JTAG调试标准,该调试模式最大的优点就是可以支持从复位向量表开始调试;
● 只要调试工具支持LINUX和MMU调试,就可以实现对LINUX内核及进程越界等问题的调试;
● 如果软件异常,随时可以挂起处理器,查看当前错
误代码及系统状态;
● 因为处理器处于挂起状态,内核和其它进程都不会再对系统造成任何的干扰。
然而静态调试模式也有其不足之处,一旦处理器被挂起,所有的通信接口进程同时被终止。造成的结果就是所有通过Ethernet、Bluetooth或者CAN等接口和处理器进行通信的外部设备, 都会因为等待响应超时而中断连接。因此通过静态模式进行调试时,即使你只调试其中的一个进程或函数,也有可能改变整个系统的状态和配置;接下来再继续运行和调试程序,就无法保证系统的完整性和连续性,所以后续的调试可能就没有任何意义。
动态调试模式
GDB 调试模式是嵌入式LINUX系统的通用的动态调试模式。 在该模式下,可以实现只对当前进程挂起,系统的内核和其它的所有进程都继续处于运行状态。
然而GDB是一个纯粹的软件调试工具,同时需要下面的软件环境才可以实现:
● 目标系统上要有活动的GDB Server LINUX进程
● 主机端要有相应的调试软件,例如TRACE32(如图2所示)
TRACE32与GDB Server通过RS232或者Ethernet接口进行通信,收集当前被挂起的进程的状态信息。但是要实现动态调试模式,还必须建立在如下两个条件都成立的基础之上:
● 目标系统已经被完全正确的初始化并正确启动
● GDB Server 永远处于活动状态——即通信接口已经正确运行,处理器或GDB Server不会被其它程序错误的挂起
综上所述,两种调试模式都有各自的优点和不足,静态调试模式比较容易实现,操作也比较简单,但是无法保证系统的连续和完整性;动态调试模式环境需求比较复杂。因此,LAUTERBACH提供了可以实现上述两种调试模式的调试工具,在完全克服了各自的缺陷的同时充分发挥了各自的优势,实现了嵌入式LINUX调试技术的飞跃。
LAUTERBACH公司综合了上述两种传统调试技术特长提供了一种新的LINUX调试技术。
本文以ARM架构上的LINUX系统开发为例,详细介绍和对比这三种不同的调试模式的实现和应用。
静态调试模式
通过JTAG调试接口进行软件调试的工具一般都只能工作在静态调试模式下,处理器和整个系统都必须被同时挂起。然后调试工具通过JTAG接口把处理器和目标系统的当前状态获取并显示出来(如图1所示)。
静态调试模式具有如下的优点:
● 静态调试模式唯一的环境需求就是目标系统必须支持JTAG调试标准,该调试模式最大的优点就是可以支持从复位向量表开始调试;
● 只要调试工具支持LINUX和MMU调试,就可以实现对LINUX内核及进程越界等问题的调试;
● 如果软件异常,随时可以挂起处理器,查看当前错
误代码及系统状态;
● 因为处理器处于挂起状态,内核和其它进程都不会再对系统造成任何的干扰。
然而静态调试模式也有其不足之处,一旦处理器被挂起,所有的通信接口进程同时被终止。造成的结果就是所有通过Ethernet、Bluetooth或者CAN等接口和处理器进行通信的外部设备, 都会因为等待响应超时而中断连接。因此通过静态模式进行调试时,即使你只调试其中的一个进程或函数,也有可能改变整个系统的状态和配置;接下来再继续运行和调试程序,就无法保证系统的完整性和连续性,所以后续的调试可能就没有任何意义。
动态调试模式
GDB 调试模式是嵌入式LINUX系统的通用的动态调试模式。 在该模式下,可以实现只对当前进程挂起,系统的内核和其它的所有进程都继续处于运行状态。
然而GDB是一个纯粹的软件调试工具,同时需要下面的软件环境才可以实现:
● 目标系统上要有活动的GDB Server LINUX进程
● 主机端要有相应的调试软件,例如TRACE32(如图2所示)
TRACE32与GDB Server通过RS232或者Ethernet接口进行通信,收集当前被挂起的进程的状态信息。但是要实现动态调试模式,还必须建立在如下两个条件都成立的基础之上:
● 目标系统已经被完全正确的初始化并正确启动
● GDB Server 永远处于活动状态——即通信接口已经正确运行,处理器或GDB Server不会被其它程序错误的挂起
综上所述,两种调试模式都有各自的优点和不足,静态调试模式比较容易实现,操作也比较简单,但是无法保证系统的连续和完整性;动态调试模式环境需求比较复杂。因此,LAUTERBACH提供了可以实现上述两种调试模式的调试工具,在完全克服了各自的缺陷的同时充分发挥了各自的优势,实现了嵌入式LINUX调试技术的飞跃。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 基于Matlab的直流输电系统动态特性分析
- 嵌入式LINUX系统内核和内核模块调试
- 单片机系统硬件的静态调试和动态调试综述 2次下载
- 嵌入式LINUX系统内核和内核模块调试教程 21次下载
- 自动控制系统数字模型的动态结构图实例资料说明 5次下载
- STM32的调试实例的项目程序库和调试实例资料合集免费下载 89次下载
- 逻辑分析仪设计实例 53次下载
- 嵌入式Linux系统开发教程及案例分析 7次下载
- ADB工具(安卓 & Linux调试)下载 21次下载
- 嵌入式Linux的ARM移植实例研究 0次下载
- 递归算法的设计模式与调试 24次下载
- 基于LINUX系统的IPv6网络安装与调试
- Linux动态扩展MPEG-4智能视频监控系统
- 动态二进制翻译系统的调试器框架
- 动态限载系统的设计和分析
- 矢量网络分析仪在射频威廉希尔官方网站 调试中的应用 358次阅读
- 调试模式下如何调试看门狗? 1062次阅读
- linux系统磁盘管理及分析必备命令 619次阅读
- 从网络启动linux系统如何做调试 1572次阅读
- hypervisor的调试分析方法 1283次阅读
- Linux:QEMU调试内核的步骤 3040次阅读
- ARM Linux:usr模式转为svc模式的实现原理 3626次阅读
- 基于Buildroot的Linux系统构建技巧经验分享 4217次阅读
- Linux应用的GDB调试的原理及过程分析 3320次阅读
- 利用JTAG OCD加速Linux设备软件调试的小窍门详解 1390次阅读
- 基于QEMU系统模拟器Xilinx/QEMU的运行与调试 8887次阅读
- 介绍动态ODT模式 9199次阅读
- 如何调试扩声系统_扩声系统调试步骤 1w次阅读
- petalinux(二)开启petalinux内核调试模式 1w次阅读
- 干货:动力电池系统失效模式分析! 6738次阅读
下载排行
本周
- 1电子威廉希尔官方网站 原理第七版PDF电子教材免费下载
- 0.00 MB | 1491次下载 | 免费
- 2单片机典型实例介绍
- 18.19 MB | 95次下载 | 1 积分
- 3S7-200PLC编程实例详细资料
- 1.17 MB | 27次下载 | 1 积分
- 4笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 5开关电源原理及各功能威廉希尔官方网站 详解
- 0.38 MB | 11次下载 | 免费
- 6100W短波放大威廉希尔官方网站 图
- 0.05 MB | 4次下载 | 3 积分
- 7基于单片机和 SG3525的程控开关电源设计
- 0.23 MB | 4次下载 | 免费
- 8基于AT89C2051/4051单片机编程器的实验
- 0.11 MB | 4次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成威廉希尔官方网站 应用800例(新编版)
- 0.00 MB | 33562次下载 | 免费
- 6接口威廉希尔官方网站 图大全
- 未知 | 30320次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21539次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935053次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537793次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6威廉希尔官方网站 仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183277次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论
查看更多