<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 嵌入式Linux系統(tǒng)中的GUI系統(tǒng)的研究與移植

    時間:2024-08-07 12:06:38 理工畢業(yè)論文 我要投稿
    • 相關推薦

    嵌入式Linux系統(tǒng)中的GUI系統(tǒng)的研究與移植

    來源:單片機及嵌入式系統(tǒng)應用 作者:北京航空航天大學 徐廣毅 張曉林 崔迎煒 楊欣昕 吳小偉
    摘要:針對嵌入式Linux系統(tǒng)中幾種常見的GUI(Graphic User Interface)系統(tǒng),討論嵌入式GUI實現(xiàn)的底層技術方式;詳細分析Microwindows、MiniGUI、Qt/Embedded等三種GUI的實現(xiàn)特點、體系結構、API接口。結合這三種嵌入式GUI在以Motorola i,MX1為核心的實際應用系統(tǒng)中移植開發(fā)的問題,討論移植技術與中文化技術。

    引言

    嵌入式GUI為嵌入式系統(tǒng)提供了一種應用于特殊場合的人們交互接口。嵌入式GUI要求簡單、直觀、可靠、占用資源小且反應快速,以適應系統(tǒng)硬件資源有限的條件。另外,由于嵌入式系統(tǒng)硬件本身的特殊性,嵌入式GUI應具備高度可移植性與可裁減性,以適應不同的硬件條件和使用需求。總體來講,嵌入式GUI具備以下特點:

    *體積小;

    *運行時耗用系統(tǒng)資源小;

    *上層接口與硬件無關,高度可移植;

    *高可靠性;

    *在某些應用場合應具備實時性。

    1 基于嵌入式Linux的GUI系統(tǒng)底層實現(xiàn)基礎

    一個能夠移植到多種硬件平臺上的嵌入式GUI系統(tǒng),應用至少抽象出兩類設備:基于圖形顯示設備(如VGA卡)的圖形抽象層GAL(Graphic Abstract Layer),基于輸入設備(如鍵盤,觸摸層等)的輸入抽象層IAL(Input Abstract Layer)。GAL層完成系統(tǒng)對具體的顯示硬件設備的操作,極大程度上隱蔽各種不同硬件的技術實現(xiàn)細節(jié),為誚程序開發(fā)人員提供統(tǒng)一的圖形編程接口。IAL層則需要實現(xiàn)對于各類不同輸入設備的控制操作,提供統(tǒng)一的調(diào)用接口。GAL層與IAL層的設計概念,可以極大程序地提高嵌入式GUI的可移植性,如圖1所示。

    目前應用于嵌入式Linux系統(tǒng)中比較成熟,功能也比較強大的GUI系統(tǒng)底層支持庫有SVGA lib、LibGGI、Xwindow、framebuffer等。

    2 三種嵌入式GUI系統(tǒng)的分析與比較

    2.1 Microwindows

    Microwindows是一個典型的基于Server/Clinent體系結構的GUI系統(tǒng),基本分為三層,如圖2所示。

    最底層是面向圖形顯示和鍵盤、鼠標或觸摸屏的驅(qū)動程序;中間層提供底層硬件的抽象接口,并進行窗口管理;最高層分別提供兼容于X Window和ECMA APIW(Win32子集)的API。其中使用Nano-X接口的API與X接口兼容,但是該接口沒有提供窗口管理,如窗口移動和窗口剪切等高級功能,系統(tǒng)中需要首先啟動nano-X的Server程序nanoxserver和窗口管理程序nanowm。用戶程序連接nano-X的Server獲得自身的窗口繪制操作。使用ECMA APIW編寫的應用程序無需nanox-server和nanowm,可直接運行。

    Microwindows提供了相對完善的圖形功能和一些高級的特性,如Alpha混合、三維支持和TrueType字體支持等。該系統(tǒng)為了提高運行速度,也改進了基于Socket套接字的X實現(xiàn)模式,采用了基于消息機制的Server/Client傳輸機制。Microwindows也有一些通用的窗口控件,但其圖形引擎存在許多問題,可以歸納如下:

    *無任何硬件加速能力;

    *圖形引擎中存在許多低效算法,如在圓弧圖函數(shù)的逐點判斷剪切的問題。

    由于該項目缺乏一個強有力的核心代碼維護人員,2003年Microwindows推出版本0.90后,該項目的發(fā)展開始陷于停滯狀態(tài)。

    2.2 MiniGUI

    MiniGUI是由國內(nèi)自由軟件開發(fā)人員設計開發(fā)的,目標是為基于Linux的實時嵌入式系統(tǒng)提供一個輕量級的圖形用戶界面支持系統(tǒng)。MiniGUI的體系架構如圖3所示。

    MiniGUI分為最底層的GAL層和IAL層,向上為基于標準POSIX接口中pthread庫的Mini-thread架構和基于Server/Client的Mini-Lite架構。其中前者受限于thread模式對于整個系統(tǒng)的可靠性影響——進程中某個thread的意外錯誤可能導致整個進程的崩潰,該架構應用于系統(tǒng)功能較為單一的場合。Mini-Lite應用于多進程的應用場合,采用多進程運行方式設計的Server/Client架構能夠較好地解決各個進程之間的窗口管理、Z序剪切等問題。MiniGUI還有一種從Mini-Lite衍生出的standalone運行模式。與Lite架構不同的是,standalone模式一次只能以窗口最大化的方式顯示一個窗口。這在顯示屏尺寸較小的應用場合具有一定的應用意義。

    MiniGUI的GAL層技術SVGA lib、LibGGI、基于framebuffer的native圖形引擎以及啞圖形引擎等,對于Trolltech公司的QVFB在X Window下也有較好的支持。IAL層則支持Linux標準控制臺下的GPM鼠標服務、觸摸屏、標準鍵盤等。

    MiniGUI下豐富的控件資源也是MiniGUI的特點之一。當前MiniGUI的最新版本是1.3.3。該版本的控件中已經(jīng)添加了窗口皮膚、工具條等桌面GUI中的高級控件支持。

    2.3 QT/Embedded

    Qt/Embedded是著名的Qt庫開發(fā)商Trolltech公司開發(fā)的面向嵌入式系統(tǒng)的Qt版本。因為Qt是KDE等項目使用的GUI支持庫,許多基于Qt的X Window程序因此可以非常方便地移植到Qt/Embedded上。Qt/Embedded同樣是

    嵌入式Linux系統(tǒng)中的GUI系統(tǒng)的研究與移植

    【嵌入式Linux系統(tǒng)中的GUI系統(tǒng)的研究與移植】相關文章:

    嵌入式Linux的MiniGUI研究和移植03-18

    嵌入式系統(tǒng)中“軟外設”的研究03-19

    嵌入式Linux系統(tǒng)及其應用前景03-18

    嵌入式Linux系統(tǒng)下Microwindows的應用03-19

    嵌入式Linux系統(tǒng)CGI程序設計技術03-18

    嵌入式系統(tǒng)中的CACHE問題03-19

    嵌入式系統(tǒng)中的線性Flash文件系統(tǒng)設計03-21

    嵌入式ARM-Linux水產(chǎn)養(yǎng)殖監(jiān)控系統(tǒng)的設計03-07

    嵌入式系統(tǒng)中的Flash存儲管理03-18

    主站蜘蛛池模板: 国产精品爱啪在线线免费观看| 精品少妇一区二区三区视频| 国产精品日韩AV在线播放 | 国内精品伊人久久久久| 欧美亚洲成人精品| 国产精品va在线观看无码| jizz国产精品网站| 欧美成人精品高清在线观看| 久久精品亚洲精品国产欧美| 国产成人久久久精品二区三区 | 精品日韩欧美国产| 国产精品久久久久影院色| 久久夜色精品国产欧美乱| 色婷婷噜噜久久国产精品12p| 国产精品偷伦视频免费观看了| 欧美一卡2卡3卡四卡海外精品| 97久久国产亚洲精品超碰热| 精品无码人妻一区二区三区品 | 国产成人精品日本亚洲专| 日本VA欧美VA精品发布| 午夜三级国产精品理论三级| 国产午夜精品一区二区| 国产精品成人99久久久久91gav| 四虎永久在线精品884aa下载| 国产成人精品日本亚洲网址| 国产精品亚洲成在人线| 久久精品夜夜夜夜夜久久| 欧美精品亚洲精品日韩传电影| 亚洲精品卡2卡3卡4卡5卡区| 尤物yw午夜国产精品视频| 亚洲AV日韩精品一区二区三区| 久久国产美女免费观看精品| 国产亚洲精品影视在线产品| 国产精品视频色视频| 国产精品久久久天天影视香蕉| 国产高清国内精品福利99久久| 99精品伊人久久久大香线蕉| 国产成人精品cao在线| 国产精品熟女福利久久AV | 日韩精品一二三四区| 蜜臀av无码人妻精品|