Cortex-M全系统模拟器的研究和实现
| 摘要 | 第1-7页 |
| ABSTRACT | 第7-13页 |
| 1 绪论 | 第13-17页 |
| ·课题研究背景与意义 | 第13页 |
| ·模拟器的国内外研究现状 | 第13-15页 |
| ·研究内容与主要工作 | 第15页 |
| ·论文组织结构与章节安排 | 第15-17页 |
| 2 模拟器架构设计 | 第17-24页 |
| ·模拟器的分类 | 第17-18页 |
| ·需求分析 | 第18-20页 |
| ·内核模拟 | 第18-19页 |
| ·调试接口 | 第19页 |
| ·外设模拟 | 第19页 |
| ·用户接口 | 第19-20页 |
| ·程序架构设计 | 第20-23页 |
| ·单线程设计 | 第20页 |
| ·多线程设计 | 第20-22页 |
| ·多进程设计 | 第22-23页 |
| ·架构确定 | 第23页 |
| ·本章小结 | 第23-24页 |
| 3 内核模拟设计与实现 | 第24-39页 |
| ·ARM内核的组成 | 第24-25页 |
| ·ARM内核版本 | 第24-25页 |
| ·Cortex-M内核组成 | 第25页 |
| ·指令集的模拟 | 第25-28页 |
| ·指令集模拟原理 | 第25-26页 |
| ·ARM Cortex-M内核指令集的特点 | 第26-28页 |
| ·中断异常控制器 | 第28-31页 |
| ·ARM Cortex-M中断过程描述 | 第28-29页 |
| ·嵌套向量中断控制器(NVIC) | 第29-31页 |
| ·存储器地址结构 | 第31-32页 |
| ·实现细节 | 第32-38页 |
| ·内核的总体框架 | 第32-34页 |
| ·指令集的实现 | 第34-36页 |
| ·中断的实现 | 第36-37页 |
| ·存储器模型的实现 | 第37-38页 |
| ·本章小结 | 第38-39页 |
| 4 基于GDB的调试架构设计与实现 | 第39-51页 |
| ·GDB调试器 | 第39页 |
| ·GDB调试方式 | 第39-41页 |
| ·本地调试 | 第39-40页 |
| ·远程调试 | 第40-41页 |
| ·RSP协议 | 第41-48页 |
| ·RSP数据包 | 第41-42页 |
| ·RSP基本协议 | 第42页 |
| ·GDB指令映射 | 第42-43页 |
| ·重要指令的对话流程 | 第43-48页 |
| ·Stub实现 | 第48-49页 |
| ·本章小结 | 第49-51页 |
| 5 外设模拟的设计与实现 | 第51-66页 |
| ·外部设备的种类 | 第51-53页 |
| ·串行总线 | 第51页 |
| ·外部存储器控制器 | 第51页 |
| ·网络设备 | 第51-52页 |
| ·DMA控制器 | 第52页 |
| ·通用IO端口 | 第52页 |
| ·定时器 | 第52页 |
| ·处理器内部控制设备 | 第52-53页 |
| ·模拟设备 | 第53页 |
| ·显示控制器 | 第53页 |
| ·片外设备 | 第53页 |
| ·基于软件模拟的外部设备 | 第53-57页 |
| ·外部设备模型 | 第53-54页 |
| ·串行方式 | 第54-55页 |
| ·并行方式 | 第55-56页 |
| ·混合方式 | 第56-57页 |
| ·基于硬件模拟的外部设备 | 第57-59页 |
| ·工作原理和基本组成 | 第58-59页 |
| ·硬件接口协议 | 第59页 |
| ·外部设备的实现细节 | 第59-65页 |
| ·寄存器接口的实现 | 第59-60页 |
| ·软件接口行为的实现 | 第60-63页 |
| ·硬件接口行为的实现 | 第63页 |
| ·用户界面 | 第63-65页 |
| ·本章小结 | 第65-66页 |
| 6 测试与分析 | 第66-71页 |
| ·功能测试与分析 | 第66-69页 |
| ·指令集功能 | 第66页 |
| ·调试功能 | 第66-67页 |
| ·外设功能 | 第67-68页 |
| ·外设功能 | 第68-69页 |
| ·性能测试与分析 | 第69-70页 |
| ·测试目的 | 第69页 |
| ·测试方案与过程 | 第69-70页 |
| ·本章小结 | 第70-71页 |
| 7 总结与展望 | 第71-73页 |
| ·总结 | 第71页 |
| ·展望 | 第71-73页 |
| 参考文献 | 第73-76页 |
| 附录 | 第76-104页 |
| 作者在攻读硕士学位期间发表的论文 | 第104-105页 |
| 致谢 | 第105页 |