PDA設備的Linux配置及其編譯_第1頁
PDA設備的Linux配置及其編譯_第2頁
PDA設備的Linux配置及其編譯_第3頁
PDA設備的Linux配置及其編譯_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、PDA設備的Linux配置及其編譯        摘要:本文通過引出在PDA上使用Linux的優(yōu)勢,著重介紹在Compaq iPAQ高端PDA上使用的幾款Linux配置版本,以及安裝配置和編譯的過程。另外,對其圖形用戶界面的實現和文件系統(tǒng)的選擇也進行了論述。  引言Linux是一個成熟又通用的操作系統(tǒng),可運行在多種硬件平臺上(如Intel、Power PC、Sparc、Alpha、ARM等)。它有一個小巧高效的內核,僅包含系統(tǒng)運行最必需的功能,而將可選的部分設計成內核模塊。系統(tǒng)啟動時,僅加載一個小的內核(

2、0.5MB左右),當需要某些額外功能時,再臨時將相應的功能模塊插入內核,不使用時,立刻將其撤出,并釋放占用的資源。它的設備驅動程序、文件系統(tǒng)、網絡協(xié)議等均被設計成了內核模塊。當前PDA產品的硬件配置與普通PC機相比有很大的不同。在PDA中只有一些小容量的按塊進行操作的閃存和小的液晶屏,處理器能力也較弱,沒有鍵盤和鼠標,導致其文件系統(tǒng)和應用程序的圖形用戶界面受到了很大限制。因此在PDA上選用小而高效內核的Linux作為其操作系統(tǒng)成為發(fā)展趨勢。圖1 iPAQ中不同配置版本的關系圖Linux在PAD上的版本及其配置在大多數PDA中使用的是標準的Linux內核,本文將以Compaq iPAQ 36XX

3、系列中所采用的Linux版本為例,說明iPAQ中Linux的配置,它是由Compaq Research Laboratories(CRL)開發(fā)的一種高端PDA設備,采用206MHz的Intel StrongARM RISC處理器和32MB的RAM,還有16MB的非易失性閃存,其顯示屏為320*240的液晶顯示屏,輸入設備為觸屏和一些按鍵,iPAQ還包括內置的揚聲器、耳機和麥克風插槽以及USB接口,還可根據需要購買PCMCIA和CF卡。IPAQ有五種Linux配置(Debian、HandH、Familiar、PocketLinux、Microwindows),雖然這些配置版本表面

4、上不同,但是核心都是由CRL的原始版本發(fā)展而來,圖1說明了這些版本之間的關系。其中HandH是在Debian版本上發(fā)展而來,其它三個版本從HandH上發(fā)展而來。下面對后四個版本進行詳細介紹:HandH HandH是經Debian/GNU修改而得。它的0.21版本中包含有2.4版本的Linux內核以及command shell(bash)等用戶指令,同時移植了X11-server(Xfree86)和TWM窗口>' target='_blank' class='infotextkey'&g

5、t;管理器來實現圖形的顯示,由于使用了Linux的幀緩存,因而可使用Xfebdev(X-server)來描述服務器。該版本中還含有觸屏的驅動程序以及一些示例性的軟件,如屏幕校準和適用于X的虛擬鍵盤,以及MP3播放器和簡單的瀏覽器。HandH中的用戶界面是基于TWM窗口>' target='_blank' class='infotextkey'>管理器的,它不適于小屏幕顯示,它的優(yōu)勢是網絡功能,該版本中提供了針對于朗訊公司的WLAN卡(Lucent Orinoco 802.11b)的內核模塊,可向用戶提供telnet、ftp和網

6、絡文件系統(tǒng)等功能,同時還包括PCMCIA卡的軟件服務并支持熱拔插(需驅動程序),其不足之處在于它里面沒有如記事本、電話簿、日歷等相應軟件。從整體上看,HandH提供的版本比較適合于程序員用來開發(fā)自己在iPAQ上的軟件或是構建新版本。該版本提供GCC工具,還免費向用戶提供帶有共享文件系統(tǒng)的StrongARM組件(由6塊芯片組成)。iPAQ的內核開發(fā)是完全公開的,任何人都可從網上下載到升級的內核代碼,目前代碼升級集中在電源>' target='_blank' class='infotextkey'>管理的優(yōu)化和JFFS2(Joun

7、aling Falsh Filesystem)的開發(fā)。圖2 PocketLinux分層結構圖圖3 Microwindows層次結構圖FamiliarFamiliar是基于HandHelds的版本,它的內核和X-server完全一樣,但是窗口>' target='_blank' class='infotextkey'>管理器有所不同。Familiar的窗口>' target='_blank' class='infotextkey'>管理器是為小型設備所設計,其中包括Agenda Applica

8、tions等應用程序用來實現記事本、日歷等相應功能。Familiar版本中還實現了手寫識別功能,用戶可以在屏幕的任意位置上書寫。此外Familiar還有一個非官方版本可支持JFFS2文件系統(tǒng)。PocketLinuxPocketLinux是由Transvirtual Technologies開發(fā)的基于HandHelds的版本,它實現了Java的編譯環(huán)境(Kaffe),該版本具有和X-server一樣的內核,但用戶界面是基于Kaffe上的Java編譯產生的。PocketLinux的分層結構圖如圖2所示。PocketLinux中含有基于XML的模塊,可以快速創(chuàng)建UI和在PocketLinux程序之間

9、交換信息。但是XML不太穩(wěn)定,而且速度很慢。MicrowindowsMicrowindows是由Century Software開發(fā)的,含有Microwindows GUI環(huán)境和PIM(Personal Information Management)的版本。Century Software在開發(fā)中采用了自己的圖形工具集Microwindows來取代X-server,其目的在于使用更小的內存和功耗來實現圖形用戶界面。MicroWindows采用分層結構設計方法,允許改變不同的層來適應實際應用,在底層提供對屏幕、鼠標/觸摸屏和鍵盤的驅動,使程序能訪問實際的硬件設備和其它用戶定制設備;在中間層有一個

10、可移植圖形引擎,提供繪制線條、區(qū)域填充、繪制多邊形、裁剪和使用顏色模式的方法;在頂層實現多種API以適應不同的應用環(huán)境。Microwindows可移植性非常好,可用 C 語言實現,只有某些關鍵部分要求用匯編語言以提高執(zhí)行速度,實現了兩個API函數,同時支持Win32和X11,可以方便的移植Windows或Unix/X11中的代碼。目前它使用兩種流行的圖形編程接口:Win32/WinCE圖形顯示接口(GDI)和Xlib-like接口。圖3所示為Microwindows的層次結構圖。Nano-X組件可以為應用程序提供GUI服務,從某種意義上來說,它近似于X-server。Nano-X服務器大小約為

11、210KB,在iPAQ上運行時需占用1MB的內存空間,而HandHelds使用的X-server(Xfbdev)大小約為870KB,運行時需占用3.5MB的RAM,相比之下Nano-X更為高效。但是Microwindows沒有X11結構中的窗口>' target='_blank' class='infotextkey'>管理器,每個應用程序都需要自己來>' target='_blank' class='infotextkey'>管理窗口。Microwindows中還實現了有名的射擊游戲-Do

12、om。此外在Microwindows中還包括一個瀏覽器-View-ML,可顯示標準的HTML頁面(3.2版本),但是不能運行Java-applets。系統(tǒng)安裝上述各種版本的安裝幾乎一樣。由于iPAQ的閃存中預裝了微軟的PocketPC,因此在安裝Linux之前要對其保存。首先將iPAQ連接到PC機,然后將PocketPC備份到PC機;第二步把Bootloader裝到閃存的開始頭,Bootloader和x86上的Lilo(Linux Loader)很類似,它可把閃存中的內核裝載到RAM中去,解壓后自動跳到內核源代碼頭,Bootloader還提供了寫閃存終端,這樣就可以更新內核及其配置版本的剩余部

13、分;第三步使用Bootloader加載內核,加載后,其配置版本的剩余部分也被加載到閃存中;最后設置引導參數,整個系統(tǒng)就可被引導來裝載Linux。這里注意,配置版本的源碼是以CRAMFS文件的格式編寫的,該文件系統(tǒng)要被JFFS2所取代。適于閃存的文件系統(tǒng)PDA閃存通常使用以下三種文件系統(tǒng):CRAMFS、RAMFS、JFFS2,有時也用EXT2,不過其效果欠佳。CRAMFS中的數據已被壓縮,屬于只讀性文件系統(tǒng),不能在閃存中修改。用戶想獲取數據時,CRAMFS先把數據送到RAM中,用戶從RAM中讀取。一般CRAMFS的上層為RAMFS文件系統(tǒng),經修改過的文件都保存在RAM中。圖4為文件系統(tǒng)的層次結構

14、圖。RAMFS和CRAMFS結合的缺陷在于,一旦出現掉電等特殊情況,保存在RAMFS中的修改數據將全部丟失。為此Linux采用了新的文件系統(tǒng)-JFFS2,它允許在閃存中直接進行修改,在掉電時會自動保存數據。JFFS2的數據壓縮方式和CRAMFS一樣,其數據可存放在全部的閃存區(qū)域中,數據的寫入和刪除分布在很大一片區(qū)域中以防止同樣的塊會被重復使用。引導順序iPAQ的引導順序和普通PC機有所不同。首先在iPAQ電源接通后,BIOS從閃存的某個特定位置載入啟動代碼,將Bootloader存入該區(qū)域并裝載。Bootloader將內核裝載到RAM中并解壓,然后跳至內核代碼的開頭,內核被初始化后將運行名為“l(fā)inuxrc” 的文件,根據這個文件中的內容運行其它初始化程序。圖4 文件系統(tǒng)層次結構圖PDA配置版本的編譯目前臺式機上的Linux版本雖有數百種,但它們提供標準的Linux內核和操作系統(tǒng)的基本功能,不同之處一般表現在系統(tǒng)的安裝、>' target='_blank'

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論