嵌入式Linux交叉调试器设计与实现技术研究

嵌入式Linux交叉调试器设计与实现技术研究

论文摘要

随着计算机应用的不断普及和深化,嵌入式系统及其应用已经成为全球IT产业发展的一个热点。嵌入式系统的调试作为嵌入式软件开发的一个不可或缺的辅助手段,占有十分重要的位置。为Linux程序开发提供一个友好的、易操作的交叉调试环境,开发了基于嵌入式Linux的源码级交叉调试器。该调试器运行于Windows环境下,目标端为基于ARM体系结构的嵌入式CPU芯片,调试代理采用GDBServer,调试对象为采用DWARF2调试信息格式的ELF目标文件。在该交叉调试器中,RSP协议是调试器与GDBServer的消息通信规范。宿主端调试器采用RSP协议对调试命令进行封装并发送给目标机上的调试代理GDBServer,接收调试代理返回的调试信息并依据RSP协议对调试信息进行解析,以获取目标程序的当前运行状态。为了协调配合调试器和调试代理之间的有效通信,提供了RSP协议的消息发送与接收程序。源代码与目标代码之间的映射关系是源码级调试的关键。为此,研究了ELF目标文件格式和DWARF2调试信息格式,设计了相应的符号表数据结构,使用BFD库提供的接口读取ELF目标文件上的采用DWARF2格式的调试信息,为源码中的每一个符号提供了相关的调试信息,实现了源代码和目标程序之间的映射。最后,分析了交叉调试的工作过程,设计了一组调试命令,定义了相关数据结构,介绍了宿主端调试器的主控循环,并以断点设置、连续执行和单步执行为例,介绍了相应调试功能的实现技术。

论文目录

  • 摘要
  • ABSTRACT
  • 1 绪论
  • 1.1 课题背景
  • 1.2 国内外概况
  • 1.3 课题主要研究工作
  • 2 交叉调试器的总体结构
  • 2.1 交叉调试器的需求分析
  • 2.2 交叉调试器的总体结构
  • 2.3 小结
  • 3 远程串行通信协议及实现
  • 3.1 远程串行通信协议
  • 3.2 基本调试功能与RSP 协议
  • 3.3 通信模块的实现
  • 3.4 小结
  • 4 符号处理
  • 4.1 调试信息的格式
  • 4.2 符号表
  • 4.3 小结
  • 5 调试功能模块的设计与实现
  • 5.1 主控循环
  • 5.2 断点的管理
  • 5.3 执行控制
  • 5.4 小结
  • 6 结束语
  • 6.1 研究工作总结
  • 6.2 进一步的研究工作
  • 致谢
  • 参考文献
  • 相关论文文献

    标签:;  ;  ;  

    嵌入式Linux交叉调试器设计与实现技术研究
    下载Doc文档

    猜你喜欢