www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]基于Microwindows的嵌入式GUI設計

引言
  嵌入式圖形用戶界面與存儲安全、嵌入式java 虛擬機并稱為嵌入式系統(tǒng)中的三大關鍵技術。在嵌入式應用領域,伴隨著硬件技術的發(fā)展,傳統(tǒng)意義上的人機交互界面正趨于淡化,取而代之的是具有友好人機交互支持的嵌入式圖形界面。

  嵌入式計算機系統(tǒng)以其關鍵部件的高性能、低價格等優(yōu)勢為embedded gui 的發(fā)展奠定了堅實的市場和技術基礎;而基于linux 開放源代碼、遵循不同授權條款的諸多embedded gui 軟件及其自由開發(fā)者,又大大推進了embedded gui 的應用進程,起到推波助瀾的作用,如microwindows、minigui 及qt/ embedded 等。

  嵌入式系統(tǒng)是以應用為中心、計算機技術為基礎、軟件硬件可裁剪、適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。嵌入式系統(tǒng)的這一定義也就界定了嵌入式系統(tǒng)對embedded gui 的基本要求。這些要求如下: (1) 輕量級、占用系統(tǒng)資源少; (2) 性能高,友好的人機互動; (3) 可靠性高; (4) 模塊架構,配置靈活,便于移植。

  目前,在嵌入式應用領域比較成功的embedded gui主要有minigui、microwindows 和qt/ embedded。

  minigui 和microwindows 都是自由軟件,只是前者遵循l gpl 條款,后者遵循mpl 條款。這兩個系統(tǒng)的技術路線也有所不同。minigui 的策略是首先建立在比較成熟的圖形引擎之上,如svgalib 和libggi ,開發(fā)的重點在窗口系統(tǒng)、圖形接口上。

  microwindows 目前的開發(fā)重點則在底層的圖形引擎上,它不需要其它圖形系統(tǒng)的支持。在linux 操作系統(tǒng)上,microwindows 也可以充分利用linux 提供的framebuffer機制來顯示圖形。并且,microwindows 還具有很強的移植性,能夠在大多數(shù)微處理器上運行。

  qt/ embedded 由于移植了大量原來基于qt 的xwindows 程序,提供了非常完整的嵌入式gui 解決方案,再加上opera 瀏覽器,可以說是一個成熟的商業(yè)軟件。然而,qt/ embedded 不能運行在非qt 的軟件中,其源代碼也過于龐大。

  作為一個開放源代碼項目,microwindows 將現(xiàn)代圖形窗口技術的一些特性展現(xiàn)給了編程團體,而不需要諸如microsof t windows 或x window 這樣占用較大磁盤和ram 空間的高級窗口的支持。它直接面向顯示硬件本身,不需要任何操作系統(tǒng)或其它圖形系統(tǒng)的支持,可以在linux 2. 0 以上的framebuffer 系統(tǒng)上很好地運行。microwindows 本身就被設計成便于移植、能夠在大多數(shù)硬件和軟件環(huán)境下運行的embedded gui。

  microwindows 最新版本0. 9 有如下新特性:

  (1) 支持新的nxl ib 項目,nxl ib 對x11 的二進制程序可以不加修改地直接在microwindows 里運行,而無需x11 server 支持;
  (2) 支持sharp zaurus、tuxscreen、trimedia 及cygnus x11 平臺;
  (3) 內(nèi)建標準化校準(nxcal) 支持,如一個觸摸屏驅(qū)動程序可以支持包含ipaq、zaurus、ads 和tuxscreen 在內(nèi)的大多數(shù)arm 平臺;
  (4) 增強了字符支持,包括big5 、gb2312 、euccn、euckr、eucj p 和j isx0213 等;
  (5) 大幅提高了x11 屏幕驅(qū)動程序和文本畫圖的速度;
  (6) 32 位argb 硬件驅(qū)動支持單色alpha ;
  (7) 支持帶有havi 鍵盤映射的l irc 鍵盤;
  (8) 從源代碼中為html 和pdf 文檔自動生成支持基于do
 總而言之,最新版本的microwindows 在硬件驅(qū)動加速上、在圖形引擎算法上以及代碼質(zhì)量上,都比原先的版本有較大的改進。

[!--empirenews.page--]

microwindows 的api

  microwindows 采用分層體系結構設計,提供了豐富的api 支持,支持win32/ wince gdi 和nano-x兩種api 集。

microwindows 體系結構

  microwindows 的體系結構由下至上,分別為具體硬件、驅(qū)動層、圖形引擎層和api 層,如圖1 所示。用戶可以根據(jù)具體應用需求對不同層的代碼進行修改或重寫。

 

  (1) 設備驅(qū)動程序。

  鍵盤驅(qū)動程序主要有兩個,分別是kbd _ tty. c 和kbd _ bios. c 。前者主要用于linux 和el ks 系統(tǒng),而后者主要用于msdos 實模式。

  鼠標驅(qū)動程序主要有三個:mou_gpm. c ,用于linux 的一個gpm 驅(qū)動; mou _ ser. c ,用于linux 和el ks 系統(tǒng);mou_gpm. c ,主要用于msdos 系統(tǒng)。

  屏幕驅(qū)動程序有面向16 位el ks、msdos 實模式的v ga 驅(qū)動( scr_bios. c、vgaplan4. c、memp14. c 、scr_here. c)和面向linux 的framebuffer ( scr_fb. c、fb. c 等) 兩種。這部分驅(qū)動程序最復雜,在設計時可以參考scr_fb. c 來設計自己的屏幕驅(qū)動程序。

  (2) 設備獨立的圖形引擎。

  microwindows 的圖形引擎是設備獨立的。引擎的每一例程都接受screendevice 結構的指針( psd) 來作為第一個參數(shù)。psd 說明了底層的顯示細節(jié),如屏幕大小的x 、y 值,屏幕顏色ncolors ,以及諸如打開、關閉、畫線等函數(shù)指針。


microwindows 的api

  microwindows 提供兩個應用程序接口:一是win32 接口,這種api 不是很成熟;二是nano-x ,這種api 比較好,結構上清晰,功能上也完全。

  在microwindows 上的api 接口函數(shù)的基本模型都是用來初始化屏幕、鍵盤和鼠標的驅(qū)動程序,然后一直等待select () 消息循環(huán)。當事件發(fā)生時,這條信息將送到用戶程序。如果是用戶請求圖形操作,那參數(shù)將被編碼后送到適當?shù)膅dxxx 核心程序上。與原始圖形操作相對的窗口概念是被該層所控制的,也就是說該層的api 函數(shù)定義了窗口及其對應系統(tǒng)的概念。這樣,系統(tǒng)坐標就能被轉(zhuǎn)成屏幕上顯示的坐標,并且可將數(shù)據(jù)傳給gdxxx 核心程序,由它進行實際操作。該層亦定義圖形/ 顯示文件,并且會將此信息(包括裁減信息) 送到核心程序上。

  microwindows 的api 支持大多數(shù)圖形繪制、裁減、窗口工具條繪制及拖拉窗口等程序。nano-x 最先是由davin bell 為minix 設計的,它被設計為c/ s 模式,一般是通過unix domain socket 在客戶與服務器端進行通信的,但沒有實現(xiàn)窗口管理,所以對窗口的處理需要使用系統(tǒng)提供的一個插件集,或者完全由應用程序員自已開發(fā)。另外,nano-x 不是消息驅(qū)動的,而是基于x 協(xié)議模式。在這種模式下,驅(qū)動整個系統(tǒng)運行的可以說是請求與事件。

  請求就是客戶端為了完成某一動作而對服務器端所發(fā)出的申請,并且為每一個請求都定義了一個標識數(shù)。每個請求的結構都是不同的,但類似如下結構:

 

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

經(jīng)過幾十年發(fā)展,嵌入式技術已經(jīng)用在了我們生活中的方方面面,但是嵌入式始終都帶有小眾,專業(yè)性強的屬性,讓很多非嵌入式領域的同學望而卻步。近十幾年的發(fā)展,物聯(lián)網(wǎng)覆蓋了越來越多領域,包括了家居,商業(yè),工業(yè),農(nóng)業(yè)等領域,不僅吸引...

關鍵字: 嵌入式 物聯(lián)網(wǎng) 技術

隨著IT技術飛速發(fā)展,互聯(lián)網(wǎng)已經(jīng)進入了“物聯(lián)網(wǎng)”時代。物聯(lián)網(wǎng)中需要的大量設備不在依賴人與人之間的交互產(chǎn)生聯(lián)系,更多通過協(xié)議、通信、程序設計等方式連接到一處。即 “物聯(lián)網(wǎng)”的目的則是讓所有的物品都具有計算機的智能但并不以通...

關鍵字: 嵌入式 物聯(lián)網(wǎng) 計算機

最近看到APP上,給我推送了很多類似的回答,借此機會,也想著重新審視一下自己的學習歷程,以及結合自身和大牛,分享一些學習經(jīng)驗,希望對大家有所啟發(fā)和幫助。

關鍵字: APP 嵌入式 C語言

萬物智聯(lián)時代,嵌入式技術及其應用的形態(tài)將更加豐富和多元,同時也將日益呈現(xiàn)深度物理融合、混合架構共存、群體智能協(xié)同、網(wǎng)絡安全攸關等諸多新的計算特性。顯然,經(jīng)典的嵌入式系統(tǒng)體系結構、軟硬件技術和開發(fā)方法都已很難應對新趨勢下的...

關鍵字: 嵌入式 物聯(lián)網(wǎng) 計算機

物聯(lián)網(wǎng)是新一代信息技術的重要組成部分,是互聯(lián)網(wǎng)與嵌入式系統(tǒng)發(fā)展到高級階段的融合。通用計算機經(jīng)歷了從智慧平臺到互聯(lián)網(wǎng)的獨立發(fā)展道路;嵌入式系統(tǒng)則經(jīng)歷了智慧物聯(lián)到局域智慧物聯(lián)的獨立發(fā)展道路。

關鍵字: 嵌入式 物聯(lián)網(wǎng) 計算機

今天,小編將在這篇文章中為大家?guī)砉た刂靼宓挠嘘P報道,通過閱讀這篇文章,大家可以對工控主板具備清晰的認識,主要內(nèi)容如下。

關鍵字: 工控主板 嵌入式 主板

隨著工業(yè)4.0、醫(yī)療電子、智能家居、物流管理和電力控制等快速的發(fā)展和推進,嵌入式系統(tǒng)利用自身的技術特點,逐漸成為眾多行業(yè)的標配產(chǎn)品。嵌入式系統(tǒng)具有可控制、可編程、成本低等,它在未來的工業(yè)和生活中有著廣闊的應用前景。在現(xiàn)在...

關鍵字: 嵌入式 物聯(lián)網(wǎng) 人工智能

長久來看,嵌入式只會越來越火,隨著人工智能時代的發(fā)展,嵌入式必定又將迎來一次浪潮和技術的巨大變革。人工智能越是想要表達智能水平,就越要依靠嵌入式技術,嵌入式技術將朝著自動化控制和人機交互發(fā)展。嵌入式因其體積小、可靠性高、...

關鍵字: 嵌入式 物聯(lián)網(wǎng) 人工智能

嵌入式軟件技術到目前為止己經(jīng)在很多領域起到了中流砥柱的作用,例如在電子消費、移動通訊方面,這種技術為我國的很多行業(yè)提供了更多的可能性。未來,嵌入式軟件技術會為人類做出更大的貢獻。伴隨著計算機技術與電子技術的成熟發(fā)展,電子...

關鍵字: 嵌入式 軟件 人工智能

esim卡的全名為Embedded-SIM,意思就是嵌入式的SIM卡。esim卡的原理簡單來說,就是將手機傳統(tǒng)插入到手機里的SIM卡直接嵌入進設備芯片中,這樣大家就不必再手動物理插入SIM卡,減少了麻煩的同時也降低了si...

關鍵字: 嵌入式 esim卡 手機

嵌入式軟件

15715 篇文章

關注

發(fā)布文章

編輯精選

技術子站

關閉