📄 skyeye硬件模拟平台, 第一部分 skyeye 介绍.htm
字号:
border=0></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><!-- End Breadcrumb Trail --></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR vAlign=top>
<TD colSpan=5><IMG height=15 alt=""
src="SkyEye硬件模拟平台, 第一部分 SkyEye 介绍.files/c.gif" width=5 border=0></TD></TR>
<TR vAlign=top>
<TD width=2><IMG height=1 alt=""
src="SkyEye硬件模拟平台, 第一部分 SkyEye 介绍.files/c.gif" width=2 border=0></TD>
<TD><SPAN class=astitle>SkyEye硬件模拟平台, 第一部分: </SPAN><SPAN
class=atitle>SkyEye 介绍</SPAN></TD>
<TD width=8><IMG height=1 alt=""
src="SkyEye硬件模拟平台, 第一部分 SkyEye 介绍.files/c.gif" width=8 border=0></TD>
<TD vAlign=bottom align=right width=180><IMG height=1 alt=""
src="SkyEye硬件模拟平台, 第一部分 SkyEye 介绍.files/c.gif" width=180
border=0><BR><NOBR>
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR vAlign=bottom>
<TD vAlign=bottom></TD></TR></TBODY></TABLE></NOBR></TD>
<TD width=6><IMG height=1 alt=""
src="SkyEye硬件模拟平台, 第一部分 SkyEye 介绍.files/c.gif" width=6 border=0></TD></TR>
<TR vAlign=top>
<TD bgColor=#000000 colSpan=5><IMG height=1 alt=""
src="SkyEye硬件模拟平台, 第一部分 SkyEye 介绍.files/c.gif" width=100 border=0></TD></TR>
<TR vAlign=top>
<TD bgColor=#ffffff colSpan=5><IMG height=8 alt=""
src="SkyEye硬件模拟平台, 第一部分 SkyEye 介绍.files/c.gif" width=100
border=0></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR vAlign=top>
<TD width=5><IMG height=1 alt=""
src="SkyEye硬件模拟平台, 第一部分 SkyEye 介绍.files/c.gif" width=5 border=0></TD>
<TD width="100%">
<TABLE cellSpacing=0 cellPadding=0 width=168 align=right border=0>
<TBODY>
<TR>
<TD width=8><IMG height=21 alt=""
src="SkyEye硬件模拟平台, 第一部分 SkyEye 介绍.files/c.gif" width=5></TD>
<TD width=160>
<TABLE cellSpacing=0 cellPadding=0 width=160 border=0>
<TBODY>
<TR>
<TD width=160 bgColor=#000000 height=1><IMG height=1 alt=""
src="SkyEye硬件模拟平台, 第一部分 SkyEye 介绍.files/c.gif"
width=160></TD></TR>
<TR>
<TD align=middle
background="SkyEye硬件模拟平台, 第一部分 SkyEye 介绍.files/bg-gold.gif"
height=5><B>内容:</B></TD></TR>
<TR>
<TD width=160 bgColor=#666666 height=1><IMG height=1 alt=""
src="SkyEye硬件模拟平台, 第一部分 SkyEye 介绍.files/c.gif"
width=160></TD></TR>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=0 width=160 border=0>
<TBODY>
<TR>
<TD><A
href="http://www-900.ibm.com/developerworks/cn/linux/l-skyeye/part1/index.shtml#IDANDWNB">一.SkyEye介绍</A></TD></TR>
<TR>
<TD height=1><IMG height=5 alt=""
src="SkyEye硬件模拟平台, 第一部分 SkyEye 介绍.files/c.gif"
width=160></TD></TR>
<TR>
<TD><A
href="http://www-900.ibm.com/developerworks/cn/linux/l-skyeye/part1/index.shtml#IDAZEWNB">二.SkyEye模拟硬件介绍
</A></TD></TR>
<TR>
<TD height=1><IMG height=5 alt=""
src="SkyEye硬件模拟平台, 第一部分 SkyEye 介绍.files/c.gif"
width=160></TD></TR>
<TR>
<TD><A
href="http://www-900.ibm.com/developerworks/cn/linux/l-skyeye/part1/index.shtml#IDATFWNB">三.SkyEye的设计实现</A></TD></TR>
<TR>
<TD height=1><IMG height=5 alt=""
src="SkyEye硬件模拟平台, 第一部分 SkyEye 介绍.files/c.gif"
width=160></TD></TR>
<TR>
<TD><A
href="http://www-900.ibm.com/developerworks/cn/linux/l-skyeye/part1/index.shtml#IDALGWNB">四.小结</A></TD></TR>
<TR>
<TD height=1><IMG height=5 alt=""
src="SkyEye硬件模拟平台, 第一部分 SkyEye 介绍.files/c.gif"
width=160></TD></TR>
<TR>
<TD><A
href="http://www-900.ibm.com/developerworks/cn/linux/l-skyeye/part1/index.shtml#resources">参考资料
</A></TD></TR>
<TR>
<TD height=1><IMG height=5 alt=""
src="SkyEye硬件模拟平台, 第一部分 SkyEye 介绍.files/c.gif"
width=160></TD></TR><!--Standard links for every dw-article-->
<TR>
<TD height=1><IMG height=5 alt=""
src="SkyEye硬件模拟平台, 第一部分 SkyEye 介绍.files/c.gif"
width=160></TD></TR>
<TR>
<TD><A
href="http://www-900.ibm.com/developerworks/cn/linux/l-skyeye/part1/index.shtml#author1">关于作者</A></TD></TR>
<TR>
<TD height=1><IMG height=5 alt=""
src="SkyEye硬件模拟平台, 第一部分 SkyEye 介绍.files/c.gif"
width=160></TD></TR>
<TR>
<TD><A
href="http://www-900.ibm.com/developerworks/cn/linux/l-skyeye/part1/index.shtml#rating">对本文的评价</A></TD></TR>
<TR>
<TD><IMG height=10 alt=""
src="SkyEye硬件模拟平台, 第一部分 SkyEye 介绍.files/c.gif"
width=160></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=160 border=0>
<TBODY>
<TR>
<TD width=150 bgColor=#000000 colSpan=2 height=2><IMG height=2
alt="" src="SkyEye硬件模拟平台, 第一部分 SkyEye 介绍.files/c.gif"
width=160></TD></TR>
<TR>
<TD width=150 bgColor=#ffffff colSpan=2 height=2><IMG height=2
alt="" src="SkyEye硬件模拟平台, 第一部分 SkyEye 介绍.files/c.gif"
width=160></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR vAlign=top align=left>
<TD>
<P>级别: 初级</P></TD></TR></TBODY></TABLE>
<P><A
href="http://www-900.ibm.com/developerworks/cn/linux/l-skyeye/part1/index.shtml#author1"><NAME>陈渝</NAME></A>
(<A href="mailto:yuchen@tsinghua.edu.cn">yuchen@tsinghua.edu.cn</A>)
<BR>清华大学<BR>2004 年 9 月 </P>
<BLOCKQUOTE>本文主要介绍了SkyEye硬件模拟平台起源,背景和发展状况。SkyEye是一个可以模拟嵌入式硬件开发板的系统软件。通过SkyEye的了解,有助于对嵌入式硬件系统有更深入的认识,特别是对操作系统、驱动程序如何与嵌入式硬件系统进行交互有更深刻的了解。</BLOCKQUOTE>
<P><A name=IDANDWNB><SPAN class=atitle2>一.SkyEye介绍</SPAN></A><BR></P>
<P><A name=IDASDWNB><SPAN
class=atitle3>1.SkyEye的起源和发展</SPAN></A><BR>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论坛(<A
href="http://www.linuxfans.org/" target=_blank
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dw="http://www.ibm.com/developerWorks/"
trackclick="no">http://www.linuxfans.org/</A>)可以了解到SkyEye的最新进展并对有关嵌入式系统开发方面的问题进行交流,还可以到<A
href="http://gro.clinux.org/projects/skyeye/" target=_blank
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dw="http://www.ibm.com/developerWorks/"
trackclick="no">http://gro.clinux.org/projects/skyeye/</A>
下载最新的SkyEye相关软件和文档。</P>
<P><A name=IDADEWNB><SPAN
class=atitle3>2.SkyEye的背景</SPAN></A><BR>如果你看过电影"黑客帝国"(又称"matrix"),相信电影描述的虚幻世界会深深地吸引你,至少它是我们看过最有想象力的科幻电影之一。也许我们可以把SkyEye看作一个"matrix
",把运行在SkyEye上的各种程序看成是这个"matrix"中的芸芸众生。我们创造SkyEye和编写运行在SkyEye上运行的程序就是为了洞悉计算机的奥秘,尝尝当"造物主"的感觉。当看到各种软件Linux、μCLinux、μC/OS-II...在SkyEye上"愉快"地运行时,那种感觉真是太奇妙了。
</P>
<P>对于那些想进行嵌入式系统软件开发和学习,或者想研究嵌入式Linux等操作系统和一些底层系统软件(如TCP/IP等)的研究和开发人员来说,可能存在如下几方面的问题:(1)经常苦于经费不足,缺少足够的硬件开发板和完善的软件开发环境,相关的书籍对一些最新软件的分析还不够全面,无法深入研究和开发嵌入式软件。(2)高层次的软件设计和开发一般不用太考虑底层硬件的实现细节,如果直接处于一个具体的硬件环境下,在开发和研究中可能会陷入硬件的具体细节中不能自拔,而不能把精力放到高层次的软件设计和开发上。(3)如果硬件开发环境不太稳定(这种情况经常见到),且对具体的硬件不是很了解,则可能在排除问题上花费大量的不必要的时间。(4)如果你想自己尝试设计一个操作系统,则先在一个提供源码级调试的软件仿真器上进行开发,可能会大大提高你的开发进度。</P>
<P>对于想了解、学习一般操作系统的实现原理,Linux/μCLinux操作系统或TCP/IP等系统级软件的实现的人员,目前一般采用的方法是看书和读源代码,这是一种静态的学习方法,效率较低,比较枯燥,缺少亲自实践的感觉。要想深入分析和开发软件,就要动手编程,不能只是看看书,读读代码,只有通过亲手实践才能够掌握软件设计的核心内容。上面所指出的问题和需求促使SkyEye项目的诞生。
</P>
<P><A name=IDALEWNB><SPAN class=atitle3>3.SkyEye的目标和意义
</SPAN></A><BR>SkyEye是一个开源软件(OpenSource
Software)项目,中文名字是"天目"。SkyEye的目标是在通用的Linux和Windows平台上实现一个纯软件集成开发环境,模拟常见的嵌入式计算机系统(这里假定"仿真"和"模拟"的意思基本相同);可在SkyEye上运行μCLinux以及μC/OS-II等多种嵌入式操作系统和各种系统软件(如TCP/IP,图形子系统,文件子系统等),并可对它们进行源码级的分析和测试。</P>
<P>纯软件的模拟器有许多种,如模拟一个芯片时序逻辑的模拟器、只模拟CPU指令的模拟器、模拟整个硬件开发板的模拟器、模拟一个PDA的模拟器等。存在一些纯软件的仿真器或模拟器,如Stanford大学的SimOS模拟器,它仿真的是MIPS系列CPU和相关外设,可以在其上运行SGI公司的Irix操作系统和软件,目前基本上停止了进一步的开发;PSIM是一个仿真PowerPC指令集的模拟器,目前只支持简单的命令行应用程序;xcopilot是一个PDA模拟器,它是由Greg
Hewgill出于个人喜好编写的,它仿真的是M68K
CPU,通过它可以给基于PalmOS的软件开发者提供一个模拟开发环境。Bochs是一个仿真x86 CPU的开源项目,目前还支持AMD64
CPU,在它上面可以运行Linux操作系统。其它一些商业的仿真软件如vmware和virtualPC可以仿真一个真实的x86计算机,而Virtutech
Simics仿真器可以仿真多种CPU和硬件,功能强大,可用于硬件和系统软件的评测。</P>
<P>SkyEye是一个指令级模拟器,可以模拟多种嵌入式开发板,可支持多种CPU指令集,在SkyEye上运行的操作系统意识不到它是在一个虚拟的环境中运行,而且开发人员可以通过SkyEye调试操作系统和系统软件。由于SkyEye的目标不是验证硬件逻辑,而是协助开发、调试和学习系统软件,所以在实现上SkyEye与真实的硬件环境相比还是有一定差别的。SkyEye在时钟节拍的时序上不保证与硬件完全相同,对软件透明的一些硬件仿真进行了一定的简化。这样带来的好处是SkyEye的执行效率更高。SkyEye的推出具有下面三方面的意义:</P>
<UL xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -