嵌入式系统仿真环境—skyeye

嵌入式系统仿真环境—skyeye

ID:24247717

大小:55.00 KB

页数:6页

时间:2018-11-11

嵌入式系统仿真环境—skyeye_第1页
嵌入式系统仿真环境—skyeye_第2页
嵌入式系统仿真环境—skyeye_第3页
嵌入式系统仿真环境—skyeye_第4页
嵌入式系统仿真环境—skyeye_第5页
资源描述:

《嵌入式系统仿真环境—skyeye》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、嵌入式系统仿真环境—SkyEye

2、第1摘要:本文全面分析了开放源码的嵌入式系统仿真集成开发环境SkyEye,并对SkyEye上已经移植成功的操作系统、典型应用进行了介绍,最后讲述了SkyEye正在开展的工作和将来的发展方向。关键词:嵌入式系统;仿真环境;SkyEye;Linux;mClinux;mC/OS-IISkyEyeSkyEye是一个在Linux和系列CPU所占比重相当大,因此SkyEye首先选择了ARMCPU核作为仿真目标CPU核。SkyEye可用于学习、分析、开发Linux、mClinux、

3、mC/OS-II操作系统内核和TCP/IP实现,了解ARM嵌入式CPU编程,而这一切都可在一个集成环境中完成。如果能够改进SkyEye本身,则大家对ARM、8019ether网络芯片等硬件的了解也会更深入。由于SkyEye与GDB可以无缝结合,开发者可以方便地使用GDB提供的各种调试手段对SkyEye仿真系统上的软件进行源码级调试,还可以进行各种分析,如执行热点分析、程序执行覆盖度分析等。SkyEye技术分析SkyEye实现的硬件仿真*CPU和开发板系列目前SkyEye可以仿真的CPU主要是基于ARM

4、内核的CPU,包括ARM7TDMI、StrongARM、ARM720T、ARM9TDMI、ARM9xx、ARM10xx、Xscale、Ateml91x40、EP7312等。各硬件开发公司可以根据它们的需求在上述CPU核上加上特定的扩展,形成基于各种ARM基本核心的特定CPU,如Atmel91X40和EP7312,则分别扩展了ARM7TDMI和ARM720T的内存控制和各种I/O控制器,简化了开发板的逻辑设计,增强了开发板的功能。目前SkyEye仿真的开发板包括基于Atmel91x40、EP7312和S

5、trongARM的adsbitsy开发板,以及基于XScalePXA250的lubbock开发板。主要仿真了对应各个开发板的串口、时钟、RAM、ROM等硬件外设。*存储器管理单元和缓存单元MMU即存储器管理单元,是用来管理虚拟内存系统的硬件。MMU的两个主要功能是:将虚拟地址转换成物理地址;控制存储器的存取权限。MMU关掉时,虚拟地址直接输出到物理地址总线。MMU本身有少量存储空间存放从虚拟地址到物理地址的匹配表,此表称作TLB。为了支持仿真多种类型CPU的MMU/Cache,SkyEye包含了一个通

6、用的MMU/Cache仿真实现。通过对一些参数的调整可以支持仿真多种类型的MMU/cache物理结构和逻辑行为。*网络芯片目前SkyEye仿真了8019as网络芯片,其特点是:NE2000兼容,内建16KRAM缓冲区,10MB传输速率。开发板上可以加入网络芯片8019as,再加上不同操作系统上的8019as驱动程序,可以完成各种网络应用设计开发。目前已经在在基于Atmel91x40的开发板上实现了网络芯片8019as扩展,并增加了mC/OS-II和mClinux的网络驱动程序,支持大量的网络应用程序,

7、如lulator,可以仿真完整的嵌入式计算机系统,目前包括CPU、内存、I/O寄存器、时钟、UART、网络芯片,将来还会有MMU、Cache、LCD、USB等各种硬件。SkyEye从总体上分为以下四个层次。用户接口模块:处理用户的输入命令,并把相关调试数据输出给用户。符号处理模块:主要处理执行文件的头信息,解释执行文件中内嵌的debuger调试信息,以及对符号表的管理和对源代码表达式的解析,并定位源代码中的语句位置和机器码的位置关系等。目标控制模块:主要完成执行控制(如中断执行,中断条件的设置等)、程

8、序栈结构分析,以及对具体目标硬件的控制(如本地调试、远程调试和仿真调试的控制)。目标仿真模块:仿真主要硬件的执行,对执行文件的机器指令进行解释,并仿真执行每一条机器指令,产生相应的硬件响应。SkyEye上运行的应用由于已经实现多种软件的移植,目前在SkyEye的仿真硬件上可以运行多种操作系统、驱动程序、网络协议栈和各种应用软件。ARMLinuxLinux原本被设计为桌面系统,现在广泛应用于服务器领域,而更大的影响在于它正逐渐应用于嵌入式设备。由于SkyEye仿真的CPU基本上基于ARM核,所以目前可以

9、支持面向ARM核的Linux操作系统-ARMLinux。mClinuxmClinux主要针对没有MMU的处理器,而标准的Linux只支持带MMU的CPU。为了减少OS的尺寸,mClinux采用了如下做法:删除不需要的内核功能,重新配置内核;mClinux的根(root)文件系统采用romfs文件系统;mClinux的应用程序库为精简的uClibc,而不是庞大的glibc。mC/OS-II无论是通过学习mC/OS-II来了解实时操作系统的构造,或者是直接使

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。