官术网_书友最值得收藏!

1.3 虛擬硬件的安裝和使用

現在雖然我們已經編譯生成了一個應用程序,但卻沒有辦法運行它。其中的道理很簡單,我們使用ARM編譯器交叉編譯生成的可執行程序,自然是只有在ARM硬件環境下才能夠使用。

一個最直接的方法,就是使用ARM開發平臺。市面上基于ARM的開發板多如牛毛,無論選擇哪一款,都可以幫助我們將操作系統運行起來。但很顯然,這種方法并不具備可操作性。其中的一個原因是這樣將會無端地增加我們的學習成本。另一個原因是,由于各種開發板的芯片選型、電路設計都不盡相同,使用這些開發平臺進行開發,我們將會陷入無盡的硬件細節當中,將不能夠從宏觀的角度去理解操作系統的原理。

為了解決這個問題,我們需要借助一種特殊的軟件來運行編譯器生成的ARM程序,這就是虛擬機。

虛擬機是運行在PC中的一種軟件,能夠模擬出ARM硬件環境。這樣一來,我們既不必在操作系統的編寫和學習過程中多花一分錢,又能擁有一個統一的硬件平臺,不至于牽扯過多的硬件細節,迷失到森林之中。

有很多免費的ARM虛擬機可供選擇,SkyEye正是其中之一。

SkyEye是一個開源軟件項目,其目標是在通用的Linux和Windows平臺上實現一個純軟件集成開發環境,模擬常見的嵌入式計算機系統。我們可在SkyEye上運行μClinux以及μC/OS-II、Linux等多種嵌入式操作系統和各種系統軟件,并可對它們進行源碼級的分析和測試。SkyEye是一個指令級模擬器,可以模擬多種嵌入式開發板,可支持多種CPU指令集,并支持網絡、Flash等大量硬件。在SkyEye上運行的操作系統意識不到它是在一個虛擬的環境中運行的。值得一提的是,SkyEye項目是由清華大學的博士后陳先生發起的,是屬于我們中國人的優秀軟件項目。

與SkyEye類似的虛擬機還有QEMU。從某種程度上說,QEMU較之于SkyEye更加優秀。但是本書最終選擇了SkyEye而放棄了QEMU,主要有以下兩個原因:

第一,SkyEye易于配置,方便使用。我們可以通過修改配置文件,輕松地搭建出具有任何硬件特性的虛擬平臺。

第二,SkyEye對時下比較流行的幾款ARM芯片支持良好,如SAMSUNG的s3c系列及ATMEL的AT91系列等。擁有ARM知識基礎的讀者對這兩個系列的芯片應該都有所了解。以這些常用芯片為基礎進行操作系統的開發,將有利于為那些只是略懂硬件的讀者撥開硬件迷霧,更清晰地看清楚操作系統的全貌。

ARM虛擬機既已選定,接著我們就來了解一下SkyEye的安裝與使用。

主站蜘蛛池模板: 靖宇县| 东宁县| 潜江市| 罗甸县| 丹江口市| 万源市| 昌邑市| 勐海县| 武城县| 昌吉市| 余江县| 新野县| 霍城县| 武清区| 阜平县| 辉南县| 乌拉特后旗| 五指山市| 龙胜| 太仆寺旗| 太白县| 平遥县| 棋牌| 鸡泽县| 托克托县| 太谷县| 玛沁县| 遵义县| 安多县| 尼木县| 南雄市| 枝江市| 景德镇市| 农安县| 平罗县| 离岛区| 沾化县| 离岛区| 金溪县| 突泉县| 岑溪市|