论文部分内容阅读
随着嵌入式系统的飞速发展,嵌入式系统开发工具在开发过程中所起的作用日益突出,相关的研究、技术也随之不断更新。嵌入式交叉调试器是嵌入式系统开发者使用最多的工具,也是整个开发周期中使用时间最长的工具。其除了要具备传统调试器的断点追踪、变量查询等基本功能,还必须具备远程下载、远程调试控制,甚至虚拟机的部分功能,从而导致交叉调试技术实现的复杂程度要远高于传统调试器。本文首先简要说明了嵌入式软件的开发过程,回顾了嵌入式交叉调试技术的发展历程。然后分析了调试器的整个框架和核心,借此展现调试器的相关理论和设计思想,并对调试器和代理中的关键流程,如硬件和操作系统对调试的支持、断点执行、程序运行控制、程序上下文分析、表达式求值等关键调试技术进行详细阐述。Insight是图形化的GNU调试器(GDB),本文对其的层次结构和模块结构进行了详细的分析,并对其源代码进行了深入的研究。然后在研究基础上进行了一定的改造,使其适应我们调试环境的需求。在嵌入式领域,由于目标平台结构的多样化,设计并开发一款能够支持多种目标机结构的调试代理将具有重要的意义。本文对支持多目标机的跨平台调试代理结构进行了分析和研究,设计了一种跨平台的调试代理的结构,并以PC104硬件平台为基础,实现了具有多种功能的跨平台调试代理,在文中对该调试代理的各个层次和功能模块进行了详细的阐述。嵌入式开发研究领域正在向实时、分布式、SOC等方向发展,对交叉调试技术提出了很多新的研究问题和方向。本文虽力图在方方面面覆盖其设计实现,但由于交叉调试器的复杂程度高、体系庞大、实现难度较大等,仍有上述部分研究领域无暇涉及,希望后续研究能够在上述方面深入下去。