《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 幾種常用的嵌入式LinuxGUI及其特點
幾種常用的嵌入式LinuxGUI及其特點
摘要: 入式實時Linux操作系統以價格低廉、功能強大又易于移植而正在被廣泛采用,成為新興的力量,如今隨著WAP手機、PDA、機頂盒、及DVD/VCD播放機已經迅速普及,用戶對這些手持式設備的GUI提出了更高的要求,希望能看到像PC機才擁有的華麗美觀的GUI。GUI已經成為了人與機器溝通的橋梁,嵌入式系統對GUI的需求越來越高,而這一切均要求有一個輕型、占用資源少、高性能、高可靠、可配置及美觀的GUI支持。
Abstract:
Key words :

隨著Internet與網絡的迅速發展并向家庭領域不斷擴展,使消費電子、計算機、通信(3C)一體化趨勢日趨明顯,嵌入式系統再度成為研究與應用的熱點。嵌入式實時Linux操作系統以價格低廉、功能強大又易于移植而正在被廣泛采用,成為新興的力量,如今隨著WAP手機、PDA、機頂盒、及DVD/VCD播放機已經迅速普及,用戶對這些手持式設備的GUI提出了更高的要求,希望能看到像PC機才擁有的華麗美觀的GUI。GUI已經成為了人與機器溝通的橋梁,嵌入式系統對GUI的需求越來越高,而這一切均要求有一個輕型、占用資源少、高性能、高可靠、可配置及美觀的GUI支持。

1Java的圖形界面工具

Java技術對于服務器,個人電腦和嵌入式系統來說是一項偉大的技術。由于其具有跨平臺等特性。Java在服務器和桌面電腦方面的應用是非常成功的。然而在GUI方面,Java只用非常有限的一些特征去構建圖形用戶界面。其思想就是采用平臺無關的Java應用程序接口打包到不同的操作系統來開發本地圖形用戶界面,被稱之為抽象的窗口工具(AWT)。僅有普通的部件如文件域、文本區、選擇框、單選按鈕、列表框和按鈕被AWT支持,圖形和圖像的特性支持非常有限,也就是說,只足夠構建簡單的applet程序。認識到需要更高級的圖形用戶界面組件和圖形能力,Sun公司開發了Swing,Java2D,Java3D,圖像的輸入/輸出,以及Java高級圖像(JAI)。Swing是用來構建Java圖形界面的標準API(應用程序接口),一些AWT類由Swing基礎而來。它有一套完全的組件從按鈕到文件域、表格、樹型和文件編輯器。這些組件不依賴于操作系統本地的部件,而是用原始的圖形像直線、矩形、文字畫出。這種畫代表感觀插件,它能夠模仿本地的感觀。SWT是基于Java開發的,它的設計理念是最大化了操作系統的圖形構件的API,就是說只要操作系統提供了相應圖形的構件,那么SWT只是簡單應用JNI技術調用它們,只有那些操作系統中不提供的構件,SWT才自己去做一個模擬的實現。另外SWT還提供對操作系統本地圖形用戶界面的直接訪問,因此,基于SWT的Java應用程序擁有本地的圖形用戶界面并且可以和本地別的應用程序和部件集成在一起。使用SWT開發包,簡單、跨平臺、可靠等這些Jaya語言本身所具有的優點正漸漸融合到圖形界面的應用程序開發中去。Java語言的另一扇成功之門正在逐漸打開。

2SWT+GtkFB圖形系統的體系結構

2.1SWT+GtkFB圖形系統的體系結構


2.1.1SWT

SWT處于體系機構的最上層,它與Java內的AwT和Swing同屬于設計圖形界面所需的高級函數庫。而且SWT針對AWT以及Swing的一些問題作了改善,如今它已發展成一套與作業系統無關的圖形元件函數庫。在元件的產生方面采用了適當的模擬,在基本的元件方面是采用原有作業系統的,對于較復雜的元件才用仿真的技術?;赟WT的Java應用程序擁有本地的圖形用戶界面,并且可以和本地別的應用程序,以及部件集成在一起。

SWT是基于Java語言開發出來的高級圖形元件庫,如圖2所示SWT在Java端通過JNI(JavaNativeInteRFace)技術直接調用native端的GtkFB來使用操作系統的資源,JNI技術使得SWT程序可以與其他語言編寫的Native端的代碼互相協作,將它們整合在一起;另一方面可使運行在JVM(JAava虛擬機)中的SWT代碼調用GtkFB庫函數或其他程序;此外利用InvocationAPI,可將Java虛擬機嵌入到native端的應用中。JNI這個接口是雙向的,相當于橋梁和紐帶,它將SWT代碼和native端的GtkFB代碼連接起來。


2.1.2Gtk庫

如圖1所示,GTK會用到幾個連接庫,如基本數據類型用的Glib庫,它是由基礎類、核心應用支持類、實用功能類、數據類和對象系統類五個部分組成的。

Pango是用于國際化文本的布局和顯示的全功能框架。Pango可以處理以非從左到右方向排列的文本,并且可以容易地管理復雜語言,甚至還可以處理根據使用環境而采用不同形式的信函。例如它支持雙向文本,用戶可以將從左到右的文本和從右到左的文本混合編排;還可有用于確定各種復雜文本(如阿拉伯語和泰米爾語)形狀的插件。Pango不僅僅是國際化,而且Pango庫在Xft和XRender的支持下能很好地處理抗鋸齒字體文本的顯示。

Pango還支持各種圖形格式如libpng,libjpeg,libtiff和Framebufferport用的FreeType等。實際上GTK提供gdk-pixbuf,gdk和gtk三個連接庫,其中Gdk-pixbuf讓我們可做相關的圖像工作,gdk是窗口繪圖系統的抽象層,framebuffer相關的工作大部分在此完成,而gtk則是高層的應用程序接口。

Atk(AccessibilityToolkit)可訪問性工具箱。GTK充分利用ATK使殘障人士(如視力低下或行動不便)與GTK應用程序交互成為可能。

2.1.3GtkFB的工作原理

DirectFB訪問圖形硬件設備依賴于操作系統提供的內核接口,即幀緩沖設備(FrameBuffer)。FrameBuffer實際上是用一塊硬件來做顯卡和軟件之間的橋梁,Linux的內核將其開放出來,使用戶的程序可以通過塊內存來存取顯卡。例如設定顯示分辨率和色彩數、存取顯示內存區等。不同的Linux需要提供針對不同顯示硬件FrameBuffer的驅動程序,這就是說DirectFB需要運行于FramBuffer之上,然而Linux內核提供了常見芯片的FrameBuffer驅動。

當一個應用程序連接到GtkFB時會調用gtk_init(),如圖3所示,此時GtkFB啟動Linux的Framebiffer,設定分辨率和色彩數,接下來打開鍵盤和鼠標等外設(PDA打開按鍵和觸控屏幕).然后到特定目錄去讀取字型,最后對窗口和事件管理作初始化操作。GtkFB可以支持8、16、24、32bpp的framebuffer。

為了執行一個特定的圖形操作,DirectFB芯片驅動程序將訪問圖形設備內存映射的I/O端口,并且把命令傳遞到圖形設備卡的加速引擎。實際的硬件加速是完全在用戶空間內完成的。

2.2SWT+GtkFB圖形系統的優點

2.2.1內存消耗小、運行速度快特別適合嵌入式產品

由于GtkFB直接運行在FrameBufer之上,跳過X系統,這樣省下了XServer這一部分資源,這使得在內存消耗、運行速度上得到顯著提高。另外采用的JNI技術使得程序運行速度、事件的響應有較高的提高,能滿足時間要求較為嚴格的實時應用場合。

2.2.2系統穩定性好

SWT的穩定性,關鍵是源于SWT的設計理念。SWT最大化了操作系統的圖形構件API,就是說只要操作系統提供了相應圖形的構件,那么SWT只是應用JNI技術調用它們,只有那些操作系統中不提供的構件,SWT才自己去做一個模擬的實現??梢钥闯鯯WT性能上的穩定很大程度上取決于相應操作系統圖形構件的穩定性。

2.2.3易于移植和共享

SWT的API和桌面版完全相同,因而代碼可以很容易地在桌面和嵌入式設備之間移植與共享。

2.2.4小巧可配置

SWT采用了LGPL授權方式,用戶可以自由地甚至是鼓勵修改源代碼使其更加滿足用戶的需求,很容易根據用戶的需求來裁減特定的SWT+GtkFB,依據LGPL許可證,用戶需要公布修改的源代碼,但用戶不必公布自給應用程序的源代碼。

2.2.5易于開發

SWT是基于Java語言開發的,具有平臺獨立性、面向對象、可移植、安全等Java語言所擁有特點。用戶可以很容易的基于SWT提供的Widget(構件)開發出滿足自己需要的Widget,而且很容易地使用這些Widget去構建應用程序。

3SWT+GtkFB圖形系統的實現

 3.1前期準備

在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/目錄下創建SWT和GTK兩個目錄并且設置環境變量。如下:

exportSWT_HOME=/home/XXX/SWT

exportSWT_HOME=/home/XXX/GTK

exportPKG_CONFIG_PATH=$GTK_HOME/lib/pkgconfig

exportLD_LIBRARY_PATH=$GTK_HOME/lib;$LD_LIBRARY_PATH

此外增加“/home/XXX/GTK/bin”到系統的環境變量PATH下。

3.2編譯和安裝Gtk+2.0

3.2.1編譯和安裝pkg-config

tarzxvfglib-2.0.6.tar.gz-C$GTK_HOME/src

cd$GTKHOME/src/glib-2.0.6

./configure--prefix=$GTK_HOME

make


makeinstall

3.2.2編譯和安裝atk

tarzxvfatk-1.0.1.tar.gz-C$GTK_HOME/src

cd$GTK_HOME/src/atk-1.0.1

./configure--prefix=$GTK_HOME

make

makeinstall

3.2.3編譯和安裝pango、DirectFB、gtk+2.0、swt-forgtk2.2

步驟類似atk的安裝。

4嵌入式LinuxGUI的應用前景展望

嵌入式LinuxGUI的應用領域很多,既可以用于家電市場,還可以用于商業市場、工業及自動化市場、國防市場、通訊市場等。例如,在通訊市場,手機、可視電話、機頂盒等可能成為嵌入式Linu.x的運行平臺,一個人性化的用戶界面是贏得消費者關鍵因素。因此嵌入式Linux圖形系統將擔任著更加重要的角色。

未來幾年,嵌入式LinuxGUI將朝以下方向發展:第一,輕型、占用資源少,不希望建立在龐大累贅的、非常消耗系統資源的操作系統和GUI之上。第二,高性能、高可靠性,特別是工業實時控制系統,對實時性的要求非常高,并且比起嵌入式系統來說,對GUI的要求也更高。第三,可配置,我們必須清楚的意識到,嵌入式系統是一種定制設備,它們對GUI的需求各不相同,有的系統只要求一些圖形功能,而有些系統要求完備的GUI支持,因此,GUI也必須是可定制的。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产日韩精品电影| 欧美日韩国产亚洲一区| 久久婷婷蜜乳一本欲蜜臀| 国内精品久久久久影院 日本资源| 欧美日韩另类字幕中文| 一区二区三区四区五区精品| 亚洲综合色自拍一区| 欧美性猛交xxxx乱大交退制版| 欧美一区二区三区免费大片| 国产自产高清不卡| 午夜精品一区二区三区电影天堂| 亚洲私拍自拍| 中文精品视频| 在线欧美三区| 一区二区国产日产| 亚洲国产美女| 欧美日韩网站| 国产精品毛片大码女人| 伊人色综合久久天天五月婷| 一卡二卡3卡四卡高清精品视频| 亚洲日本va午夜在线影院| 欧美日韩极品在线观看一区| 亚洲一区在线观看视频| 亚洲欧美综合网| 久久久人成影片一区二区三区观看| 亚洲欧洲日本mm| 亚洲欧美日韩综合一区| 亚洲欧美在线aaa| 欧美激情在线有限公司| 午夜精品久久久久99热蜜桃导演| 欧美国产欧美亚州国产日韩mv天天看完整| 国产精品伊人日日| 日韩视频精品在线| 麻豆精品视频在线观看| 欧美日韩视频免费播放| 亚洲国产高清在线| 精久久久久久| 宅男精品视频| 在线观看亚洲视频啊啊啊啊| 一本色道久久综合亚洲精品不卡| 久久久999国产| 一色屋精品视频免费看| 欧美岛国在线观看| 国产欧美亚洲日本| 男人的天堂亚洲| 亚洲免费av网站| 狠狠综合久久av一区二区老牛| 久久久水蜜桃| 国产精品男女猛烈高潮激情| 亚洲影院高清在线| 在线观看av一区| 国产精品视频xxxx| 欧美精品一区三区在线观看| 日韩视频在线观看免费| 国产一区二区三区的电影| 国产美女精品| 免费亚洲电影在线| 国产精品一级二级三级| 午夜在线视频观看日韩17c| 在线一区二区日韩| 日韩视频在线一区二区| 亚洲国产高清高潮精品美女| 99视频精品全部免费在线| 国产精品亚洲美女av网站| 亚洲视频中文字幕| 久久一区二区三区av| 国产精品视频导航| 欧美日韩精品免费观看| 亚洲电影天堂av| 亚洲国内高清视频| 亚洲国产成人精品女人久久久| 久久伊人免费视频| 99亚洲伊人久久精品影院红桃| 久久亚洲私人国产精品va媚药| 久久综合九九| 亚洲久色影视| 性色av一区二区怡红| 亚洲免费在线观看视频| 亚洲国产成人av在线| 国产精品裸体一区二区三区| 国产精品久久久久久久久搜平片| 亚洲精品日日夜夜| 99在线视频精品| 欧美成人免费在线观看| 久久亚洲精品网站| 日韩午夜免费视频| 在线观看的日韩av| 亚洲图片欧美午夜| 国产精品大片免费观看| 国产精品久久91| 亚洲精品永久免费精品| 久久综合中文字幕| 99视频热这里只有精品免费| 国产精品永久在线| 洋洋av久久久久久久一区| 日韩亚洲国产精品| 欧美日韩在线大尺度| 欧美国产日韩xxxxx| 欧美亚一区二区| 亚洲高清免费视频| 羞羞色国产精品| 韩日欧美一区二区| 国产在线观看91精品一区| 国产欧美日韩在线视频| 久久夜色精品国产噜噜av| 中文在线一区| 国产亚洲电影| 99国产精品久久久久久久久久| 国产精品久久久久久超碰| 欧美精品在线观看| 国产精品都在这里| 欧美中在线观看| 国产精品日本欧美一区二区三区| 欧美一区二区高清在线观看| 国产精品久久久久久久午夜| 国产色综合天天综合网| 亚洲精品男同| 在线播放不卡| 午夜在线观看免费一区| 欧美私人网站| 国产精品综合网站| 亚洲天堂av在线免费观看| 国产日韩欧美精品在线| 欧美 日韩 国产一区二区在线视频| 性18欧美另类| 在线视频精品一| 136国产福利精品导航网址应用| 国产精品专区h在线观看| 国产日韩高清一区二区三区在线| 久久亚洲一区二区三区四区| 亚洲天堂久久| 久久久久欧美精品| 韩国在线一区| 亚洲人成久久| 9l国产精品久久久久麻豆| 久久亚洲视频| 亚洲成人在线视频网站| 国产有码在线一区二区视频| 国产精品hd| 欧美激情麻豆| 欧美国产日本在线| 欧美三级黄美女| 久久精品亚洲乱码伦伦中文| 欧美高清在线视频观看不卡| 先锋影音国产一区| 久久综合色一综合色88| 欧美一区二区视频在线| 欧美日本在线观看| 欧美成人小视频| 国内精品视频一区| 亚洲欧美综合精品久久成人| 国产区二精品视| 蜜桃精品久久久久久久免费影院| 国产精品一香蕉国产线看观看| 久久久亚洲影院你懂的| 国产精品亚洲综合久久| 久久久精品网| 欧美色视频一区| 老司机一区二区三区| 欧美在线播放| 久久五月天婷婷| 欧美成人一区二区三区| 亚洲欧美国产77777| 欧美亚洲综合另类| 国产一区二区高清视频| 亚洲国产视频一区二区| 久久精品中文| 午夜免费在线观看精品视频| 欧美一区不卡| 欧美一级大片在线观看| 久久久久国产精品午夜一区| 欧美精品九九99久久| 蜜桃av噜噜一区二区三区| 亚洲人成免费| 国产欧美日韩另类一区| 国产精品美女主播在线观看纯欲| 性欧美办公室18xxxxhd| 亚洲动漫精品| 在线看不卡av| 久久成年人视频| 久久久蜜桃精品| 欧美成人一区在线| 9l国产精品久久久久麻豆| 欧美中文在线免费| 久热国产精品视频| 国产精品九色蝌蚪自拍| 国产日韩精品久久| 欧美日韩免费观看一区| 欧美大尺度在线观看| 国产欧美日韩在线观看| 好吊成人免视频| 亚洲乱亚洲高清| 在线成人www免费观看视频| 亚洲国产岛国毛片在线| 欧美日韩成人一区二区三区| 国产性色一区二区| 国产在线视频欧美一区二区三区| 国产精品久久久免费| 欧美视频中文一区二区三区在线观看| 国产精品捆绑调教| 欧美激情精品久久久久久久变态| 亚洲免费在线| 午夜亚洲激情| 久久久精品2019中文字幕神马| 亚洲国产精品小视频| 中文av一区特黄| 亚洲茄子视频| av成人免费在线| 欧美国产日本高清在线| 欧美区国产区| 欧美精品乱码久久久久久按摩| 欧美成人国产va精品日本一级| 91久久精品www人人做人人爽| 欧美日韩一区二区在线观看视频| 亚洲欧美美女| 在线精品一区二区| 国产精品高潮视频| 亚洲国产一区二区精品专区| 欧美成人精品一区二区| 欧美视频日韩视频| 麻豆乱码国产一区二区三区| 欧美日韩精品| 精品成人乱色一区二区| 久久久久一区| 日韩视频―中文字幕| 亚洲一区二区不卡免费| 在线播放国产一区中文字幕剧情欧美| 久久国产欧美精品| 国产中文一区二区三区| 欧美天天影院| 亚洲第一精品夜夜躁人人爽| 国产精品高潮呻吟| 久久国产99| 欧美精品在线一区二区| 国产三级精品三级| 国产精品女人久久久久久| 99www免费人成精品| 国产私拍一区| 欧美国产精品va在线观看| 亚洲国产成人在线视频| 老司机一区二区三区| 国产一区二区三区在线观看免费| 红桃视频欧美| 亚洲精品中文字幕女同| 在线观看中文字幕不卡| 欧美亚洲一区在线| 欧美日韩在线视频一区| 91久久中文| 在线亚洲免费视频| 欧美第一黄色网| 欧美mv日韩mv国产网站app| 欧美一区二区三区在线观看| 国内精品嫩模av私拍在线观看| 国内精品美女av在线播放| 欧美激情在线| 欧美涩涩网站| 亚洲卡通欧美制服中文| 国产毛片一区二区| 国产精品毛片大码女人| 欧美精品免费观看二区| 日韩一级裸体免费视频| 国产欧美日韩在线| 一区二区亚洲精品国产| 久久国产精品电影| 一区二区亚洲欧洲国产日韩| 欧美电影免费观看大全| 亚洲精品乱码久久久久久按摩观| 欧美日韩不卡合集视频| 亚洲成色www8888| 欧美国产激情二区三区| 麻豆精品网站| 99在线|亚洲一区二区| 亚洲第一在线综合网站| 蜜桃av一区| 国产精品久久久一区麻豆最新章节| 午夜欧美电影在线观看| 亚洲精品一区二区三区99| 亚洲精品在线视频| 欧美亚洲视频在线观看| 好看的av在线不卡观看| 激情视频亚洲| 亚洲美女免费精品视频在线观看| 午夜日韩福利| 欧美日韩一视频区二区| 狠狠色狠狠色综合日日tαg| 欧美区视频在线观看| 久久免费偷拍视频| 国产精品狼人久久影院观看方式| 国产精品a久久久久| 久久成人18免费观看| 日韩小视频在线观看| 欧美激情亚洲激情| 亚洲一区综合| 18成人免费观看视频| 午夜视频久久久| 欧美激情精品久久久久久变态| 亚洲人午夜精品免费| 欧美 日韩 国产精品免费观看| 麻豆成人av| 国产三级精品三级| 99视频在线观看一区三区| 伊人婷婷欧美激情| 国产精品日韩在线| 欧美在线亚洲在线| 欧美精品在线观看播放| 国产乱码精品一区二区三| 欧美一区二区精品在线| 欧美在线二区| 亚洲综合第一| 国产精品成人一区二区艾草| 国产欧美日韩伦理| 欧美freesex8一10精品| 欧美国内亚洲| 久久国产精品99国产| 久久久久免费视频| 欧美午夜一区| 国产一区91| 国产欧美精品一区aⅴ影院| 久久狠狠婷婷| 亚洲青涩在线| 亚洲电影观看| 国产精品激情偷乱一区二区∴| 国产精品久久久久久久久久久久久| 欧美一区二区三区视频在线观看| 久久精品夜色噜噜亚洲aⅴ| 91久久国产综合久久91精品网站| 亚洲电影免费观看高清| 国产一区成人|