?? 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>內(nèi)容:</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的設(shè)計(jì)實(shí)現(xiàn)</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">四.小結(jié)</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">關(guān)于作者</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>清華大學(xué)<BR>2004 年 9 月 </P>
<BLOCKQUOTE>本文主要介紹了SkyEye硬件模擬平臺起源,背景和發(fā)展?fàn)顩r。SkyEye是一個可以模擬嵌入式硬件開發(fā)板的系統(tǒng)軟件。通過SkyEye的了解,有助于對嵌入式硬件系統(tǒng)有更深入的認(rèn)識,特別是對操作系統(tǒng)、驅(qū)動程序如何與嵌入式硬件系統(tǒng)進(jìn)行交互有更深刻的了解。</BLOCKQUOTE>
<P><A name=IDANDWNB><SPAN class=atitle2>一.SkyEye介紹</SPAN></A><BR></P>
<P><A name=IDASDWNB><SPAN
class=atitle3>1.SkyEye的起源和發(fā)展</SPAN></A><BR>2002年11月,一個偶然的機(jī)會,一群操作系統(tǒng)的愛好者在網(wǎng)上進(jìn)行聊天,成立了一個TM-Linux興趣小組,希望要做一些感興趣的事情。當(dāng)時在清華大學(xué)計(jì)算機(jī)系做博士后的陳渝提出做一個用軟件實(shí)現(xiàn)的嵌入式開發(fā)板硬件模擬器,可以在模擬器上運(yùn)行各種操作系統(tǒng),這樣就可以在沒有開發(fā)板的情況下學(xué)習(xí)和研究操作系統(tǒng)。一開始就陳渝一人做,首先他了解了當(dāng)前國際上的一些類似的項(xiàng)目,發(fā)現(xiàn)著名的μCLinux組織實(shí)現(xiàn)了一個armulator模擬器軟件(在Linux系統(tǒng)上運(yùn)行),可以模擬Ateml
AT91(基于ARM7TDMI
CPU)開發(fā)板,μCLinux可以在armulator(其網(wǎng)址為http://www.uclinux.org/pub/uCLinux/utilities/armulator/)上運(yùn)行。于是陳渝以此為基點(diǎn),借鑒armulator的實(shí)現(xiàn),提出了SkyEye項(xiàng)目,其目標(biāo)是讓SkyEye仿真多種主流的嵌入式開發(fā)板和外設(shè),實(shí)現(xiàn)一個可擴(kuò)展的硬件模擬框架,讓更多的嵌入式操作系統(tǒng)可以在SkyEye上運(yùn)行。SkyEye項(xiàng)目于2002年12月1日正式建立后,陳渝完成的第一件工作是把a(bǔ)rmulator移植到了cygwin/windows環(huán)境下,其成果被μCLinux組織接收。接下來清華大學(xué)計(jì)算機(jī)系碩士生李明加入到SkyEye的開發(fā)中,8天后,SkyEye的第一個版本推出,再過了4天,μC/OS-II
for
SkyEye推出。在這期間,SkyEye的網(wǎng)站也建立起來了。緊接著,楊曄、王利明、尹首一等在校學(xué)生也加入到SkyEye的開發(fā)中,給SkyEye帶來了新的活力,SkyEye進(jìn)入了新的發(fā)展階段,目前通過訪問SkyEye的網(wǎng)站(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的最新進(jìn)展并對有關(guān)嵌入式系統(tǒng)開發(fā)方面的問題進(jìn)行交流,還可以到<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相關(guān)軟件和文檔。</P>
<P><A name=IDADEWNB><SPAN
class=atitle3>2.SkyEye的背景</SPAN></A><BR>如果你看過電影"黑客帝國"(又稱"matrix"),相信電影描述的虛幻世界會深深地吸引你,至少它是我們看過最有想象力的科幻電影之一。也許我們可以把SkyEye看作一個"matrix
",把運(yùn)行在SkyEye上的各種程序看成是這個"matrix"中的蕓蕓眾生。我們創(chuàng)造SkyEye和編寫運(yùn)行在SkyEye上運(yùn)行的程序就是為了洞悉計(jì)算機(jī)的奧秘,嘗嘗當(dāng)"造物主"的感覺。當(dāng)看到各種軟件Linux、μCLinux、μC/OS-II...在SkyEye上"愉快"地運(yùn)行時,那種感覺真是太奇妙了。
</P>
<P>對于那些想進(jìn)行嵌入式系統(tǒng)軟件開發(fā)和學(xué)習(xí),或者想研究嵌入式Linux等操作系統(tǒng)和一些底層系統(tǒng)軟件(如TCP/IP等)的研究和開發(fā)人員來說,可能存在如下幾方面的問題:(1)經(jīng)常苦于經(jīng)費(fèi)不足,缺少足夠的硬件開發(fā)板和完善的軟件開發(fā)環(huán)境,相關(guān)的書籍對一些最新軟件的分析還不夠全面,無法深入研究和開發(fā)嵌入式軟件。(2)高層次的軟件設(shè)計(jì)和開發(fā)一般不用太考慮底層硬件的實(shí)現(xiàn)細(xì)節(jié),如果直接處于一個具體的硬件環(huán)境下,在開發(fā)和研究中可能會陷入硬件的具體細(xì)節(jié)中不能自拔,而不能把精力放到高層次的軟件設(shè)計(jì)和開發(fā)上。(3)如果硬件開發(fā)環(huán)境不太穩(wěn)定(這種情況經(jīng)常見到),且對具體的硬件不是很了解,則可能在排除問題上花費(fèi)大量的不必要的時間。(4)如果你想自己嘗試設(shè)計(jì)一個操作系統(tǒng),則先在一個提供源碼級調(diào)試的軟件仿真器上進(jìn)行開發(fā),可能會大大提高你的開發(fā)進(jìn)度。</P>
<P>對于想了解、學(xué)習(xí)一般操作系統(tǒng)的實(shí)現(xiàn)原理,Linux/μCLinux操作系統(tǒng)或TCP/IP等系統(tǒng)級軟件的實(shí)現(xiàn)的人員,目前一般采用的方法是看書和讀源代碼,這是一種靜態(tài)的學(xué)習(xí)方法,效率較低,比較枯燥,缺少親自實(shí)踐的感覺。要想深入分析和開發(fā)軟件,就要動手編程,不能只是看看書,讀讀代碼,只有通過親手實(shí)踐才能夠掌握軟件設(shè)計(jì)的核心內(nèi)容。上面所指出的問題和需求促使SkyEye項(xiàng)目的誕生。
</P>
<P><A name=IDALEWNB><SPAN class=atitle3>3.SkyEye的目標(biāo)和意義
</SPAN></A><BR>SkyEye是一個開源軟件(OpenSource
Software)項(xiàng)目,中文名字是"天目"。SkyEye的目標(biāo)是在通用的Linux和Windows平臺上實(shí)現(xiàn)一個純軟件集成開發(fā)環(huán)境,模擬常見的嵌入式計(jì)算機(jī)系統(tǒng)(這里假定"仿真"和"模擬"的意思基本相同);可在SkyEye上運(yùn)行μCLinux以及μC/OS-II等多種嵌入式操作系統(tǒng)和各種系統(tǒng)軟件(如TCP/IP,圖形子系統(tǒng),文件子系統(tǒng)等),并可對它們進(jìn)行源碼級的分析和測試。</P>
<P>純軟件的模擬器有許多種,如模擬一個芯片時序邏輯的模擬器、只模擬CPU指令的模擬器、模擬整個硬件開發(fā)板的模擬器、模擬一個PDA的模擬器等。存在一些純軟件的仿真器或模擬器,如Stanford大學(xué)的SimOS模擬器,它仿真的是MIPS系列CPU和相關(guān)外設(shè),可以在其上運(yùn)行SGI公司的Irix操作系統(tǒng)和軟件,目前基本上停止了進(jìn)一步的開發(fā);PSIM是一個仿真PowerPC指令集的模擬器,目前只支持簡單的命令行應(yīng)用程序;xcopilot是一個PDA模擬器,它是由Greg
Hewgill出于個人喜好編寫的,它仿真的是M68K
CPU,通過它可以給基于PalmOS的軟件開發(fā)者提供一個模擬開發(fā)環(huán)境。Bochs是一個仿真x86 CPU的開源項(xiàng)目,目前還支持AMD64
CPU,在它上面可以運(yùn)行Linux操作系統(tǒng)。其它一些商業(yè)的仿真軟件如vmware和virtualPC可以仿真一個真實(shí)的x86計(jì)算機(jī),而Virtutech
Simics仿真器可以仿真多種CPU和硬件,功能強(qiáng)大,可用于硬件和系統(tǒng)軟件的評測。</P>
<P>SkyEye是一個指令級模擬器,可以模擬多種嵌入式開發(fā)板,可支持多種CPU指令集,在SkyEye上運(yùn)行的操作系統(tǒng)意識不到它是在一個虛擬的環(huán)境中運(yùn)行,而且開發(fā)人員可以通過SkyEye調(diào)試操作系統(tǒng)和系統(tǒng)軟件。由于SkyEye的目標(biāo)不是驗(yàn)證硬件邏輯,而是協(xié)助開發(fā)、調(diào)試和學(xué)習(xí)系統(tǒng)軟件,所以在實(shí)現(xiàn)上SkyEye與真實(shí)的硬件環(huán)境相比還是有一定差別的。SkyEye在時鐘節(jié)拍的時序上不保證與硬件完全相同,對軟件透明的一些硬件仿真進(jìn)行了一定的簡化。這樣帶來的好處是SkyEye的執(zhí)行效率更高。SkyEye的推出具有下面三方面的意義:</P>
<UL xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -