论文部分内容阅读
嵌入式系统开发过程中,目标软件调试工作最终需要采用交叉调试方式进行。借助于常规调试工具用户只能通过设置断点等方式控制程序执行,实现基本调试功能。所看到的程序执行现状,也只是目标机方当前程序寄存器、内存、符号信息等基本信息。而当今嵌入式应用日趋复杂,多半有操作系统支持,采用多任务编程,这就要求交叉调试器能提供任务级的特殊调试支持。 本论文总结了,在只具有基本调试功能的嵌入式调试工具(LambdaGDB和LambdaTRA)基础上,设计实现了一种能针对任务进行调试的任务级调试工具所涉及的若干关键技术,包括增加对被调试任务的识别、运行控制、动态加载/卸载,以及根据用户的不同要求,绑定某个任务(集)进行调试等。该任务级调试系统仍然采用交叉调试方式,因此包括宿主机方的调试器(LambdaGDB)和目标机方的调试代理(LambdaDA)两部分对任务级调试支持功能的实现。前者发送调试命令,并接收命令的执行结果;后者接收并执行调试器发送的调试命令。其中,调试代理的任务级调试功能实现是整个系统的关键,它在操作系统的支持下作为一个任务运行,能够感知系统中被调试任务的存在,从而对它们进行操作,实现任务级调试功能;该实现采用模块化和层次化设计,系统功能强大,具有良好的命令响应实时性、可移植性、可剪裁性,可以满足不同用户的调试需求。 本文主要介绍了任务级调试系统的设计思想和实现结果的情况,具体内容分为六个章节来说明: 第一章是嵌入式软件调试技术概论,主要讨论了在嵌入式软件调试的地位、开发任务级调试系统的必要性以及介绍国内外在嵌入式调试领域的发展现状。 第二章任务级软件调试需求分析,内容包括系统的主要功能、实现环境、开发限制等。 第三章介绍了任务级软件调试系统的总体设计。内容主要包括系统的体系结构设计,调试器和目标机方与任务级调试相关的命令接口,目标机方运行的调试代理模块设计。 第四章是任务级软件调试代理关键技术分析。内容包括实现任务级调试主要技术难点和解决方案。 第五章是主要模块实现,介绍调试代理方功能模块的实现方案。 第六章是全文总结。总结了任务级调试系统实现现状、特点、创新以及今后的发展方向。 文章最后还给出了与系统有关的一些有意义的附录。