關(guān)于嵌入式設(shè)備上的Linux 系統(tǒng)開(kāi)發(fā)
Microwindows 支持 1、2、4 和 8 bpp(每像素的位數(shù))的 palletized 顯示,以及 8、16、24 和 32 bpp 的真彩色顯示。Microwindows 還支持使它速度更快的幀緩沖區(qū)。Nano-X 服務(wù)器占用的資源大約在 100 K 到 150 K 字節(jié)。
原始 Nano-X 應(yīng)用程序的平均大小在 30 K 到 60 K。由于 Nano-X 是為有內(nèi)存限制的低端設(shè)備設(shè)計(jì)的,所以它不象 X 那樣支持很多函數(shù),因此它實(shí)際上不能作為微型 X(Xfree86 4.1)的替代品。
可以在 Microwindows 上運(yùn)行 FLNX,它是針對(duì) Nano-X 而不是 X 進(jìn)行修改的 FLTK(快速輕巧工具箱(Fast Light Toolkit))應(yīng)用程序開(kāi)發(fā)環(huán)境的一個(gè)版本。本文中描述 FLTK。
Nano-X 的 優(yōu)點(diǎn)包括:
與 Xlib 實(shí)現(xiàn)不同,Nano-X 仍在每個(gè)客戶機(jī)上同步運(yùn)行,這意味著一旦發(fā)送了客戶機(jī)請(qǐng)求包,服務(wù)器在為另一個(gè)客戶機(jī)提供服務(wù)之前一直等待,直到整個(gè)包都到達(dá)為止。這使服務(wù)器代碼非常簡(jiǎn)單,而運(yùn)行的速度仍非???。
占用很小的資源
Nano-X 的 缺點(diǎn)包括:
聯(lián)網(wǎng)功能部件至今沒(méi)有經(jīng)過(guò)適當(dāng)?shù)卣{(diào)整(特別是網(wǎng)絡(luò)透明性)。
還沒(méi)有太多現(xiàn)成的應(yīng)用程序可用。
與 X 相比,Nano-X 雖然近來(lái)正在加速開(kāi)發(fā),但仍沒(méi)有那么多文檔說(shuō)明而且沒(méi)有很好的支持,但這種情形會(huì)有所改變。
Microwindows 上的 FLTK API
FLTK 是一個(gè)簡(jiǎn)單但靈活的 GUI 工具箱,它在 Linux 世界中贏得越來(lái)越多的關(guān)注,它特別適用于占用資源很少的環(huán)境。它提供了您期望從 GUI 工具箱中獲得的大多數(shù)窗口構(gòu)件,如按鈕、對(duì)話框、文本框以及出色的“賦值器”選擇(用于輸入數(shù)值的窗口構(gòu)件)。還包括滑動(dòng)器、滾動(dòng)條、刻度盤和其它一些構(gòu)件。
針對(duì) Microwindows GUI 引擎的 FLTK 的 Linux 版本被稱為 FLNX。FLNX 由兩個(gè)組件構(gòu)成:Fl_Widget 和 FLUID。Fl_Widget 由所有基本窗口構(gòu)件 API 組成。FLUID(快速輕巧的用戶界面設(shè)計(jì)器(Fast Light User Interface Designer, FLUID))是用來(lái)產(chǎn)生 FLTK 源代碼的圖形編輯器??偟膩?lái)說(shuō),F(xiàn)LNX 是能用來(lái)為嵌入式環(huán)境創(chuàng)建應(yīng)用程序的一個(gè)出色的 UI 構(gòu)建器。
Fl_Widget 占用的資源大約是 40 K 到 48 K,而 FLUID(包括了每個(gè)窗口構(gòu)件)大約占用 380 K。這些非常小的資源占用率使 Fl_Widget 和 FLUID 在嵌入式開(kāi)發(fā)世界中非常受歡迎。
優(yōu)點(diǎn)包括:
習(xí)慣于在象 Windows 這樣已建立得較好的環(huán)境中開(kāi)發(fā)基于 GUI 的應(yīng)用程序的任何人都會(huì)非常容易地適應(yīng) FLTK 環(huán)境。
它的文檔包括一本十分完整且編寫(xiě)良好的手冊(cè)。
它使用 LGPL 進(jìn)行分發(fā),所以開(kāi)發(fā)人員可以靈活地發(fā)放他們應(yīng)用程序的許可證。
FLTK 是一個(gè) C++ 庫(kù)(Perl 和 Python 綁定也可用)。面向?qū)ο竽P偷倪x擇是一個(gè)好的選擇,因?yàn)榇蠖鄶?shù)現(xiàn)代 GUI 環(huán)境都是面向?qū)ο蟮?這也使將編寫(xiě)的應(yīng)用程序移植到類似的 API 中變得更容易。
Century Software 的環(huán)境提供了幾個(gè)有用的工具,諸如 ScreenToP 和 ViewML 瀏覽器。
它的 缺點(diǎn)是:
普通的 FLTK 可以與 X 和 Windows API 一同工作,而 FLNX 不能。它與 X 的不兼容性阻礙了它在許多項(xiàng)目中的使用。
Qt/Embedded
Qt/Embedded 是 Trolltech 新開(kāi)發(fā)的用于嵌入式 Linux 的圖形用戶界面系統(tǒng)。Trolltech 最初創(chuàng)建 Qt 作為跨平臺(tái)的開(kāi)發(fā)工具用于 Linux 臺(tái)式機(jī)。它支持各種有 UNIX 特點(diǎn)的系統(tǒng)以及 Microsoft Windows。KDE D 最流行的 Linux 桌面環(huán)境之一,就是用 Qt 編寫(xiě)的。
Qt/Embedded 以原始 Qt 為基礎(chǔ),并做了許多出色的調(diào)整以適用于嵌入式環(huán)境。Qt Embedded 通過(guò) Qt API 與 Linux I/O 設(shè)施直接交互。那些熟悉并已適應(yīng)了面向?qū)ο缶幊痰娜藛T將發(fā)現(xiàn)它是一個(gè)理想環(huán)境。而且,面向?qū)ο蟮捏w系結(jié)構(gòu)使代碼結(jié)構(gòu)化、可重用并且運(yùn)行快速。與其它 GUI 相比,Qt GUI 非??欤⑶宜鼪](méi)有分層,這使得 Qt/Embedded 成為用于運(yùn)行基于 Qt 的程序的最緊湊環(huán)境。
Trolltech 還推出了 Qt 掌上機(jī)環(huán)境(Qt Palmtop Environment,俗稱 Qpe)。Qpe 提供了一個(gè)基本桌面窗口,并且該環(huán)境為開(kāi)發(fā)提供了一個(gè)易于使用的界面。Qpe 包含全套的個(gè)人信息管理(Personal Information Management (PIM))應(yīng)用程序、因特網(wǎng)客戶機(jī)、實(shí)用程序等等。然而,為了將 Qt/Embedded 或 Qpe 集成到一個(gè)產(chǎn)品中,需要從 Trolltech 獲得商業(yè)許可證。(原始 Qt 自版本 2.2 以后就可以根據(jù) GPL 獲得 。)
它的 優(yōu)點(diǎn)包括:
面向?qū)ο蟮捏w系結(jié)構(gòu)有助于更快地執(zhí)行
占用很少的資源,大約 800 K
抗鋸齒文本和混合視頻的象素映射
它的 缺點(diǎn)是:
Qt/Embedded 和 Qpe 只能在獲得商業(yè)許可證的情況下才能使用。
結(jié)束語(yǔ)
嵌入式 Linux 開(kāi)發(fā)正迅速地發(fā)展著。您必須學(xué)習(xí)并從引導(dǎo)裝載程序和分發(fā)版到文件系統(tǒng)和 GUI 中的每一個(gè)事物的各種選項(xiàng)中作出選擇。但是要感謝有這種選擇自由度以及非?;钴S的 Linux 社區(qū),Linux 上的嵌入式開(kāi)發(fā)已經(jīng)達(dá)到了新的境界,并且調(diào)整模塊以適合您的規(guī)范從未比現(xiàn)在更簡(jiǎn)單。這已經(jīng)導(dǎo)致出現(xiàn)了許多時(shí)新的手持和微型設(shè)備作為開(kāi)放盒,這是件好事 D 因?yàn)槭聦?shí)是您不必成為一個(gè)專家從這些模塊中進(jìn)行選擇來(lái)調(diào)整您的設(shè)備以滿足您自己的要求和需要。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論