嵌入式Linux圖形界面開發(fā)_第1頁
嵌入式Linux圖形界面開發(fā)_第2頁
嵌入式Linux圖形界面開發(fā)_第3頁
嵌入式Linux圖形界面開發(fā)_第4頁
嵌入式Linux圖形界面開發(fā)_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 嵌入式Linux-圖形界面開發(fā)介紹 聯(lián)系方式鄧濤內(nèi)容安排 用戶界面的發(fā)展簡史新一代GUI 的主要特征GUI 在嵌入式中的迫切需求Linux 的基本圖形系統(tǒng)Linux 圖形系統(tǒng)的高級函數(shù)庫嵌入式Linux 的GUI用戶界面的發(fā)展簡史 計(jì)算機(jī)用戶界面(UI是指計(jì)算機(jī)與其使用者之間的對話接口計(jì)算機(jī)的發(fā)展史也是用戶界面不斷改進(jìn)的歷史早期:指示燈來顯示二進(jìn)制數(shù)據(jù)和指令. 開關(guān)、扳鍵及穿孔紙帶送入各種數(shù)據(jù)和命令50年代中后期,采用了作業(yè)控制語言(JCL及控制臺(tái)打字機(jī)等,可以批處理多個(gè)計(jì)算任務(wù),代替了原來笨拙的手工扳鍵方式,提高了使用效率用戶界面的歷史 1963年,MIT 發(fā)明了第一個(gè)分時(shí)系統(tǒng)CTSS ,

2、該系統(tǒng)連接了多個(gè)分時(shí)終端,并最早使用了文本編輯程序。從此,以命令行形式對話的多用戶分時(shí)終端成為70年代乃至80年代用戶界面的主流是計(jì)算機(jī)系統(tǒng)的重要組成部分. 80年代初,由美國Xerox 公司Alto 計(jì)算機(jī)首先使用的Smalltalk 80程序設(shè)計(jì)開發(fā)環(huán)境,以及后來的Lisa 、Macintosh 等計(jì)算機(jī),將用戶界面推向GUI 的新階段。隨之而來的UI 管理系統(tǒng)和智能界面的研究均推動(dòng)了UI 的發(fā)展。UI 已經(jīng)從過去的人去適應(yīng)笨拙的計(jì)算機(jī),發(fā)展到今天的計(jì)算機(jī)不斷地適 新一代界面的主要特征 以用戶為中心多通道智能化高帶寬不限制地點(diǎn)圖示編程GUI 在嵌入式中的迫切需求由于硬件限制, 早期嵌入式設(shè)

3、備中沒有華麗的GUI Palm OS 和WinCE 較早的嵌入式設(shè)備GUI 隨著手持式設(shè)備的硬件條件的提高,越來越多的嵌入式系統(tǒng),包括PDA 、機(jī)頂盒、DVD/VCD播放機(jī)、WAP 手機(jī)等等系統(tǒng)均要求提供全功能的Web 瀏覽器輕量級GUI 的系統(tǒng)是工業(yè)實(shí)時(shí)控制系統(tǒng).(XWindow 太過龐大和臃腫Linux 基本圖形系統(tǒng)(函數(shù)庫)X Window SVGALib FrameBuffer LibGGIX Window X Window 是目前類UNIX 系統(tǒng)中處于控制地位的桌面圖形系統(tǒng)支持CAD 建模工具和辦公套件在內(nèi)的大量應(yīng)用程序由于體系接口上的原因,限制了其對游戲、多媒體的支持能力提供了DG

4、A (直接圖形訪問)擴(kuò)展, 用于滿足對游戲、多媒體等應(yīng)用對圖形加速能力的要求Tiny-X 是XServer 在嵌入式系統(tǒng)的小巧實(shí)現(xiàn)(<1MBXWindow SVGALib SVGALib 是Linux 系統(tǒng)中最早出現(xiàn)的非X 圖形支持庫可移植性差接口雜亂對應(yīng)用的支持能力較差發(fā)展緩慢,有被其他圖形庫取代的可能FrameBuffer FrameBuffer 是出現(xiàn)在內(nèi)核中的一種驅(qū)動(dòng)程序接口該接口將顯示設(shè)備抽象為幀緩沖區(qū)用戶可以直接對該內(nèi)存映像進(jìn)行讀寫操作實(shí)際上是提供顯示內(nèi)存和顯示芯片寄存器從物理內(nèi)存映射到進(jìn)程地址空間中的設(shè)備LibGGI LibGGI 試圖建立一個(gè)一般性的圖形接口該抽象接口連同

5、相關(guān)的輸入(鼠標(biāo)、鍵盤、游戲桿等)抽象接口一起可以方便地運(yùn)行在X Window 、SVGALib 、FrameBuffer 等等之上建立在LibGGI 之上的應(yīng)用程序,不經(jīng)重新編譯,就可以在上述這些底層圖形接口上運(yùn)行Linux 圖形領(lǐng)域的高級函數(shù)庫Xlib SDL MesaSD DirectFBXlib 及其他相關(guān)函數(shù)庫 在X Window 系統(tǒng)中進(jìn)行圖形編程時(shí),可以選擇直接使用Xlib. Xlib 實(shí)際是對底層X 協(xié)議的封裝,可通過該函數(shù)庫進(jìn)行一般的圖形輸出Xlib 的接口太原始而且復(fù)雜一般的圖形程序選擇其他高級一些的圖形庫作為基礎(chǔ)。比如,GTK 、QT 等等SDL SDL (Simple

6、DirectMedia Layer )跨平臺(tái)的多媒體游戲支持庫包含了對圖形、聲音、游戲桿、線程等等的支持可以運(yùn)行在許多平臺(tái)上,(X Window、X Window with DGA、Linux FrameBuffer 、Linux SVGALib、Windows DirectX、BeOS SDL 是編寫跨平臺(tái)游戲和多媒體應(yīng)用的最佳平臺(tái),也的確得到了廣泛應(yīng)用Allegro Allegro 是一個(gè)專門為x86平臺(tái)設(shè)計(jì)的游戲圖形庫, 可以運(yùn)行在Linux FrameBuffe 控制臺(tái)、Linux SVGALib 、X Window 等系統(tǒng)上Allegro 提供了一些豐富的圖形功能,包括矩形填充和樣條

7、曲線生成等等,而且具有較好的三維圖形顯示能力該函數(shù)庫具有運(yùn)行速度快、資源占用少的特點(diǎn)(匯編語言編寫 對線程的支持較差, 對硬件加速能力的支持不足Mesa3D Mesa3D 是一個(gè)兼容OpenGL 規(guī)范的開放源碼函數(shù)庫是目前Linux 上提供專業(yè)三維圖形支持的惟一選擇Mesa3D 同時(shí)也是一個(gè)跨平臺(tái)的函數(shù)庫,能夠運(yùn)行在X Window、X Window with DGA、BeOS 、Linux SVGALib 等平臺(tái)上DirectFB DirectFB 是專注于Linux FrameBuffer 加速的一個(gè)圖形庫并試圖建立一個(gè)兼容GTK 的嵌入式GUI 系統(tǒng)可裝載函數(shù)庫的形勢提供對加速Frame

8、Buffer 驅(qū)動(dòng)程序的支持嵌入式Linux 系統(tǒng)的GUI MicoroWindows/NanoXOpenGUI Qt/EmbeddedMiniGUIMicoroWindows/NanoX 由美國Century Software 公司主持開發(fā)基于典型客戶/服務(wù)器體系結(jié)構(gòu)的GUI 系統(tǒng),基本分為三層最底層是面向圖形輸出和鍵盤、鼠標(biāo)或觸摸屏的驅(qū)動(dòng)程序中間層提供底層硬件的抽象接口,并進(jìn)行窗口管理最高層分別提供兼容于X Window 和WinCE (Win32子集)的API MicoroWindows/NanoX OpenGUI 最初的名字叫FastGL ,只支持256色的線性顯存模式,但目前也支持其

9、他顯示模式支持多種操作系統(tǒng)平臺(tái),比如MS-DOS 、QNX 和Linux 等等, 不過目前只支持x86硬件平臺(tái)。OpenGUI 也分為三層。最低層是由匯編編寫的快速圖形引擎;中間層提供了圖形繪制API ,包括線條、矩形、圓弧等,并且兼容于Borland 的BGI API 。第三層用C+編寫,提供了完整的GUI 對象集。OpenGUI Qt/Embedded Qt/Embedded是著名的Qt 庫開發(fā)商TrollTech 發(fā)布的面向嵌入式系統(tǒng)的Qt 版本Qt 是KDE 等項(xiàng)目使用的GUI 支持庫許多基于Qt 的X Window 程序可以非常方便地移植到Qt/Embedded Qt/Embedded 庫目前主要用于手持式信息終端Qt/Embedded MiniGUI 由國人開發(fā)的一個(gè)自由軟件項(xiàng)目為基于L

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論