資料介紹
隨著Internet與網絡的迅速發展并向家庭領域不斷擴展,使消費電子、計算機、通信(3C)一體化趨勢日趨明顯,嵌入式系統再度成為研究與應用的熱點。嵌入式實時Linux操作系統以價格低廉、功能強大又易于移植而正在被廣泛采用,成為新興的力量,如今隨著WAP手機、PDA、機頂盒、及DVD/VCD播放機已經迅速普及,用戶對這些手持式設備的GUI提出了更高的要求,希望能看到像PC機才擁有的華麗美觀的GUI。GUI已經成為了人與機器溝通的橋梁,嵌入式系統對GUI的需求越來越高,而這一切均要求有一個輕型、占用資源少、高性能、高可靠、可配置及美觀的GUI支持。
1 Java的圖形界面工具
Java技術對于服務器,個人電腦和嵌入式系統來說是一項偉大的技術。由于其具有跨平臺等特性。Java在服務器和桌面電腦方面的應用是非常成功的。然而在GUI方面,Java只用非常有限的一些特征去構建圖形用戶界面。其思想就是采用平臺無關的Java應用程序接口打包到不同的操作系統來開發本地圖形用戶界面,被稱之為抽象的窗口工具(AWT)。僅有普通的部件如文件域、文本區、選擇框、單選按鈕、列表框和按鈕被AWT支持,圖形和圖像的特性支持非常有限,也就是說,只足夠構建簡單的applet程序。認識到需要更高級的圖形用戶界面組件和圖形能力,Sun公司開發了Swing,Java 2D,Java3D,圖像的輸入/輸出,以及Java高級圖像(JAI)。Swing是用來構建Java圖形界面的標準API(應用程序接口),一些AWT類由Swing基礎而來。它有一套完全的組件從按鈕到文件域、表格、樹型和文件編輯器。這些組件不依賴于操作系統本地的部件,而是用原始的圖形像直線、矩形、文字畫出。這種畫代表感觀插件,它能夠模仿本地的感觀。SWT是基于Java開發的,它的設計理念是最大化了操作系統的圖形構件的API,就是說只要操作系統提供了相應圖形的構件,那么SWT只是簡單應用JNI技術調用它們,只有那些操作系統中不提供的構件,SWT才自己去做一個模擬的實現。另外SWT還提供對操作系統本地圖形用戶界面的直接訪問,因此,基于SWT的Java應用程序擁有本地的圖形用戶界面并且可以和本地別的應用程序和部件集成在一起。使用SWT開發包,簡單、跨平臺、可靠等這些Jaya語言本身所具有的優點正漸漸融合到圖形界面的應用程序開發中去。Java語言的另一扇成功之門正在逐漸打開。
2 SWT+GtkFB圖形系統的體系結構
2.1 SWT+GtkFB圖形系統的體系結構
2.1.1 SWT
SWT處于體系機構的最上層,它與Java內的AwT和Swing同屬于設計圖形界面所需的高級函數庫。而且SWT針對AWT 以及Swing的一些問題作了改善,如今它已發展成一套與作業系統無關的圖形元件函數庫。在元件的產生方面采用了適當的模擬,在基本的元件方面是采用原有作業系統的,對于較復雜的元件才用仿真的技術。基于SWT的Java應用程序擁有本地的圖形用戶界面,并且可以和本地別的應用程序,以及部件集成在一起。
SWT是基于Java語言開發出來的高級圖形元件庫,如圖2所示SWT在Java端通過JNI(Java Native InteRFace)技術直接調用native端的GtkFB來使用操作系統的資源,JNI技術使得SWT程序可以與其他語言編寫的Native端的代碼互相協作,將它們整合在一起;另一方面可使運行在JVM(JAava虛擬機)中的SWT代碼調用GtkFB庫函數或其他程序;此外利用Invocation API,可將Java虛擬機嵌入到native端的應用中。JNI這個接口是雙向的,相當于橋梁和紐帶,它將SWT代碼和native端的GtkFB代碼連接起來。
2.1.2 Gtk庫
如圖1所示,GTK會用到幾個連接庫,如基本數據類型用的Glib庫,它是由基礎類、核心應用支持類、實用功能類、數據類和對象系統類五個部分組成的。
![嵌入式Linux系統GUI特點介紹](/uploads/allimg/171026/2362486-1G0261G0213b.png)
Pango是用于國際化文本的布局和顯示的全功能框架。Pango可以處理以非從左到右方向排列的文本,并且可以容易地管理復雜語言,甚至還可以處理根據使用環境而采用不同形式的信函。例如它支持雙向文本,用戶可以將從左到右的文本和從右到左的文本混合編排;還可有用于確定各種復雜文本(如阿拉伯語和泰米爾語)形狀的插件。Pango不僅僅是國際化,而且Pango庫在Xft和XRender的支持下能很好地處理抗鋸齒字體文本的顯示。
![嵌入式Linux系統GUI特點介紹](/uploads/allimg/171026/2362486-1G0261G02J52.png)
Pango還支持各種圖形格式如libpng,libjpeg,libtiff和Framebuffer port用的FreeType等。實際上GTK提供gdk-pixbuf,gdk和gtk三個連接庫,其中Gdk-pixbuf讓我們可做相關的圖像工作,gdk是窗口繪圖系統的抽象層,framebuffer相關的工作大部分在此完成,而gtk則是高層的應用程序接口。Atk(Accessibility Toolkit)可訪問性工具箱。GTK充分利用ATK使殘障人士(如視力低下或行動不便)與GTK應用程序交互成為可能。
2.1.3 GtkFB的工作原理
DirectFB訪問圖形硬件設備依賴于操作系統提供的內核接口,即幀緩沖設備(FrameBuffer)。FrameBuffer實際上是用一塊硬件來做顯卡和軟件之間的橋梁,Linux的內核將其開放出來,使用戶的程序可以通過塊內存來存取顯卡。例如設定顯示分辨率和色彩數、存取顯示內存區等。不同的Linux需要提供針對不同顯示硬件FrameBuffer的驅動程序,這就是說DirectFB需要運行于FramBuffer之上,然而Linux內核提供了常見芯片的FrameBuffer驅動。
當一個應用程序連接到GtkFB時會調用gtk_init(),如圖3所示,此時GtkFB 啟動Linux的Framebiffer,設定分辨率和色彩數,接下來打開鍵盤和鼠標等外設(PDA打開按鍵和觸控屏幕).然后到特定目錄去讀取字型,最后對窗口和事件管理作初始化操作。GtkFB可以支持8、16、24、32bpp的framebuffer。
1 Java的圖形界面工具
Java技術對于服務器,個人電腦和嵌入式系統來說是一項偉大的技術。由于其具有跨平臺等特性。Java在服務器和桌面電腦方面的應用是非常成功的。然而在GUI方面,Java只用非常有限的一些特征去構建圖形用戶界面。其思想就是采用平臺無關的Java應用程序接口打包到不同的操作系統來開發本地圖形用戶界面,被稱之為抽象的窗口工具(AWT)。僅有普通的部件如文件域、文本區、選擇框、單選按鈕、列表框和按鈕被AWT支持,圖形和圖像的特性支持非常有限,也就是說,只足夠構建簡單的applet程序。認識到需要更高級的圖形用戶界面組件和圖形能力,Sun公司開發了Swing,Java 2D,Java3D,圖像的輸入/輸出,以及Java高級圖像(JAI)。Swing是用來構建Java圖形界面的標準API(應用程序接口),一些AWT類由Swing基礎而來。它有一套完全的組件從按鈕到文件域、表格、樹型和文件編輯器。這些組件不依賴于操作系統本地的部件,而是用原始的圖形像直線、矩形、文字畫出。這種畫代表感觀插件,它能夠模仿本地的感觀。SWT是基于Java開發的,它的設計理念是最大化了操作系統的圖形構件的API,就是說只要操作系統提供了相應圖形的構件,那么SWT只是簡單應用JNI技術調用它們,只有那些操作系統中不提供的構件,SWT才自己去做一個模擬的實現。另外SWT還提供對操作系統本地圖形用戶界面的直接訪問,因此,基于SWT的Java應用程序擁有本地的圖形用戶界面并且可以和本地別的應用程序和部件集成在一起。使用SWT開發包,簡單、跨平臺、可靠等這些Jaya語言本身所具有的優點正漸漸融合到圖形界面的應用程序開發中去。Java語言的另一扇成功之門正在逐漸打開。
2 SWT+GtkFB圖形系統的體系結構
2.1 SWT+GtkFB圖形系統的體系結構
2.1.1 SWT
SWT處于體系機構的最上層,它與Java內的AwT和Swing同屬于設計圖形界面所需的高級函數庫。而且SWT針對AWT 以及Swing的一些問題作了改善,如今它已發展成一套與作業系統無關的圖形元件函數庫。在元件的產生方面采用了適當的模擬,在基本的元件方面是采用原有作業系統的,對于較復雜的元件才用仿真的技術。基于SWT的Java應用程序擁有本地的圖形用戶界面,并且可以和本地別的應用程序,以及部件集成在一起。
SWT是基于Java語言開發出來的高級圖形元件庫,如圖2所示SWT在Java端通過JNI(Java Native InteRFace)技術直接調用native端的GtkFB來使用操作系統的資源,JNI技術使得SWT程序可以與其他語言編寫的Native端的代碼互相協作,將它們整合在一起;另一方面可使運行在JVM(JAava虛擬機)中的SWT代碼調用GtkFB庫函數或其他程序;此外利用Invocation API,可將Java虛擬機嵌入到native端的應用中。JNI這個接口是雙向的,相當于橋梁和紐帶,它將SWT代碼和native端的GtkFB代碼連接起來。
2.1.2 Gtk庫
如圖1所示,GTK會用到幾個連接庫,如基本數據類型用的Glib庫,它是由基礎類、核心應用支持類、實用功能類、數據類和對象系統類五個部分組成的。
![嵌入式Linux系統GUI特點介紹](/uploads/allimg/171026/2362486-1G0261G0213b.png)
Pango是用于國際化文本的布局和顯示的全功能框架。Pango可以處理以非從左到右方向排列的文本,并且可以容易地管理復雜語言,甚至還可以處理根據使用環境而采用不同形式的信函。例如它支持雙向文本,用戶可以將從左到右的文本和從右到左的文本混合編排;還可有用于確定各種復雜文本(如阿拉伯語和泰米爾語)形狀的插件。Pango不僅僅是國際化,而且Pango庫在Xft和XRender的支持下能很好地處理抗鋸齒字體文本的顯示。
![嵌入式Linux系統GUI特點介紹](/uploads/allimg/171026/2362486-1G0261G02J52.png)
Pango還支持各種圖形格式如libpng,libjpeg,libtiff和Framebuffer port用的FreeType等。實際上GTK提供gdk-pixbuf,gdk和gtk三個連接庫,其中Gdk-pixbuf讓我們可做相關的圖像工作,gdk是窗口繪圖系統的抽象層,framebuffer相關的工作大部分在此完成,而gtk則是高層的應用程序接口。Atk(Accessibility Toolkit)可訪問性工具箱。GTK充分利用ATK使殘障人士(如視力低下或行動不便)與GTK應用程序交互成為可能。
2.1.3 GtkFB的工作原理
DirectFB訪問圖形硬件設備依賴于操作系統提供的內核接口,即幀緩沖設備(FrameBuffer)。FrameBuffer實際上是用一塊硬件來做顯卡和軟件之間的橋梁,Linux的內核將其開放出來,使用戶的程序可以通過塊內存來存取顯卡。例如設定顯示分辨率和色彩數、存取顯示內存區等。不同的Linux需要提供針對不同顯示硬件FrameBuffer的驅動程序,這就是說DirectFB需要運行于FramBuffer之上,然而Linux內核提供了常見芯片的FrameBuffer驅動。
當一個應用程序連接到GtkFB時會調用gtk_init(),如圖3所示,此時GtkFB 啟動Linux的Framebiffer,設定分辨率和色彩數,接下來打開鍵盤和鼠標等外設(PDA打開按鍵和觸控屏幕).然后到特定目錄去讀取字型,最后對窗口和事件管理作初始化操作。GtkFB可以支持8、16、24、32bpp的framebuffer。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式Linux常用GUI系統
- 嵌入式Linux操作系統安裝及相關工具使用 15次下載
- 嵌入式Linux開發教程之嵌入式系統介紹資料免費下載
- 如何使用ARM進行嵌入式linux的系統設計
- 基于嵌入式GUI技術研究 0次下載
- 精通嵌入式Linux編程—構造自己的GUI環境 16次下載
- 基于Linux的輕量級嵌入式GUI系統及實現
- 基于Linux的嵌入式GUI設計研究
- 基于Linux的嵌入式GUI研究與應用
- 嵌入式單窗口GUI系統的設計與實現
- 基于ARM-Linux的嵌入式系統GUI開發研究
- 嵌入式Linux系統中GUI系統的研究與移植1
- 嵌入式Linux系統的移植研究
- 一種嵌入式Linux輕量級GUI系統設計
- 一種嵌入式Linux輕量級GUI系統設計
- 嵌入式軟件與生態系統:為嵌入式開發者提供必要的組件 721次閱讀
- 基于Linux和MPC823E嵌入式處理器實現船舶導航系統的設計 2707次閱讀
- 嵌入式系統應用實例的詳細資料介紹 4840次閱讀
- 基于嵌入式Linux內核的ARM9運行實現方式介紹 1573次閱讀
- 基于uITRON 3.0的嵌入式GUI系統設計概述 1475次閱讀
- 基于嵌入式Linux系統下Mini GUI的移植方法與過程詳解 3702次閱讀
- 關于嵌入式系統的特點和Linux內核的實時應用分析 1141次閱讀
- 關于Linux嵌入式操作系統的優勢特征詳解 5690次閱讀
- 嵌入式環境下的輕量級GUI系統解決方案設計詳解 7680次閱讀
- 關于Linux的特點析以及在嵌入式操作系統中的應用詳解 1003次閱讀
- 學習嵌入式linux系統開發,文件類型一定要分清 895次閱讀
- 嵌入式系統有哪些部分組成_嵌入式系統的應用領域 3.4w次閱讀
- 基于STM32的嵌入式測控系統設計與實現 8642次閱讀
- 基于嵌入式Linux的家居監控系統設計 2117次閱讀
- 基于Linux的嵌入式實時操作系統的研究 2353次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論