国产激情久久久久影院小草_国产91高跟丝袜_99精品视频99_三级真人片在线观看

嵌入式Linux系統(tǒng)下Microwindows的應(yīng)用

時(shí)間:2023-03-19 03:03:57 理工畢業(yè)論文 我要投稿
  • 相關(guān)推薦

嵌入式Linux系統(tǒng)下Microwindows的應(yīng)用

摘要:通過(guò)對(duì)嵌入式GUI軟件Microwindows進(jìn)行分析并與X window進(jìn)行對(duì)比,闡述Microwindows用于嵌入式設(shè)備上的優(yōu)點(diǎn);簡(jiǎn)要論述Microwindows的體系結(jié)構(gòu)和圖形應(yīng)用程序接口;介紹其設(shè)備驅(qū)動(dòng)特性、API、客戶機(jī)/服務(wù)器模型、畫圖機(jī)制和FLTK。

引言

在進(jìn)入后PC時(shí)代以后,嵌入式設(shè)備以一種無(wú)法抑制的迅猛速度普及和發(fā)展到日常生活及工作當(dāng)中,眾多知名開發(fā)商為了搶占市場(chǎng)和爭(zhēng)奪利潤(rùn),競(jìng)相推出各種性能優(yōu)異的軟硬件及內(nèi)核芯片。鑒于以視窗為代表的桌面操作模式取得巨大成功,該模式目前已成為國(guó)內(nèi)外開發(fā)者們?cè)谇度胧皆O(shè)備中的首選方案。

近幾年,隨著Linux技術(shù)的興起,越來(lái)越多的企業(yè)和科研機(jī)構(gòu)把目光轉(zhuǎn)向嵌入式Linux的開發(fā)和研究。Linux不僅具有桌面電腦的全部功能和特性,允許修改和根據(jù)用戶的要求進(jìn)行定制,而且作為一種免費(fèi)的開放式源碼,還支持目前在嵌入式設(shè)計(jì)領(lǐng)域中常用的新型微處理器,如StrongARM、MIPS以及PowerPC等,具有穩(wěn)定、高效、易定制、易裁減、硬件支持廣泛等特點(diǎn)。Microwindows是一個(gè)著名的開放式源碼的嵌入式GUI軟件,目的是把圖形視窗環(huán)境引入到運(yùn)行Linux的小型設(shè)備和平臺(tái)上。作為X Window系統(tǒng)的替代品,Microwindows可用更少的RAM和文件存儲(chǔ)空間(100K~600KB)提供相似的功能,允許設(shè)計(jì)者輕松加入各種顯示設(shè)備、鼠標(biāo)、觸摸屏和鍵盤等;可移植性非常好,可用C語(yǔ)言和少部分匯編語(yǔ)言實(shí)現(xiàn),支持Intel 16位、32位CPU,MIPS R4000以及基于ARM內(nèi)核的處理器芯片,有多種平臺(tái)支持Microwindows。

1 X Window的不足

由于使用了帶有TCP/IP結(jié)構(gòu)的自由式開放源碼操作系統(tǒng),使嵌入式設(shè)備進(jìn)入了一個(gè)創(chuàng)新應(yīng)用時(shí)代,不過(guò)這些新的應(yīng)用需要考慮其資源環(huán)境,這是因?yàn)槎鄶?shù)的嵌入式設(shè)備缺少硬件驅(qū)動(dòng)和大的RAM。目前,在Linux系統(tǒng)中普遍使用X Window系統(tǒng),如圖1所示。X Window是在20世界80年代早期由MIT、DEC等提出來(lái)的,是一個(gè)基于Client/Server結(jié)構(gòu)的視窗系統(tǒng);允許在任一臺(tái)UNIX主機(jī)(Clients——客戶端)上運(yùn)行程序,而在基于X的終端(Server——服務(wù)器)上顯示出來(lái)。在這個(gè)過(guò)程中,相當(dāng)一部分代碼用于確認(rèn)主機(jī)和服務(wù)器上運(yùn)行的Client/Server程序是否正常。目前,大多數(shù)X的客戶端和服務(wù)器是在同一臺(tái)機(jī)器上運(yùn)行,X Window服務(wù)器經(jīng)編譯后一般用于自動(dòng)檢測(cè)硬件。服務(wù)器中還包含有眾多的畫圖函數(shù),它們的位置根據(jù)執(zhí)行速度被位置在裁減層之上或之下。這些便利X Window過(guò)于臃腫和復(fù)雜,運(yùn)行時(shí)需要至少8MB的內(nèi)存空間。

2 Microwindows分析比較

對(duì)于大多數(shù)嵌入式設(shè)計(jì),尤其是在運(yùn)行專用圖形程序的場(chǎng)合,X Window不是一種恰當(dāng)?shù)倪x擇。由此而發(fā)展起來(lái)的Microwindows是專門設(shè)計(jì)用于在小型設(shè)備上開發(fā)具有高品質(zhì)圖形功能的開放式源碼桌面系統(tǒng),有許多針對(duì)現(xiàn)代圖形視窗環(huán)境的功能部件。它的結(jié)構(gòu)設(shè)計(jì)使其可方便地加入不同的顯示、鼠標(biāo)、觸屏以及鍵盤等設(shè)備。Microwindows基于2.2.0版本的Linux系統(tǒng)如圖2所示。其內(nèi)核所包含的代碼允許用戶程序?qū)D形顯示的內(nèi)存空間作為framebuffer進(jìn)行存取操作,這樣在用戶程序空間中可作為內(nèi)存映射區(qū)域來(lái)直接控制圖形顯示,可使得用戶在編寫圖形程序的時(shí)候不再需要去了解底層硬件,這是目前Microwindows在嵌入式系統(tǒng)中被很多人使用的原因。

設(shè)計(jì)得在設(shè)計(jì)Microwindows時(shí)沿用了已有的兩個(gè)圖形應(yīng)用程序接口(API):一是Microsoft Windows中Win32/WinCE的圖形設(shè)備接口(GDI),它適用于所有Windows CE和Win32的應(yīng)用程序;另外就Nano-X(Xlib-like界面),它與GDK非常相似,用在Linux上,是像X的API,用于占用資源少的應(yīng)用程序。這使得熟悉Windows或者是Linux X11的用戶可在熟悉的環(huán)境下開發(fā)圖形應(yīng)用程序。

Microwindows在運(yùn)行過(guò)程中僅需要50~250KB的內(nèi)存空間,遠(yuǎn)小于X Windows系統(tǒng)所需空間。這主要是因?yàn)镸icrowindows對(duì)于在驅(qū)動(dòng)層的每一個(gè)繪圖函數(shù)采用的是單進(jìn)程的方式,由驅(qū)動(dòng)層核驗(yàn)是否裁減并調(diào)用驅(qū)動(dòng)程序來(lái)繪制未被裁減的像素點(diǎn)或線;而在X Window系統(tǒng)中,則是出于對(duì)速度的考慮,包含所有像素點(diǎn)的繪制程序并分別有裁減和未裁減的版本。Microwindows完全支持新的Linux內(nèi)核的幀緩沖區(qū)結(jié)構(gòu),同時(shí)支持1、2、4、8、16、24、32位像素點(diǎn)顯示,支持調(diào)色板、真彩色、灰度等顏色模式,并對(duì)渲染提供內(nèi)置支持。在其API函數(shù)的支持下,還可以以RGB的格式描述上述的顏色模式,系統(tǒng)中包含顏色轉(zhuǎn)換的程序,可將像素點(diǎn)轉(zhuǎn)換成相近的可顯示顏色或相應(yīng)單色系統(tǒng)中的灰度級(jí)。雖然Microwindows支持Linux系統(tǒng),但它是基于相對(duì)簡(jiǎn)單的屏幕驅(qū)動(dòng)界面結(jié)構(gòu),因此,可在許多不同的實(shí)時(shí)操作系統(tǒng)(RTOS)上運(yùn)行,甚至于那些無(wú)硬件的實(shí)時(shí)操作系統(tǒng)也可運(yùn)行Microwindows。這樣,可使得客戶的圖形應(yīng)用程序在不的工程中共享使用,也可在不同的RTOS上運(yùn)行不同的目標(biāo)程序而不需要重新編寫圖形應(yīng)用程序,大大提高了編程效率。

Microwindows支持圖形目標(biāo)平臺(tái)的主機(jī)平臺(tái)競(jìng)爭(zhēng),也就是說(shuō)應(yīng)用于Linux的Microwindows應(yīng)用程序不需要跨平臺(tái)編譯,就可在桌面上直接運(yùn)行和測(cè)試,同時(shí)仍可在目標(biāo)平臺(tái)上運(yùn)行。這一點(diǎn)需通過(guò)使用Micorwindows的X11屏幕驅(qū)動(dòng)器實(shí)現(xiàn),同時(shí)驅(qū)動(dòng)器可以根據(jù)像素點(diǎn)和顏色值來(lái)模擬目標(biāo)平臺(tái)的顯示。因此,即使桌面系統(tǒng)是24位的顏色模式,它也可以以2色模式顯示目標(biāo)系統(tǒng)中的應(yīng)用程序。

對(duì)于那些熟悉使用Microsoft Windows或Linux X Windows

【嵌入式Linux系統(tǒng)下Microwindows的應(yīng)用】相關(guān)文章:

一個(gè)嵌入式系統(tǒng)的Petri網(wǎng)模型與CPLD實(shí)現(xiàn)05-29

Openprocess在熱網(wǎng)監(jiān)控系統(tǒng)中的應(yīng)用06-04

網(wǎng)站站群管理系統(tǒng)的維護(hù)與應(yīng)用論文06-21

探析Openprocess在熱網(wǎng)監(jiān)控系統(tǒng)中的應(yīng)用05-29

談Openprocess在熱網(wǎng)監(jiān)控系統(tǒng)中的應(yīng)用06-09

管窺WAMP下教育培訓(xùn)系統(tǒng)論文08-21

漢字結(jié)構(gòu)應(yīng)用下包裝藝術(shù)論文04-23

嵌入式系統(tǒng)以太網(wǎng)卡控制器LAN91C9605-30

ARM Linux啟動(dòng)過(guò)程分析06-17

對(duì)于網(wǎng)技術(shù)在高速公路機(jī)電系統(tǒng)的應(yīng)用前景論文04-21