<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 嵌入式Linux環(huán)境下MiniGUI的研究與移植

嵌入式Linux環(huán)境下MiniGUI的研究與移植

作者: 時(shí)間:2009-08-25 來(lái)源:網(wǎng)絡(luò ) 收藏

 前言
 近年來(lái)隨著(zhù)設備與市場(chǎng)需求的廣泛結合,手機、PDA、DVD播放機等產(chǎn)品的應用對可視化操作界面的簡(jiǎn)潔和方便提出了更高的要求,這都需要一個(gè)穩定可靠的高性能GUI系統來(lái)提供支持。圖形用戶(hù)界面(Graphic User Interface,簡(jiǎn)稱(chēng)GUI)的廣泛流行是當今計算機技術(shù)的重要成就之一,它極大地方便了非專(zhuān)業(yè)用戶(hù)的使用,人們可以通過(guò)窗口、菜單方便地進(jìn)行操作。由于系統實(shí)時(shí)性要求高,同時(shí)系統硬件配置又有限,所以對輕型GUI的需求更加突出。另外,嵌入式系統往往是一種訂制設備,它們對GUI的需求也各不相同,因此GUI也必須是可訂制的。綜上所述,嵌入式系統對GUI的基本要求應包括輕型、占用資源少、高性能、高可靠性以及可配置。是目前比較常用的幾種GUI系統之一,與其他的GUI相比,最顯著(zhù)的特點(diǎn)就是輕型、占用資源少,而且在這幾年的發(fā)展里,已經(jīng)非常成熟和穩定了,在許多產(chǎn)品和項目中都已得到了實(shí)際應用。

本文引用地址:http://dyxdggzs.com/article/152374.htm

  1 MiniGUI的特點(diǎn)和體系結構

  1. 1 MiniGUI的特點(diǎn)

  MiniGUI是由原清華大學(xué)教師魏永明主持開(kāi)發(fā)的輕量級圖形系統,是一種面向嵌入式或實(shí)時(shí)系統的圖形用戶(hù)界面支持系統。它遵循GPL公約,是基于SVGALib及Thread庫的多窗口GUI支持系統。能跨多種操作系統,主要運行于linux及一切具有POSIX線(xiàn)程支持的POSIX兼容系統,包括普通嵌入式、eCos、uC/OS-II、VxWorks等系統,是國內最早的自由軟件之一。

  MiniGUI的主要特點(diǎn)有:

  (1) 遵循GPL條款的純自由軟件;

  (2) 提供了完備的多窗口機制;

  (3) 多字符集和多字體支持,目前支持ISO8859-1、GB2312及Big5等字符集,并且支持各種光柵字體和TrueType、Type1等矢量字體;

  (4) 全拼和五筆等漢字輸入法支持;

  (5) BMP、GIF、JPEG及PCX等常見(jiàn)圖像文件的支持;

  (6) Windows的資源文件支持,如位圖、圖標、光標、插入符、定時(shí)器及加速鍵等;

  (7) 可性好。

  1.2 MiniGUI的體系結構

  1.2.1多線(xiàn)程的分層設計

  從整體結構上看,MiniGUI是分層設計的,結構如圖1所示。在最底層,GAL(圖形抽象層)和IAL(輸入抽象層)及鼠標和鍵盤(pán)的驅動(dòng);中間層是MiniGUI的核心層,包括窗口系統必不可少的各個(gè)模塊;最頂層是API,即編程接口。GAL和IAL為MiniGUI提供了底層的控制臺或者X Window上的圖形接口以及輸入接口,而Pthread用于提供內核級線(xiàn)程支持的C函數庫。利用GAL和IAL,大大提高了MiniGUI的可性,并且使程序的開(kāi)發(fā)和調試變得更加容易??梢栽赬 Window上開(kāi)發(fā)和調試自己的MiniGUI程序,通過(guò)重新編譯就可以讓MiniGUI應用程序運行在特殊的嵌入式硬件平臺上。

  MiniGUI本身運行在多線(xiàn)程模式下,它的許多模塊都以單獨的線(xiàn)程運行,同時(shí),MiniGUI還利用線(xiàn)程來(lái)支持多窗口。從本質(zhì)上講,每個(gè)線(xiàn)程有一個(gè)消息隊列,消息隊列是實(shí)現線(xiàn)程數據交換和同步的關(guān)鍵數據結構。一個(gè)線(xiàn)程向消息隊列中發(fā)送消息,而另一個(gè)線(xiàn)程從這個(gè)消息隊列中獲取消息,同一個(gè)線(xiàn)程中創(chuàng )建的窗口可共享同一個(gè)消息隊列。一個(gè)線(xiàn)程向消息隊列中發(fā)送消息,而另一個(gè)線(xiàn)程從這個(gè)消息隊列中獲取消息,同一個(gè)線(xiàn)程中創(chuàng )建的窗口可共享同一個(gè)消息隊列。利用消息隊列和多線(xiàn)程之間的同步機制,可以實(shí)現下面要講到的微客戶(hù)/服務(wù)器機制。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>