论文摘要
本文首先介绍了嵌入式系统的基本概念以及相关的调试技术;分析了GDB本地调试和远程调试的工作机制,通过对比分析不同模型的实现方法讨论了当前在嵌入式系统中使用的一些调试模型,开发调试环境为当前非常流行的嵌入式Linux平台。在嵌入式Linux中调试应用程序,需要建立远程调试环境,以便宿主机GDB可以从远程环境获取信息进行调试。GDBserver是一个轻量级的运行于目标机上的调试器,它可以配合主机上的GDB进行嵌入式程序的开发调试,极大的提高效率,降低开发成本。目前GDB远程调试嵌入式Linux应用程序的模式是在目标机端实现GDBserver来充当调试stub的角色,通过串口或TCP连接的方式将宿主机和目标机相连进行调试。随着计算机的高速发展,目前的外设接口上以USB最为流行,通用,GDB的串口或TCP连接调试方式在实际开发中带了很多不便。通用串行总线USB(Universal Serial Bus)是一种具备高传输速率的接口总线。由于它的即插即用PNP(Plug-and-Play),热插拔(Hot Plug)等特点,作为计算机外设的一种连接方式得到了极其广泛的应用,正在逐步取代串口,并口等接口成为新的接口标准。而Linux作为一个使用非常广泛的开源系统,自从2.2.18版内核开始,就加入了对USB的支持,2.4.x版本的内核对USB1.1的支持已相对完善,2.6.x内核更是率先支持了USB2.0规范。本文研究了Linux下USB驱动在主机端和设备端的实现机制及驱动框架,对USB驱动程序的结构进行了深入分析;利用USB设备端驱动实现了通过USB接口进行基于GDB+GDBserver模式的嵌入式Linux软件的远程调试功能,并在S3C2410开发板上测试通过。
论文目录
摘要ABSTRACT第一章 绪论1.1 课题背景与选题的意义1.1.1 背景和依据1.1.2 选题意义1.2 当前研究现状及发展态势1.3 本文完成工作1.4 本文的组织结构第二章 嵌入式系统与GDB 调试2.1 嵌入式系统概述2.2 嵌入式系统构成2.3 嵌入式Linux2.4 GDB 分析2.5 嵌入式Linux 的调试2.6 嵌入式Linux 调试概述2.7 嵌入式Linux 远程调试实例第三章 GDB 远程调试原理分析3.1 概述3.2 现有的调试代理模型分析3.3 用户态调试代理模型分析3.4 内核态调试代理kgdb 分析3.5 RSP 协议分析3.6 gdbserver 分析第四章 USB 数据通信分析4.1 USB 总线特点4.2 USB 数据传输4.3 USB 总线结构分析4.4 USB 设备连接第五章 USB+GDB+GDBserver 调试实现5.1 Linux 下USB 驱动实现5.1.1 设备驱动概述5.1.2 设备驱动组成机制5.1.3 关键数据结构5.1.4 基本函数实现5.1.5 Linux 下USB 驱动框架5.1.6 驱动的数据传输5.1.7 设备的接入与移除操作5.2 USB 主机端驱动结构实现5.2.1 核心数据结构5.2.2 USB 主机控制器驱动(HCD)5.2.3 USB 驱动(USBD)5.2.4 USB 设备类驱动5.3 USB 接口实现GDB 远程调试5.3.1 USB 设备端驱动结构5.3.2 Gadget 系统核心数据结构5.3.3 Gadget 子系统与主机侧的交互5.3.4 虚拟嵌入式系统为一个网络设备5.3.5 底层控制器驱动的实现5.3.6 上层功能驱动的实现5.3.7 运行效果5.3.8 建立远程调试环境5.3.9 USB 接口调试流程5.3.10 Gadget 框架的思考第六章 结论和展望6.1 总结6.2 工作展望致谢参考文献攻硕期间取得的研究成果
相关论文文献
标签:嵌入式论文; 远程调试论文; 协议论文; 驱动论文; 主机端驱动论文; 设备端驱动论文;