嵌入式Linux技術的現狀與發展動向 |
|
conundrum
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
嵌入式Linux技術的現狀與發展動向
http://www.huihoo.com/rt_embed/embed_linux.html
金西(中國科技大學) 黃汪(華恒網路技術有限公司)
嵌入式系統和Linux的有機結合,成為後PC時代電腦最普遍的應用形式。本文介紹了嵌入式Linux技術的版本與特點,結合開發路由器的實例分析了嵌入式Linux的優勢和發展動向,並給出與嵌入式Linux研究有關的網路資源。 關鍵字:資訊家電 嵌入式Linux 路由器開發 1 引言 863智慧電腦首席專家高文教授說:所謂後PC時代,是英文pervasive computing的中文意譯,pervasive的原意是普遍的、蔓延的、滲透的,所以pervasive computing這個片語直接的翻譯應該是滲透到各個方面的計算。因而我們可以認為,所謂後PC時代是指:電腦無所不在,它滲透到我們工作和生活的方方面面。當然,這樣的無所不在的電腦也絕不都是象今天的PC一樣擺在桌子上或放在書包裏,後PC時代的絕大多數電腦是以非電腦的形式出現的,例如作為隨身物品出現的電話、遙控開關、電子戒指、電子手杖等,再例如作為家庭網路組成部分的電視機、電冰箱、空調等等。這些設備的核心部分都有電腦,但大多是以嵌入式系統的形式存在,而不是以整機的形象出現。所以,我們也可以說後PC時代的特點是電腦無處不在、很少可見。
在IT業,如果要問當今最熱門的話題是什麼[1],從事硬體開發的人會毫不猶豫地回答:資訊家電;從事軟體發展的人同樣也會毫不猶豫地回答:Linux。事實上,當人們在談論PDA、手持電腦、機頂盒時,後PC時代就到來了,或者說資訊家電時代到來了。資訊家電之所以直到現在才變得火爆,一個很重要的原因就是Linux的加入。廉價的Linux資源與資訊家電結合,真正宣告了資訊家電時代的到來,嵌入於資訊家電(或其他設備)中的Linux棗嵌入式Linux,是國際軟體界的一個新寵。Linux是個天生的網路作業系統,成熟而且穩定。Linux是開放源代碼的,任何人都可以修改它,或者用它開發自己的產品。Linux系統是可以定制的,系統內核最小時目前只有134kB。一個帶有中文系統以及圖形化介面的核心程式也可以做到不足1MB,而且同樣穩定。因此,Linux作為嵌入式系統新的選擇,是非常有潛力的[3]。
國際上有數以百計的嵌入式Linux開發計畫,在國內,這方面的發展也有了較大進展。博利思軟體公司在這方面做了一些有益的嘗試,並於最近推出了一個嵌入式Linux作業系統棗PocketIX 預覽版(下載網址為:www.pocketix.com/software/software.htm。)。
http://www.stillhq.com/pdfdb/000466/data.pdf
PocketIX是一個內核基於標準Linux的嵌入式作業系統,由一個體積很小的內核及一些可以根據需要進行定制的系統模組組成。其系統佔用空間小、啟動速度快、穩定性好,並具有多工、多線程的特徵。與傳統的嵌入式系統相比,PocketIX採用標準的Linux結構,所有運行在標準Linux下的應用軟體都可平滑移植到該系統上。
在傳統家電向資訊家電過渡時,作業系統小型化、產品穩定性及是否易於開發等成了至關重要的問題。嵌入式Linux雖然只是剛剛興起的熱門技術,但它卻能很好解決上述問題。作為嵌入式Linux產品的研發,涉及到嵌入式微處理器技術、Linux技術、網路通訊技術、通訊產品設計師的行業經驗,華恒網路技術公司正是基於在以上經驗的優勢,成功推出國內首款基於嵌入式Linux超小型應用產品――網路管理卡,該產品已經批量生產、投放市場。有關詳情可訪問該公司站點(http://www.hhcn.com)。
2 嵌入式Linux開發的優點及版本
嵌入式Linux由於代碼開放性以及強大的網路功能,在中低端的嵌入式網路設備中應用起來,比起pSOS ,VxWorks等專用系統有許多優勢,Linux甚至支援藍牙技術,VxWorks對於新技術的支援遠沒有Linux那麼迅速;從我們開發路由器卡可知:從產品上市時間到產品的功能不斷擴充、開發人力的投入都驗證了使用嵌入式Linux作為作業系統平臺的優勢。如果是用VxWorks作為平臺來做就相當困難,一系列的防火牆協定以及Web Server協定、TCP/IP整個體系結構、撥號協定等等,不是自己開發就是要買VxWorks的編譯好的庫(不公開源代碼的),價格也比較昂貴。表1將專用嵌入式實用作業系統與嵌入式Linux作了詳細的分析和比較。
表1 專用嵌入式即時操作系統與嵌入式Linux的比較
專用嵌入式即時操作系統 嵌入式Linux作業系統
版權費 每生產一件產品需交納一份版權費 免費
購買費用 人民幣數十萬元 免費
技術支援 由開發商獨家提供有限的技術支援 全世界的自由軟體發展者提供支援
網路特性 另加人民幣數十萬購買 免費而且性能優異
軟體移植 難,因為是封閉系統 易,代碼開放,有許多應用軟體支援
應用產品開發週期 長,因為可參考的代碼有限 短,新產品上市迅速,因為有許多公開的代碼可以參考和移植
即時性能 好 需改進,可用RT_Linux等模組彌補
穩定性 好 較好,在高性能系統中仍需改進
Linux是自由的多工作業系統,用戶可以獲得多種配置及體系不同的Linux版本。因此,如何選擇Linux的發行版本,也是我們要解決的一個重要問題。
Linux的版本主要有3大類:
(1)標準的Linux版本。
(2)小型化的嵌入式版本(Small foot-print“embedded”Version)。
(3)具有即時擴展功能的Linux版本。
這3大類Linux 版本的各自用戶所占的百分數統計圓形圖如圖1所示。
圖 1 各類Linux作業系統用戶分佈圖
另外,Linux還有一些特殊應用、把Linux移植到非X86體系的CPU(包括PowerPC、RISC、68K以及許多別的微控制器)上的版本。例如有許多針對不同的如“瘦伺服器”或“防火牆”應用的小型化、即時特性增強的特殊版本。
我們要認識到,所有的Linux發行版本都是在同一個框架結構類型下發展演變的,它們使用的基本模組都相同,其中包括Linux內核、Shell命令(命令執行解釋模組)以及許多的通用工具。不同的是,數以百計的Linux應用程式,被包含在不同的發行版本當中,安裝的進程處理程式也不同。
3 嵌入式Linux的一個開發實例分析
傳統的路由器都是使用專用的RTOS開發的,在開發TCP/IP、防火牆協定以及Web Server協定時都只能自己去實現,產品上市的週期非常長,對新協定、新介面的支援以及設備升級的週期也很長,因為專用的RTOS有關內容都要自己開發;而對於Linux來說,這些都可以直接從網上獲得代碼,針對應用系統的要求作必要的改動即可,對新協定、新介面的支援也是如此,無需要自己從頭去開發。
在表2中,我們將分別利用VxWorks專用作業系統和嵌入式Linux作業系統來開發路由器作了詳細地比較和分析。
表2 開發路由器情況表
使用VxWorks專用作業系統 使用嵌入式Linux作業系統
產品上市時間 長達9個月 僅需3個月
投入開發的人力 多達6人以上 只需3人
產品的附加成本 每台路由器需要交一份版權費,成本大大提高 沒有任何附加費
產品功能的豐富性 一般,增加功能要象廠家購買模組 豐富,可利用自由軟體的大量公開代碼移植
網路特性 另外購買網路模組,如OSPF動態路由協定庫,很昂貴;若自行開發則穩定性較差且開發時間長 免費獲得自由軟體代碼,只需移植,由於來自桌面Linux平臺,繼承性好、穩定性好、開發時間短
產品升級以及對新網路協定的支援 廠家反映慢,支援慢,不一定能支援新特性 利用全世界Linux自由軟體發展團體的力量,支持迅速
4 嵌入式Linux的網上資源
4.1 標準的Linux版本
(1)Caldera:http://www.calderasystems.com/
(2)Corel:http://linux.corel.com/
(3)Debian:http://www.debian.org.com/
(4)Mandrake:http://www.linux-mandrake.comlen/
(5)Red Hat:http://www.reahat.com/
(6)Slackware:http://www.slackware.com/
(7)SuSE:http://www.suse.com
(8)Turbo Linux:http://www.turbolinux.com/
4.2 小型化的嵌入式版本
(1)ETLinux:http://www.prosa.it/embedded/etlinux/
(2)LEM:http://www.linux-embedded.com/lem.php3
(3)Linux Router Project:http://www.linuxrouter.org/
(4)LOAF:http://loaf.ecks.org/
(5)ucLinux:http://www.uclinux.org/
(6)uLinux:http://sunsite.auc.dk/mulinux/
(7)ThinLinux:http://www.thinlinux.org
4.3 具有即時擴展功能的Linux版本
(1)RTLinux:http://www.rtlinux.com
(2)RTLinux:http://www.FSMLabs.com
(3)RTAI:http://www.rtai.org/
(4)EL/IX:http://www.sourceware.cygus.com/elix/
(5)SRT-Linux:http://www.cl.cam.ac.uk/~dmi1000/linux-srt/index.html
4.4 Linux特殊應用版本
(1)FirePlugLinux:http://www.fireplug.net/
(2)KOSIX:http://www.touchdynamics.com/KOSIX.html
(3)Linux Router Project:http://www.linuxrouter.org/
(4)Pizzabox Linux:http://www.jrcs.co.wk
5 結束語
儘管絕大部分的嵌入式系統的硬體平臺仍掌握在外國大公司的手中,國產的嵌入式作業系統在技術含量、相容性、市場運作模式等方面還有相當長的一段距離。但由於Linux自由作業系統的出現,特別是將嵌入式系統和Linux有機結合起來的嵌入式Linux,給我們提供跟蹤國外嵌入式作業系統最新應用技術難得的機遇。嵌入式Linux將在機頂盒、掌上電腦或PDA、手機和尋呼機上網、車載盒、工業控制等方面有著廣泛地應用。
參考文獻
1.廖原.細看嵌入式中文Linux 中國電腦報 2000.7.4
2.金西 黃汪.嵌入式Linux技術及其應用 電腦應用 2000.7
3.金西 黃汪.Linux作業系統是嵌入式系統新的選擇 微電腦資訊 2000.6 //////////////////////////////////////////////////////////////////
http://applecorner.com/modules.php?name=Reviews&rop=showcontent&id=2
細看嵌入式中文Linux
在IT業,如果要問當今最熱門的話題是什?,從事硬體開發的人會毫不猶豫地回答:資訊家電;從事軟體發展的人同樣也會毫不猶豫地回答:Linux。事實上,多年以前,當人們在談論PDA、手持電腦、機頂盒時,後PC時代就到來了,或者說資訊家電時代到來了。資訊家電之所以直到現在才變得火爆,一個很重要的原因就是Linux的加入。廉價的Linux資源與資訊家電結合,真正宣告了資訊家電時代的到來!嵌入於資訊家電(或其他設備)中的Linux——嵌入式Linux,是國際軟體界的一個新寵。Linux是個天生的網路作業系統,因?它是從Unix衍生出來的,Unix已經發展了幾十年,成熟而且穩定。Linux是Open Source的,任何人都可以修改它,或者開發自己的應用。Linux系統是可以定制的,系統內核最小時只有140kB。一個帶有中文系統以及圖形化介面的核心程式也可以做到不足1MB,而且同樣穩定!因此,Linux作?嵌入式系統,是非常有潛力的。
國際上有數以百計的嵌入式Linux開發計劃,在國內,這方面的發展也是很快的。博利思軟體公司在這方面做了一些有益的嘗試,並於最近推出了一個嵌入式Linux作業系統——PocketIX 預覽版(下載網址?:www.pocketix.com/software/software.htm。)。PocketIX是一個內核基於標準Linux的嵌入式作業系統,由一個體積很小的內核及一些可以根據需要進行定制的系統模組組成。其系統佔用空間小、?動速度快、穩定性好,並具有多工、多線程的特徵。與傳統的嵌入式系統相比,PocketIX採用標準的Linux結構,所有運行在標準Linux下的應用軟體都可平滑移植到該系統上。
一、 PocketIX的技術優勢
標準的Linux系統通常用於伺服器、桌面環境,很多弁鄔M機制不適於做嵌入式系統,如安全系統、日誌、大量的伺服器程式等等。同時,有些嵌入式系統的特色弁遄A標準的Linux沒有提供。?此,必須大規模地改造標準Linux。根據分析,嵌入式Linux?品可劃分?Linux Thin Server/Thin Client、帶有小GUI的Linux、無介面的Linux、基於PDA的Linux等四大系列。我們還知道,嵌入式系統與桌面系統一個很大的不同就是,嵌入式系統中並沒有像桌面系統一樣的WinTel聯盟,CPU晶片更是五花八門,這就?開發者帶來了很多的麻煩。PocketIX將來的版本將支援大部分的晶片和平臺。
PocketIX的技術優勢在於:
精簡的內核設計 標準的Linux中,文件系統、驅動程式、網路支援等很多弁酮O在內核中實現的,所以其內核相當複雜。?此PocketIX保留了必要的弁遄A將無關的模組從內核中剔除。
暫態開關機 標準Linux開機需要大量時間裝載系統、檢測並初始化設備和文件系統、?動驅動程式以及檢查硬碟等工作,而嵌入式應用要求能夠暫態開機。所以PocketIX採用了存儲映射和一系列相關技術,使系統可以暫態載入。
良好的可攜性 考慮到Linux提供了豐富的開放根源程式資源,系統必須提供與標準Linux一致的API,使得現有程式無須修改或少量修改即可使用。這裏的API包括語法上的,如函數和系統調用的格式;也有語義上的,如相同的設備名有相同的弁遄C
GUI/漢字系統 標準的Linux通常採用X Window作GUI。對於某些嵌入式應用而言,這些程式太龐大了,?此,PocketIX採用了X和非X兩種GUI系統。
精心構建的存儲方案 在伺服器和桌面平臺,記憶體通常有硬碟、記憶體和網路資源等。標準的Linux針對各種存儲介質,在容量、速度、成本的特點上採用了虛擬存儲、緩衝等機制。在嵌入式平臺上,記憶體比較小,通常採用Flash memory而不是硬碟作持久存儲介質。針對這種特點,PocketIX取消了硬碟上的交換空間,並對記憶體分配過程安排了更?密集的管理,保持較充足的連續記憶體空間。在記憶體映射機制上,PocketIX大量採用共用庫並提供了共用庫的換出機制,減少記憶體消耗。
二、 PocketIX的特徵
PocketIX採用Linux標準內核,但對其進行裁減及補充,使其更緊湊。它採用圖形化介面,目前所有的安裝均可在Windows進行,且可由用戶自行選擇多種定制的圖形介面。它採用國際標準化漢字處理技術,支援多種漢字輸入技術。目前的應用中只提供一種漢字字體,以節省空間,但同時?了適應嵌入式的應用,允野峇嶆菑v加裝字體。所有Unix及Linux程式均可平滑移植到PocketIX系統上。
PocketIX不帶X的系統配置要求?記憶體 4MB、磁片 5MB;帶X的系統配置要求?記憶體 4MB、磁片 20MB。PocketIX支援多種32位CPU ,目前支援Intel386以上的CPU,未來將支援ARM、Intel、Motorola、NEC等多種微處理器。
PocketIX支援標準乙太網和TCP/IP協定、支援標準的X Window。中文支援採用國際化路線:
1、P桌面管理器具有Win95風格,有標準的選單條、時鐘、系統資源指示器和郵件按鈕指示。
2、P文件管理器類似於Windows的Explorer,同時提供文件管理器和Web瀏覽器及ftp用戶端的弁遄C
3、P一個標準的科學計算器。
4、P一個弁鉏W強的、類似於寫字板的正文編輯。
5、PF3可進入智慧拼音輸入方法;F7可進入五筆字型輸入方法。
6、PCtrl+Space可在中文和英文輸入方法之間切換。
7、P提供了多桌面切換弁鄔M大多數X Window的桌面管理器一樣。
8、P其他Linux下的應用可方便地移植到此系統中,用戶可根據需要自己加上。
三、 PocketIX的應用
PocketIX?嵌入式Linux 0.86預覽版,它不用單獨的Linux分區,只在c:下建個目錄。系統佔用20MB硬碟空間。?了方便試用,而又不影響原有環境,PocketIX沒有單獨?系統建立分區。
安裝和刪除
下載PocketIX文件包,解開之後,執行setup.exe即可,系統會裝在C:Linux.PLG之下,從開始->程式選單中運行。第一次運行之前,先要到C:Linux.PLG下,點Linux.BAT文件,右鍵,“屬性”,“程式”,“高級”,選中“MS-DOS方式”。通過“控制面板”的“添加/刪除程式”可以刪除本系統。
乙太網配置
暫用via-rhine網卡。如果不是,請把對應*.o模組文件拷到/lib/modules/2.2.13-18/net下,執行ldconfig,再在/etc/init.d/network 文件開始處(一定要在 ifconfig 之前),加入下面一行:imsmod 模組名。注意不用.o。
網路配置
均有缺省值可參考。在/etc/config/下有 hostname、 ipaddr、netmask、network、broadcast、gateway六個文件,其內容依次?主機名、IP地址、網路遮罩、網路位址、廣播地址、閘道地址。修改即可。如果沒有閘道,在/etc/init.d/network 文件中注釋掉(行首加#)gateway行。
滑鼠
暫用串口滑鼠,“Microsoft"協定,串口1(/dev/ttyS0)。否則改/etc/X11/XF86Config 中Pointer段。
如果是串口2,將/dev/ttyS0改?/dev/ttyS1,依此類推。
如果是PS/2滑鼠,將“Microsoft"改?“PS/2",/dev/ttyS0改?“/dev/psaux"。
顯卡/顯示器配置
顯卡在/etc/X11/XF86Config 中Device和Screen段。暫用比較通用的SVGA,1MB顯存。
如果顯存?2MB,改“Device"段VedioRam行的“1MB"?“2MB",依此類推。
如果顯卡不是SVGA的,用對應X伺服器(一個文件)覆說?etc/X11R6/bin/XF86_SVGA"即可。
顯示器暫時配置
預設值:大小?640×480,垂直刷新率?60Hz,水平刷新率?24kHz,?色深度?8位。
大小如果?800×600,將Device段Modeline “640×480"後(不包括本身)第2、6數位依次改?800、600。?色深度如果?16位,將Screen段Depth行的8 改?16。
ftp/telnet Server
暫時未配。
運行X
以root登錄後,鍵入 starx 即可。如有問題,想看看相關資訊,請運行 startx 1。
PocketIX本身並不需要 Windows,?了便於安裝、測試,系統不佔用專門的分區。PocketIX For Windows PRE 0.86的安裝程式分兩個版本,帶X的安裝程式大小?16MB,安裝展開後約?20MB左右。不帶X的安裝展開後約?4M。
PocketIX在以下環境下運行良好
研華PCM-3346。一個典型的all-in-one CPU板,其構成?標準的PC/104模組,尺寸90×96cm,號稱市場上最小的、完整的SBC。技術指標如下:
1、P集成於主板的CPU:ST Thompson DX-66 STPC Client(相當於Intel486/66)。
2、P BIOS: AWARD 256KB Flash BIOS。
3、P集成於主板的32MB SO DIMM記憶體。
4、P SSD:支援一個CompactFlash Card 用於仿真HDD。
5、P 100 Base T乙太網。
6、P ATX電源、Modem喚醒、一個EIDE口、一個PC-AT鍵盤口、一個FDD口、二個RS-232口、一個並行口支援SPP/EPP/ECP。
7、P圖形:高性能64位元Windows加速(UMA)共用記憶體VGA。
8、P ±12V,±5V電源介面。
9、P PC/104擴展:16位元PC/104模組介面。
應用領域與前景
目前PocketIX只是一個預覽版,其正式版本不僅可以廣泛應用於移動計算平臺(PPC)、 家庭資訊環境(機頂盒、數位電視)、 工業、商業控制(智慧u控設備、POS/ATM機)等資訊家電上,還可應用於與Internet相聯接的一切接入設備。該系統目前在X86晶片上運行,以後將會支援PA-RISC、Power PC、ARM、Strong ARM、MIPS、68XXX等多種晶片。
嵌入式軟體有廣泛的應用:
機頂盒市場 機頂盒將在未來幾年取得快速發展,8000萬戶的有線電視網用戶、1億以上的有線電話網用戶?其提供了網路條件。機頂盒不僅可使類比電視接收數位電視節目,可以上網,還可能成?未來家庭的控制中心。
掌上電腦(或PDA) 掌上電腦易於使用、攜帶方便、價格便宜,因此,未來幾年將在我國得到快速發展,估計5年內總銷量達到3000萬台。從弁鄐W看,掌上電腦(或PDA)將擴充通訊弁?甚至會具有手機和尋呼機的弁遄C
手機、尋呼機市場 手機和尋呼機上網將成?新的趨勢。
車載盒 隨著全球定位技術的成熟和廣泛應用,車載盒會成?汽車族的時尚。
工業控制 資訊電器所涉及的晶片技術、嵌入式軟體、通訊技術在工業控制中也能獲得廣泛應用。 發表人 - conundrum 於 2005/02/09 13:55:20
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |