基于JTAG的多核DSP调试系统的研究与实现
摘要 | 第5-6页 |
ABSTRACT | 第6页 |
第一章 绪论 | 第10-15页 |
1.1 引言 | 第10-12页 |
1.1.1 DSP芯片的设计与开发 | 第10页 |
1.1.2 嵌入式调试系统 | 第10-11页 |
1.1.3 国内外研究现状 | 第11-12页 |
1.2 课题研究背景 | 第12-13页 |
1.3 主要工作和论文结构 | 第13-14页 |
1.4 本章小结 | 第14-15页 |
第二章 常用嵌入式调试技术 | 第15-26页 |
2.1 仿真器调试 | 第15-16页 |
2.1.1 软件仿真器 | 第15页 |
2.1.2 ROM仿真器 | 第15-16页 |
2.1.3 在线仿真器(ICE) | 第16页 |
2.2 片上调试(OCD) | 第16-19页 |
2.2.1 BDM调试标准 | 第17-18页 |
2.2.2 JTAG调试标准 | 第18-19页 |
2.3 JTAG调试原理 | 第19-25页 |
2.3.1 TAP控制器 | 第21-23页 |
2.3.2 指令寄存器 | 第23页 |
2.3.3 JTAG指令 | 第23-24页 |
2.3.4 数据寄存器 | 第24-25页 |
2.4 本章小结 | 第25-26页 |
第三章 多核DSP调试系统接口设计 | 第26-37页 |
3.1 多JTAG设备调试结构 | 第26-27页 |
3.1.1 菊花链结构 | 第26页 |
3.1.2 开关选择调试结构 | 第26-27页 |
3.2 单核DSP调试系统硬件架构 | 第27-30页 |
3.2.1 调试接口单元 | 第28页 |
3.2.2 单步运行 | 第28-29页 |
3.2.3 断点调试 | 第29-30页 |
3.3 多核DSP调试接口设计 | 第30-35页 |
3.3.1 公共访问接口 | 第31-33页 |
3.3.2 调试子系统接口 | 第33-34页 |
3.3.3 Engine Buffer数据包格式 | 第34-35页 |
3.4 本章小结 | 第35-37页 |
第四章 调试软件开发 | 第37-70页 |
4.1 GDB概述 | 第37-38页 |
4.1.1 GDB简介 | 第37页 |
4.1.2 GDB组成结构 | 第37-38页 |
4.2 GDB调试信息 | 第38-43页 |
4.2.1 可执行链接格式 | 第40-41页 |
4.2.2 调试信息表示 | 第41-43页 |
4.3 GDB源代码分析 | 第43-57页 |
4.3.1 GDB源代码结构 | 第43-44页 |
4.3.2 符号处理 | 第44-48页 |
4.3.3 栈帧分析 | 第48-51页 |
4.3.4 目标处理系统 | 第51页 |
4.3.5 GDB运行分析 | 第51-57页 |
4.4 GDB移植 | 第57-68页 |
4.4.1 GDB移植的步骤 | 第58页 |
4.4.2 BFD库移植 | 第58-63页 |
4.4.3 添加目标结构 | 第63-68页 |
4.4.4 反汇编移植 | 第68页 |
4.5 GDB的编译 | 第68-69页 |
4.6 本章小结 | 第69-70页 |
第五章 调试代理的设计与实现 | 第70-85页 |
5.1 调试代理 | 第70-71页 |
5.1.1 调试代理功能定义 | 第70页 |
5.1.2 调试代理工作流程 | 第70-71页 |
5.2 调试代理模块设计 | 第71-72页 |
5.3 RSP远程协议 | 第72-74页 |
5.3.1 协议概述 | 第72-73页 |
5.3.2 协议命令 | 第73-74页 |
5.4 调试代理的实现 | 第74-77页 |
5.4.1 RSP协议转换 | 第74-75页 |
5.4.2 通用读写模块 | 第75-76页 |
5.4.3 DAP访问函数 | 第76页 |
5.4.4 底层驱动 | 第76-77页 |
5.4.5 处理器状态监测 | 第77页 |
5.5 调试系统自测 | 第77-78页 |
5.6 调试系统的验证 | 第78-83页 |
5.7 本章小结 | 第83-85页 |
第六章 总结与展望 | 第85-87页 |
致谢 | 第87-88页 |
攻读硕士学位期间发表的论文和取得的科研成果 | 第88-89页 |
参考文献 | 第89-91页 |