嵌入式Linux系統(tǒng)GUI特點(diǎn)介紹
為了執(zhí)行一個(gè)特定的圖形操作,DirectFB芯片驅(qū)動程序?qū)⒃L問圖形設(shè)備內(nèi)存映射的I/O端口,并且把命令傳遞到圖形設(shè)備卡的加速引擎。實(shí)際的硬件加速是完全在用戶空間內(nèi)完成的。
2.2 SWT+GtkFB圖形系統(tǒng)的優(yōu)點(diǎn)
2.2.1 內(nèi)存消耗小、運(yùn)行速度快特別適合嵌入式產(chǎn)品
由于GtkFB直接運(yùn)行在FrameBufer之上,跳過X系統(tǒng),這樣省下了X Server這一部分資源,這使得在內(nèi)存消耗、運(yùn)行速度上得到顯著提高。另外采用的JNI技術(shù)使得程序運(yùn)行速度、事件的響應(yīng)有較高的提高,能滿足時(shí)間要求較為嚴(yán)格的實(shí)時(shí)應(yīng)用場合。
2.2.2 系統(tǒng)穩(wěn)定性好
SWT 的穩(wěn)定性,關(guān)鍵是源于SWT 的設(shè)計(jì)理念。SWT最大化了操作系統(tǒng)的圖形構(gòu)件API,就是說只要操作系統(tǒng)提供了相應(yīng)圖形的構(gòu)件,那么SWT只是應(yīng)用JNI技術(shù)調(diào)用它們,只有那些操作系統(tǒng)中不提供的構(gòu)件,SWT才自己去做一個(gè)模擬的實(shí)現(xiàn)??梢钥闯鯯WT性能上的穩(wěn)定很大程度上取決于相應(yīng)操作系統(tǒng)圖形構(gòu)件的穩(wěn)定性。
2.2.3 易于移植和共享
SWT的API和桌面版完全相同,因而代碼可以很容易地在桌面和嵌入式設(shè)備之間移植與共享。
2.2.4 小巧可配置
SWT采用了LGPL授權(quán)方式,用戶可以自由地甚至是鼓勵修改源代碼使其更加滿足用戶的需求,很容易根據(jù)用戶的需求來裁減特定的SWT+GtkFB,依據(jù)LGPL許可證,用戶需要公布修改的源代碼,但用戶不必公布自給應(yīng)用程序的源代碼。
2.2.5 易于開發(fā)
SWT是基于Java語言開發(fā)的,具有平臺獨(dú)立性、面向?qū)ο?、可移植、安全等Java語言所擁有特點(diǎn)。用戶可以很容易的基于SWT提供的Widget(構(gòu)件)開發(fā)出滿足自己需要的Widget,而且很容易地使用這些Widget去構(gòu)建應(yīng)用程序。
3 SWT+GtkFB圖形系統(tǒng)的實(shí)現(xiàn)
3.1 前期準(zhǔn)備
在Linux編譯和安裝SWT+GtkFB,首先到http://www.gtk.org/download下載如下的包:pkg-config、glib2.x;atk、pango、DirectFB、gtk+2.x。其次到http://www.eclipse.org/download下載swt.tgr.gz。
下一步就是在/home/XXX/目錄下創(chuàng)建SWT 和GTK兩個(gè)目錄并且設(shè)置環(huán)境變量。如下:
export SWT_HOME=/home/XXX/SWT
export SWT_HOME=/home/XXX/GTK
export PKG_CONFIG_PATH=$GTK_HOME /lib/pkgconfig
export LD_LIBRARY_PATH=$GTK_HOME/lib;$LD_LIBRARY_PATH
此外增加“/home/XXX/GTK/bin”到系統(tǒng)的環(huán)境變量PATH下。
3.2 編譯和安裝Gtk+2.0
3.2.1 編譯和安裝pkg-config
tar zxvf glib-2.0.6.tar.gz -C $GTK_HOME/src
cd $GTK HOME/src/glib-2.0.6
./configure --prefix=$GTK_HOME
make
make install
3.2.2 編譯和安裝atk
tar zxvf atk-1.0.1.tar.gz -C $GTK_HOME/src
cd $GTK_HOME/src/atk-1.0.1
./configure --prefix=$GTK_HOME
make
make install
3.2.3 編譯和安裝pango、Direct FB、gtk+2.0 、swt-forgtk2.2
步驟類似atk的安裝。
4 嵌入式Linux GUI的應(yīng)用前景展望
嵌入式Linux GUI的應(yīng)用領(lǐng)域很多,既可以用于家電市場,還可以用于商業(yè)市場、工業(yè)及自動化市場、國防市場、通訊市場等。例如,在通訊市場,手機(jī)、可視電話、機(jī)頂盒等可能成為嵌入式Linu.x的運(yùn)行平臺,一個(gè)人性化的用戶界面是贏得消費(fèi)者關(guān)鍵因素。因此嵌入式Linux圖形系統(tǒng)將擔(dān)任著更加重要的角色。
未來幾年,嵌入式Linux GUI將朝以下方向發(fā)展:第一,輕型、占用資源少,不希望建立在龐大累贅的、非常消耗系統(tǒng)資源的操作系統(tǒng)和GUI之上。第二,高性能、高可靠性,特別是工業(yè)實(shí)時(shí)控制系統(tǒng),對實(shí)時(shí)性的要求非常高,并且比起嵌入式系統(tǒng)來說,對GUI的要求也更高。第三,可配置,我們必須清楚的意識到,嵌入式系統(tǒng)是一種定制設(shè)備,它們對GUI的需求各不相同,有的系統(tǒng)只要求一些圖形功能,而有些系統(tǒng)要求完備的GUI支持,因此,GUI也必須是可定制的。
linux相關(guān)文章:linux教程
評論