嵌入式系统调试器的研究与实现
发布时间:2023-01-26 05:29
在嵌入式系统开发中,无论新硬件推广的需要还是当前嵌入式应用复杂性的要求,都必须提供与之配套功能强大的软件开发工具,以便于高效地开发出复杂的嵌入式应用软件,而调试器是其中必可不少的一部分。当前国内对调试器技术方面的研究很少,一般调试器工具都是使用国外的产品,因此深入研究调试技术并开发自己的调试器具有重要意义。 本文分析和阐述了调试器原理以及调试器设计实现的相关理论,深入研究了GDB源代码调试器实现机制。由于源代码级调试器的设计和实现都与具体目标文件格式、调试信息格式相关,因此本文重点对ELF目标文件格式和stabs调试信息格式进行了分析,并给出了用于提取加工调试信息的相关数据结构。本文还分析了调试器基本功能的实现过程、交叉调试所用到的远程通信协议。 本文基于构件组装技术,提出了一种多目标机交叉调试器的设计方案。把交叉调试器的各个功能设计成模块,根据不同的需要安装不同的模块。交叉调试器可以分成四部分:用户接口、调试功能模块、通信模块和操作系统支持模块;目标机端的监控程序主要是由调试命令执行模块、通信模块、代码控制模块组成。 ...
【文章页数】:95 页
【学位级别】:硕士
【文章目录】:
第一章 绪论
1.1 课题背景和研究意义
1.1.1 嵌入式系统简介
1.1.2 嵌入式软件集成开发环境
1.1.3 课题来源
1.2 国内外研究发展与现状
1.3 调试器原理
1.4 GDB 的基本工作原理
1.4.1 GDB 工作原理的背景知识
1.4.2 GDB 基本功能的实现
1.5 论文的章节安排
第二章 源代码调试器的基本结构和原理分析
2.1 源代码调试器的基本结构
2.2 ELF 文件格式
2.2.1 ELF 文件介绍
2.2.2 ELF 文件的结构
2.2.3 ELF 文件的各组成部分介绍
2.2.4 目标文件的链接和装入
2.3 调试信息的表示
2.3.1 stabs 表示格式简介
2.3.2 string 域
2.3.3 type 域
2.3.4 stabs 调试信息的汇编代码形式
2.4 调试信息的提取
2.4.1 BFD 的结构
2.4.2 Objfile 的结构
2.5 进程跟踪和进程文件系统在调试中的应用
2.5.1 进程跟踪
2.5.2 /proc 文件系统
2.6 基本调试功能的实现
2.6.1 程序装入和运行
2.6.2 断点管理功能的实现
2.6.3 函数调用栈与变量查看功能
2.6.4 单步执行功能的实现
2.7 本章小结
第三章 BOOTLOADER 在目标机的设计与实现
3.1 程序的引导介绍
3.1.1 Boot Loader 的概念
3.1.2 Boot Loader 的操作模式(Operation Mode )
3.2 目标机的结构介绍
3.2.1 ARM 简介
3.2.2 ARM 微处理器结构
3.3 BOOT LOADER 的实现
3.3.1 一般的实现方式
3.3.2 实现步骤
3.3.3 检测系统内存映射
3.3.4 设置内核的启动参数
3.3.5 调用内核
3.4 本章小结
第四章 交叉调试器的设计与实现
4.1 交叉调试系统的结构
4.1.1 ROM Monitor 方式
4.1.2 OCD 方式
4.2 多目标机交叉调试器的设计
4.3 GDB 的RSP(REMOTE SERIAL PROTOCOL)协议分析
4.4 远程调试代理的实现
4.4.1 调试代理的运行环境
4.4.2 调试代理的结构
4.4.3 模块功能介绍
4.4.4 调试代理实现的一些子例程
4.4.5 程序运行结果
4.5 小结
第五章 总结与展望
致谢
参考文献
个人简历及硕士期间发表的论文
【参考文献】:
期刊论文
[1]嵌入式远程调试器的设计与实现[J]. 曾杰,蒋泽军,王丽芳,张彦明. 计算机测量与控制. 2005(07)
[2]嵌入式软件源码级交叉调试器的设计与实现[J]. 乔容,彭思鹏,柏桂枝. 舰船电子工程. 2004(03)
[3]Unix进程文件系统及其在调试器设计中的应用[J]. 刘建,沈美明. 计算机工程. 2004(04)
[4]UNIX系统源级调试器设计[J]. 熊建新,王鼎兴. 小型微型计算机系统. 1997(01)
[5]基于进程文件系统的调试器设计[J]. 张卫民,黄瑞芳,张钦伍. 小型微型计算机系统. 1996(02)
本文编号:3732225
【文章页数】:95 页
【学位级别】:硕士
【文章目录】:
第一章 绪论
1.1 课题背景和研究意义
1.1.1 嵌入式系统简介
1.1.2 嵌入式软件集成开发环境
1.1.3 课题来源
1.2 国内外研究发展与现状
1.3 调试器原理
1.4 GDB 的基本工作原理
1.4.1 GDB 工作原理的背景知识
1.4.2 GDB 基本功能的实现
1.5 论文的章节安排
第二章 源代码调试器的基本结构和原理分析
2.1 源代码调试器的基本结构
2.2 ELF 文件格式
2.2.1 ELF 文件介绍
2.2.2 ELF 文件的结构
2.2.3 ELF 文件的各组成部分介绍
2.2.4 目标文件的链接和装入
2.3 调试信息的表示
2.3.1 stabs 表示格式简介
2.3.2 string 域
2.3.3 type 域
2.3.4 stabs 调试信息的汇编代码形式
2.4 调试信息的提取
2.4.1 BFD 的结构
2.4.2 Objfile 的结构
2.5 进程跟踪和进程文件系统在调试中的应用
2.5.1 进程跟踪
2.5.2 /proc 文件系统
2.6 基本调试功能的实现
2.6.1 程序装入和运行
2.6.2 断点管理功能的实现
2.6.3 函数调用栈与变量查看功能
2.6.4 单步执行功能的实现
2.7 本章小结
第三章 BOOTLOADER 在目标机的设计与实现
3.1 程序的引导介绍
3.1.1 Boot Loader 的概念
3.1.2 Boot Loader 的操作模式(Operation Mode )
3.2 目标机的结构介绍
3.2.1 ARM 简介
3.2.2 ARM 微处理器结构
3.3 BOOT LOADER 的实现
3.3.1 一般的实现方式
3.3.2 实现步骤
3.3.3 检测系统内存映射
3.3.4 设置内核的启动参数
3.3.5 调用内核
3.4 本章小结
第四章 交叉调试器的设计与实现
4.1 交叉调试系统的结构
4.1.1 ROM Monitor 方式
4.1.2 OCD 方式
4.2 多目标机交叉调试器的设计
4.3 GDB 的RSP(REMOTE SERIAL PROTOCOL)协议分析
4.4 远程调试代理的实现
4.4.1 调试代理的运行环境
4.4.2 调试代理的结构
4.4.3 模块功能介绍
4.4.4 调试代理实现的一些子例程
4.4.5 程序运行结果
4.5 小结
第五章 总结与展望
致谢
参考文献
个人简历及硕士期间发表的论文
【参考文献】:
期刊论文
[1]嵌入式远程调试器的设计与实现[J]. 曾杰,蒋泽军,王丽芳,张彦明. 计算机测量与控制. 2005(07)
[2]嵌入式软件源码级交叉调试器的设计与实现[J]. 乔容,彭思鹏,柏桂枝. 舰船电子工程. 2004(03)
[3]Unix进程文件系统及其在调试器设计中的应用[J]. 刘建,沈美明. 计算机工程. 2004(04)
[4]UNIX系统源级调试器设计[J]. 熊建新,王鼎兴. 小型微型计算机系统. 1997(01)
[5]基于进程文件系统的调试器设计[J]. 张卫民,黄瑞芳,张钦伍. 小型微型计算机系统. 1996(02)
本文编号:3732225
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3732225.html