基于嵌入式Linux任务级调试器的设计与实现

来源 :哈尔滨工程大学 | 被引量 : 0次 | 上传用户:ronalito
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
嵌入式设备是数字化时代的一大主流产品。嵌入式软件是数字化产品的核心,而嵌入式操作系统和开发工具又是嵌入式软件的基础和龙头。在嵌入式软件开发过程中,调试工作最终需要采用交叉调试方式进行。当今嵌入式应用日趋复杂,多半有操作系统支持,采用多任务编程,这就要求交叉调试器能提供任务级的特殊调试支持。任务级调试系统仍然采用交叉调试方式,因此包括宿主机方的调试器(ZGDB)和目标机方的调试代理(TDAgent)两部分实现任务级调试功能。前者发送调试命令,并接收命令的执行结果;后者接收并执行调试器发送的调试命令。 本文首先阐述了调试中的基本原理以便对调试器有个整体的认识。接着对图形化GDB(GNU’s Debugger)的Insight进行了深入的分析。然后在分析的基础上对Insight进行了改造,使其支持动态下载和远程创建线程功能。同时对图形界面进行了完善以便用户使用。 交叉调试分为系统级调试和任务级调试,而任务级调试是本文研究的重点。首先分析了系统级调试和任务级调试的概念,原理和工作流程。任务级调试代理在操作系统的支持下作为一个任务运行,它是整个系统实现的关键。接着便设计并实现了任务级调试代理TDAgent。TDAgent完成了调试的基本功能:创建线程/进程,跟踪或解除跟踪线程/进程,杀死线程/进程,单步,继续运行,读写内存,读写寄存器,重新启动被调试程序等。除了基本调试功能之外,还增加了对被调试任务的识别、运行控制,以及根据用户的不同要求,绑定某个任务(集)进行调试等。调试代理的实现采用模块化和层次化设计,系统功能强大,具有良好的命令响应实时性、可移植性、可剪裁性,可以满足不同用户的调试需求。 Tornado是目前非常流行的嵌入式开发工具。而通过测试,ZGDB达到了Tornado的80%的性能。目前,ZGDB开始在公司内部使用,并取得了良好的效果和经济效益。
其他文献
多Agent系统是人工智能、软件领域等研究的热点问题。在这个问题的研究中,目前已有许多研究者从各个不同角度对其作了一定研究,并已取得了一定进展。研究多Agent系统,关键是
USB(UniversalSerialBus)总线协议是以Intel为主并由Compaq、Microsoft、IBM、DEC、NorthernTelecom以及日本NEC等共七家公司共同制定的串行接口标准,由于其即插即用及配置简
由于无线通信技术的发展,有限的频谱资源难以满足人们的需求,在加上在当前的频谱分配制度下,频谱资源的利用率很低。为了解决这两个问题,一种能认知外界通信环境的智能通信网络应
空间索引技术在计算机辅助设计与制造(CAD/CAM)、地理信息系统(GIS)、图像处理(image processing )、虚拟现实语言设计(VRML)、数字地球(digital earth)等诸多领域均具有十分重要的研究
生物图像的应用已逐渐覆盖了我们日常生活的方方面面,其中最典型的就是在医疗和身份识别等方面对人类生物图像的使用,通过对这些应用的研究,极大的方便了人们的生产活动。  在
本文通过识别圆钢端部图像来实现对成捆圆钢的计数。首先,针对图像光照不均匀的特点,在Otsu自动域值选择方法的基础上,使用信息度量的方法对原始图像进行二值化处理。 其次,我
模式识别是近年来的热点问题之一。模式识别一般分为五个步骤:数据的获取,预处理,特征提取,特征选择以及分类器分类。特征提取和特征选择是分类问题的两个关键步骤,主要用于快速准
针对智能IC卡操作系统中的某些问题进行了深入的研究,剖析如何按照ISO7816国际标准,设计与实现一个多任务智能IC卡操作系统.首先对IC卡操作系统的结构模型做了深入的研究,给
随着网络技术的发展,现代远程教育已经成为教学中越来越重要的组成部分。但是在远程教育中,学生和教学机构在地理上处在不同的位置,这使得一些实验很难再到实验室去进行了。因此
学位