新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于Microwindows的嵌入式GUI分析及應(yīng)用

基于Microwindows的嵌入式GUI分析及應(yīng)用

作者: 時間:2012-04-05 來源:網(wǎng)絡(luò) 收藏

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

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

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

事件是每個窗口系統(tǒng)必不可少的部分,它反映系統(tǒng)運行的狀態(tài),一共有22 種。對于每個事件都要提供有關(guān)它的結(jié)構(gòu),但沒有必要提供22 種事件結(jié)構(gòu),有一些事件所需要的數(shù)據(jù)是一樣的,如所有鼠標的事件都使用一個事件結(jié)構(gòu)表示,如下所示:

在仿真環(huán)境下的應(yīng)用

Microwindows 最為顯著的優(yōu)勢在于它可以在桌面計算機上仿真運行目標平臺的GUI 及其支撐軟件。這就意味著面向Linux 的Microwindows 應(yīng)用軟件可以在桌面計算機的Linux 環(huán)境下編制和調(diào)試,而沒有必要建立跨平臺交叉編譯環(huán)境,并在目標平臺上對軟件進行編制和調(diào)試。這一點對于Embedded GUI 移植和開發(fā)而言,意義非同尋常。這完全歸功于Microwindows 的X Screen Driver ,而非Linux 的Framebuffer 。



關(guān)鍵詞: Microwindows 嵌入式GUI

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉