计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

个开放源码的嵌入式仿真环境——SkyEye(2)

2014-06-02 01:14
导读:SkyEye并不能完全取代开发板等硬件的功能,但通过它可以比较容易地进入到嵌入式软件开发的广阔天地中。由于SkyEye建立在GDB基础之上,使用者可以方便地

SkyEye并不能完全取代开发板等硬件的功能,但通过它可以比较容易地进入到嵌入式软件开发的广阔天地中。由于SkyEye建立在GDB基础之上,使用者可以方便地使用GDB提供的各种调试手段对SkyEye仿真系统上的软件进行源码级的调试,还可以进行各种分析,如执行点分析、程序执行覆盖度分析等。由于SkyEye提供了源代码和相关文档,有经验的用户完全可以修改和扩展SkyEye来满足自已的需求。

2 SkyEye的技术分析

2.1 SkyEye总体结构

SkyEye基于GDB/ARMulator,模仿了一个完整的嵌入式系统,目前包括CPU、内存、I/O寄存器、时钟、UART、网络芯片、MMU、Cache,将来还会仿真LCD、USB等各种硬件。在SkyEye上运行的操作系统和各种系统软件“意识”不到它们是在一个虚拟的计算机系统上运行。

SkyEye从总体上分为四个层次。

①用户接口模块:包括命令行用户界面和图形用户界面,及时处理用户的输入命令,并把相关调试数据输出给用户。

②符号处理模块:主要处理执行文件的头信息,解释执行文件中嵌的debuger调试信息,管理符号表,解析源代码表达式,定位源代码中的语句位置和机器码的位置关系等。

③目标控制模块:主要完成执行控制(如执行断程序,设置中断条件等),程序栈结构分析,对具体目标硬件的控制(如本地调试、远程调试和仿真调试的控制)。

④目标仿真模块:主要是模仿计算机系统中的主要硬件(包括CPU、内存和各种硬件外设等)的执行,对执行文件的机器指令进行解释,并仿真执行每一条机器指令,产生相应的硬件响应。

2.2 SkyEye模拟的硬件介绍

目前,SkyEye仿真的CPU包含不带MMU的AT91X40和带MMU的ARM720T,它们都是基于ARM7TDMI CPU内核的。SkyEye还模拟了其它硬件外设,如串口、网络芯片、内存、时钟、网络HUB等。SkyEye的CPU仿真主要完成对ARM指令集处理、寄存器操作和CPU流水线处理等的仿真。

ARM720T具有MMU(Memory Management Unit),即存储器管理单元,是用来管理虚拟内存系统的操作。MMU的两具主要功能是:

*将虚地址转换成物理地址;

*控制存储器存取允许,MMU关掉时,虚地址直

上一篇:一种用于单片机的红外串行通信接口 下一篇:没有了