学位论文 > 优秀研究生学位论文题录展示

支持USB的嵌入式软件远程调试器的设计与实现

作 者: 况阳
导 师: 雷航;张恩阳
学 校: 电子科技大学
专 业: 软件工程
关键词: 嵌入式Linux GDB GDBserver 远程调试 RSP协议 USB驱动 USB主机端驱动 USB设备端驱动
分类号: TP368.1
类 型: 硕士论文
年 份: 2011年
下 载: 42次
引 用: 0次
阅 读: 论文下载
 

内容摘要


本文首先介绍了嵌入式系统的基本概念以及相关的调试技术;分析了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开发板上测试通过。

全文目录


摘要  4-5
ABSTRACT  5-8
第一章 绪论  8-13
  1.1 课题背景与选题的意义  8-10
    1.1.1 背景和依据  8-9
    1.1.2 选题意义  9-10
  1.2 当前研究现状及发展态势  10-11
  1.3 本文完成工作  11
  1.4 本文的组织结构  11-13
第二章 嵌入式系统与GDB 调试  13-20
  2.1 嵌入式系统概述  13-14
  2.2 嵌入式系统构成  14-15
  2.3 嵌入式Linux  15-16
  2.4 GDB 分析  16-17
  2.5 嵌入式Linux 的调试  17
  2.6 嵌入式Linux 调试概述  17-18
  2.7 嵌入式Linux 远程调试实例  18-20
第三章 GDB 远程调试原理分析  20-29
  3.1 概述  20-21
  3.2 现有的调试代理模型分析  21-22
  3.3 用户态调试代理模型分析  22-24
  3.4 内核态调试代理kgdb 分析  24-25
  3.5 RSP 协议分析  25-27
  3.6 gdbserver 分析  27-29
第四章 USB 数据通信分析  29-37
  4.1 USB 总线特点  29-31
  4.2 USB 数据传输  31-32
  4.3 USB 总线结构分析  32-34
  4.4 USB 设备连接  34-37
第五章 USB+GDB+GDBserver 调试实现  37-73
  5.1 Linux 下USB 驱动实现  37-49
    5.1.1 设备驱动概述  37-38
    5.1.2 设备驱动组成机制  38-40
    5.1.3 关键数据结构  40-42
    5.1.4 基本函数实现  42-43
    5.1.5 Linux 下USB 驱动框架  43-46
    5.1.6 驱动的数据传输  46-47
    5.1.7 设备的接入与移除操作  47-49
  5.2 USB 主机端驱动结构实现  49-57
    5.2.1 核心数据结构  50-53
    5.2.2 USB 主机控制器驱动(HCD)  53-54
    5.2.3 USB 驱动(USBD)  54-56
    5.2.4 USB 设备类驱动  56-57
  5.3 USB 接口实现GDB 远程调试  57-73
    5.3.1 USB 设备端驱动结构  57-58
    5.3.2 Gadget 系统核心数据结构  58-61
    5.3.3 Gadget 子系统与主机侧的交互  61-62
    5.3.4 虚拟嵌入式系统为一个网络设备  62-63
    5.3.5 底层控制器驱动的实现  63-64
    5.3.6 上层功能驱动的实现  64-67
    5.3.7 运行效果  67-69
    5.3.8 建立远程调试环境  69-70
    5.3.9 USB 接口调试流程  70-72
    5.3.10 Gadget 框架的思考  72-73
第六章 结论和展望  73-75
  6.1 总结  73
  6.2 工作展望  73-75
致谢  75-76
参考文献  76-78
攻硕期间取得的研究成果  78-79

相似论文

  1. 基于TCP/IP协议的嵌入式图像传输系统接收终端的设计,TP368.1
  2. 嵌入式协同调试环境研究与设计,TP311.52
  3. GPON网络管理系统关键技术的研究和实现,TN929.1
  4. 基于eCos的自动售货机无线通信设计与应用,TH692.6
  5. 嵌入式视频监控系统中的GUI设计与实现,TP277
  6. 嵌入式车载定位系统的研究,TN95
  7. 基于ARM9的鱼排养殖监控系统,TP368.1
  8. 嵌入式人脸检测系统研究,TP391.41
  9. 数字型智能终端系统门口机的设计,TP368.1
  10. 基于嵌入式系统的水厂加氯智能控制系统,TU991.2
  11. 基于嵌入式Linux的多媒体播放终端的设计与实现,TP37
  12. 基于嵌入式的电子导游系统的研究,TP368.1
  13. 政府(公安)部门网络视频监控系统的设计与实现,TP277
  14. 基于ARM9的USB与多通道CAN转换器的设计,TP311.1
  15. 多功能火灾报警楼层显示器的设计与实现,TN873
  16. 基于Qt/E的嵌入式膜片钳系统设计,TP368.1
  17. 基于智能家居系统的音视频通信方案的研究与实现,TN919.8
  18. 一种基于嵌入式Linux的人体平衡监测系统的设计,TP274
  19. 基于DM6467的视频服务器设计与实现,TP393.05
  20. 基于Web方式的智能家居远程监控系统的设计与实现,TP277

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 微型计算机 > 各种微型计算机 > 微处理机
© 2012 www.xueweilunwen.com