产品资料

国产嵌入式软件系统仿真平台

如果您对该产品感兴趣的话,可以 sendmsg
产品名称: 国产嵌入式软件系统仿真平台
产品型号: SkyEye
产品展商: 其它品牌
产品文档: 无相关文档

简单介绍

国产嵌入式软件系统仿真平台SkyEye是一种高性能、高扩展性、易于复制使用的嵌入式软件系统仿真工具。在不具备目标硬件的情况下,国产嵌入式软件系统仿真平台SkyEye可以逼真地模拟嵌入式软件运行的物理环境,原来运行于真实硬件上的嵌入式软件,可以不加修改直接在仿真的系统中运行,其运行的动态特性与在真实硬件上一致,为进行嵌入式软件开发、调试和测试提供了理想的环境。


国产嵌入式软件系统仿真平台  的详细介绍

国产嵌入式软件系统仿真平台SkyEye   Simics软件  VTest软件


1.SkyEye的起源和发展

2002年11月,一个偶然的机会,一群操作系统的爱好者在网上进行聊天,成立了一个TM-Linux兴趣小组,希望要做一些感兴趣的事情。当时在清华大学计算机系做博士后的陈渝提出做一个用软件实现的嵌入式开发板硬件模拟器,可以在模拟器上运行各种操作系统,这样就可以在没有开发板的情况下学习和研究操作系统。一开始就陈渝一人做,首先他了解了当前国际上的一些类似的项目,发现杰出的μCLinux组织实现了一个armulator模拟器软件(在Linux系统上运行),可以模拟Ateml AT91(基于ARM7TDMI CPU)开发板,μCLinux可以在armulator(其网址为http://www.uclinux.org/pub/uCLinux/utilities/armulator/)上运行。于是陈渝以此为基点,借鉴armulator的实现,提出了SkyEye项目,其目标是让SkyEye仿真多种主流的嵌入式开发板和外设,实现一个可扩展的硬件模拟框架,让更多的嵌入式操作系统可以在SkyEye上运行。SkyEye项目于2002年12月1日正式建立后,陈渝完成的**件工作是把armulator移植到了cygwin/windows环境下,其成果被μCLinux组织接收。接下来清华大学计算机系硕士生李明加入到SkyEye的开发中,8天后,SkyEye的**个版本推出,再过了4天,μC/OS-II for SkyEye推出。在这期间,SkyEye的网站也建立起来了。紧接着,杨晔、王利明、尹首一等在校学生也加入到SkyEye的开发中,给SkyEye带来了新的活力,SkyEye进入了新的发展阶段,目前通过访问SkyEye的网站(http://www.skyeye.org/)和在linux公社上的SkyEye论坛( http://www.linuxfans.org)可以了解到SkyEye的*新进展并对有关嵌入式系统开发方面的问题进行交流,还可以到 http://gro.clinux.org/projects/skyeye/ 下载*新的SkyEye相关软件和文档。国产嵌入式软件系统仿真平台

2.SkyEye的背景

如果你看过电影"黑客帝国"(又称"matrix"),相信电影描述的虚幻世界会深深地吸引你,至少它是我们看过*有想象力的科幻电影之一。也许我们可以把SkyEye看作一个"matrix ",把运行在SkyEye上的各种程序看成是这个"matrix"中的芸芸众生。我们创造SkyEye和编写运行在SkyEye上运行的程序就是为了洞悉计算机的奥秘,尝尝当"造物主"的感觉。当看到各种软件Linux、μCLinux、μC/OS-II...在SkyEye上"愉快"地运行时,那种感觉真是太奇妙了。

对于想了解、学习一般操作系统的实现原理,Linux/μCLinux操作系统或TCP/IP等系统级软件的实现的人员,目前一般采用的方法是看书和读源代码,这是一种静态的学习方法,效率较低,比较枯燥,缺少亲自实践的感觉。要想深入分析和开发软件,就要动手编程,不能只是看看书,读读代码,只有通过亲手实践才能够掌握软件设计的核心内容。上面所指出的问题和需求促使SkyEye项目的诞生。

3.SkyEye的目标和意义

SkyEye是一个开源软件(OpenSource Software)项目,中文名字是"天目"。SkyEye的目标是在通用的Linux和Windows平台上实现一个纯软件集成开发环境,模拟常见的嵌入式计算机系统(这里假定"仿真"和"模拟"的意思基本相同);可在SkyEye上运行μCLinux以及μC/OS-II等多种嵌入式操作系统和各种系统软件(如TCP/IP,图形子系统,文件子系统等),并可对它们进行源码级的分析和测试。


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

二.SkyEye模拟硬件介绍

目前SkyEye模拟了大量的硬件,包括CPU内核、存储器、存储器管理单元、缓存单元、串口、网络芯片、时钟等。下面做一简单介绍。

1.CPU和开发板系列

目前SkyEye可以模拟的CPU主要是基于ARM内核的CPU,包括ARM7TDMI,ARM720T,ARM9TDMI,ARM9xx,ARM10xx,StrongARM,XScale等。ARM7/9/10TDMI是ARM系列CPU的基本核心部分,它们不支持MMU/CACHE和一些扩展指令,是ARM CPU基本核。ARM720T、ARM920T、ARM10xx、StrongARM、Xscale是建立在以上ARM CPU核上,并扩展了MMU/CACHE和其它功能。各硬件开发公司可以根据它们的需求在上述CPU核上加上特定的扩展,形成基于各种ARM基本核心的特定CPU,如Atmel91X40和 ep7312,分别扩展了ARM7TDMI和ARM720T的内存控制和各种I/O控制器,简化了开发板的逻辑设计,大大增强了开发板的功能。国产嵌入式软件系统仿真平台

目前SkyEye模拟的开发板包括基于Atmel 91X40/AT91RM92 CPU的开发板,基于Crirus Logic ep7312的开发板、基于StrongARM CPU的ADSBITSY开发板,基于XScale PXA250 CPU的LUBBOCK开发板、基于SAMSUNG S3C4510B/S3C44B0 CPU的开发板、基于SHARP LH7A400 CPU的开发板、基于Philip LPC22xx CPU的开发板等。主要模拟了对应各个开发板的串口、时钟、RAM、ROM、LCD、网络芯片等硬件外设。

2.存储器管理单元和缓存单元

MMU(Memory Management Unit)即存储器管理单元,是用来管理虚拟内存系统的硬件。MMU的两个主要功能是:将虚地址转换成物理地址;控制存储器的存取权限。MMU关掉时,虚地址直接输出到物理地址总线。MMU本身有少量存储空间存放从虚拟地址到物理地址的匹配表,此表称作TLB(Translation Lookaside Buffers)。TLB表中保存的是虚址及其对应的物理地址,权限,域和映射类型。当CPU对一虚拟地址进行存取时,首先搜索TLB表以查找对应的物理地址等信息,如果没有查到,则进行查找translation table,称为Translation Table Walk(简称TTW)。经过TTW过程后,将查到的信息保存到TLB。然后根据TLB表项的物理地址进行读写。CACHE是缓存单元,主要用于缓存内存中的数据,其读写速度远快于内存的读写速度,所以可以提高CPU的内存数据的访问效率。

write/read buffer硬件单元的作用与CACHE的作用类似。MMU、CACHE、write/read buffer一般是高性能CPU的重要组成部分,且不同类型CPU的MMU、CACHE、write/read buffer的逻辑行为也有一定的差异。为了支持模拟多种类型CPU的MMU/CACHE,SkyEye包含了一个通用的MMU/CACHE模拟实现。通过对一些参数的调整可以支持模拟多种类型的MMU/CACHE物理结构和逻辑行为。

3.网络芯片

目前SkyEye模拟了网络芯片8019AS,其特点是:NE2000兼容,内建 16KRAM缓冲区,10MB传输速率。虽然目前模拟的开发板上不一定有网络芯片8019AS,但我们可以在我们模拟的开发板上加上网络芯片8019AS的模拟。这样再加上在不同操作系统上的8019AS驱动程序,就可以方便地完成各种网络应用的开发和设计。目前已经在在基于Atmel91X40 CPU的开发板上实现了网络芯片8019AS扩展,并增加了μC/OS-II和μClinux的网络驱动程序,已经支持大量的网络应用程序,如LwIP (一个TCP/IP协议栈实现)、nfs server/clinet、http server/client、telnet server/client、ftp server/client等。

三.SkyEye的设计实现

1.SkyEye设计原则

SkyEye软件的核心在目标模拟模块。为了提高模拟效率,且能够模拟更多的CPU、开发板和各种外设,方便开发人员进行开发和学习,SkyEye遵循如下的设计原则:

用C语言编程,采用面向对象的方式定义各种要模拟的硬件;
定义抽象模拟硬件对象,*大化重用代码;
定义硬件配置脚本,使得不用改动SkyEye代码就可以灵活地调整各种硬件配置;
保持与GDB上层接口的一致性,这样可充分利用GDB强大的源代码级调试功能。

2.SkyEye的总体结构

SkyEye基于GDB/ARMulator(目前由David McCullough 维护),并进行了**的改变和扩展。SkyEye建立在GNU GDB的底层,可以模仿多种完整的嵌入式计算机系统,目前模拟的硬件包括CPU、内存、I/O寄存器、时钟、UART、网络芯片、MMU、CACHE,将来还会模拟 LCD、USB等各种硬件。在SkyEye上运行的操作系统和各种系统软件"意识"不到它们是在一个虚拟的计算机系统上运行。其他产品:微量氧分析仪,药品残氧仪,露点仪,热导气体分析仪,GE流量计,OX-1氧传感器,顶空分析仪,红外气体分析仪,高温湿度仪,西门子U23分析仪,ppb微量水分析仪,OXY.IQ氧分析仪,烟气湿度仪,燃气热值仪,Kaye温度验证仪,L&W白度,仪激光氧分析仪,压缩空气露点仪,干燥机露点仪,激光气体分析仪,便携式露点仪,便携式微量氧分析仪西门子氧电池\oxy-12\ultramat-23代表U23氧模块价格|PID传感器 |总代理|代表处|授权代理商|办事处|分公司|全资子公司|价格|品牌|批发|选型|维修|校准

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

用户接口模块:包括命令行用户界面和图形用户界面,完成处理用户的输入命令,并把相关调试数据输出给用户的任务。这一部分基本上直接利用了GDB的用户接口模块,并在此基础上有一定的扩充。
符号处理模块:主要处理执行文件的头信息,解释执行文件中内嵌的debuger调试信息,对符号表的管理,对源代码表达式的解析,定位源代码中的语句位置和机器码的位置关系等。这一部分也是直接利用了GDB的符号处理模块,也正是有了这个模块的支持,SkyEye可以支持源码级调试。
目标控制模块:主要完成执行控制(如中断程序的执行,设置中断条件等),程序栈结构分析,对具体目标硬件的控制(如本地调试、远程调试和模拟调试的控制)。这一部分完成对SkyEye上运行的软件的控制,提供了多种调试手段。
目标模拟模块:这一部分是SkyEye的核心。它的功能是模仿计算机系统中的主要硬件(包括CPU、内存和各种硬件外设等)的执行,对执行文件的机器指令进行解释,并模拟执行每一条机器指令,产生相应的硬件响应等。
更多国产嵌入式软件系统仿真平台信息请直接致电埃登威SkyEye上海021-55581219

产品留言
标题
联系人
联系电话
内容
验证码
点击换一张
注:1.可以使用快捷键Alt+S或Ctrl+Enter发送信息!
2.如有必要,请您留下您的详细联系方式!
联系我们

沪公网安备 31010902002456号