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

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于跨平臺(tái)下的嵌入式GUl人機(jī)界面系統(tǒng)研究與設(shè)計(jì)

0 引言
    隨著硬件條件的提高,移動(dòng)終端的嵌入式系統(tǒng)對輕量級GUI的需求會(huì)越來越迫切。用戶界面是指計(jì)算機(jī)與其使用者之間的對話接口,它為用戶提供與應(yīng)用系統(tǒng)交互的可視化通道,同時(shí)為程序員提供了一種編程模式,即GUI負(fù)責(zé)系統(tǒng)可視化界面的生成、管理以及系統(tǒng)與用戶之間的信息交互,而程序員只需專注于對實(shí)際應(yīng)用的分析。GUI在移動(dòng)終端系統(tǒng)中扮演著很重要的角色,它運(yùn)行在操作系統(tǒng)抽象層(OSAL)之上,為應(yīng)用程序提供基于消息機(jī)制的圖形用戶界面編程接口。GUI與其他一些應(yīng)用引擎一起為實(shí)現(xiàn)豐富的移動(dòng)終端應(yīng)用而提供支持,從而將應(yīng)用程序的計(jì)算部分與界面分離開來,這樣就充分保證了根據(jù)不同需求快速定制出功能強(qiáng)大、界面豐富的應(yīng)用程序界面。
    GUI是一種以圖形化為基礎(chǔ)的用戶界面,使用統(tǒng)一的圖形操作系統(tǒng),如可移動(dòng)的視窗、選項(xiàng)與鼠標(biāo),作為用戶與操作系統(tǒng)之間的中介。G-UI最重要的優(yōu)勢在于使用戶擺脫了在命令行提示符下與操作系統(tǒng)進(jìn)行交互的方式,用戶可以僅通過鼠標(biāo)點(diǎn)擊來實(shí)現(xiàn)熟悉程序的操作,而且由于圖表、對話框等的引入,使得操作直觀形象。GUI已成為一種用戶與計(jì)算機(jī)交互的標(biāo)準(zhǔn)。其內(nèi)核來源于Micro Window,是具有圖形用戶界面支持的開源嵌入式系統(tǒng)軟件,具備類似WIN32標(biāo)準(zhǔn)的消息循環(huán)和窗口管理機(jī)制,提供和WIN32 SDK一樣的API接口。方便跨平臺(tái)的開發(fā)和移植。主要功能包括窗口管理、消息派發(fā)、控件、輸入法、圖形設(shè)備接口(GDI);擴(kuò)展的功能和服務(wù)包括圖形編解碼、ALARM管理、數(shù)據(jù)庫、注冊表等。

1 GUI和操作系統(tǒng)的功能架構(gòu)
    GUl對上層(應(yīng)用程序)提供了基于事件或消息驅(qū)動(dòng)的圖形界面處理機(jī)制;它依賴于底層的操作系統(tǒng),但是不限于某一類操作系統(tǒng)。功能架構(gòu)如圖1所示。


    應(yīng)用程序一般都有自己的消息循環(huán):
   
其中,GetMessage()得到本先線程的消息。如果沒有消息則檢查有沒有窗口需要重繪;如有則直接給相應(yīng)的窗口發(fā)WM_PAINT消息;如果還沒有,就會(huì)掛起本線程。TranslateMessage():如果當(dāng)前的消息是WM_KEYDOWN,則根據(jù)鍵值轉(zhuǎn)換中相應(yīng)的WM_CHAR消息。DispatchMessage():將消息派發(fā)到指定的窗口。如果這個(gè)消息沒有指定目標(biāo)窗口則這個(gè)消息丟掉,因此,對于給線程發(fā)送的消息(未指定窗口),用戶必須在此截獲并由用戶自己派發(fā)。[!--empirenews.page--]
    窗口的管理需要每一個(gè)窗口有3個(gè)基本的鏈:子窗口→children;父窗口→parent;兄弟窗口→sibling,其中,rootwp窗口是GUI初始化時(shí)創(chuàng)建的根窗口。根窗口的子窗口一般是POPU窗口或沒有Child屬性的OVERLAPPEDWINDOW;每個(gè)AP或線程可以有多個(gè)這樣的窗口。創(chuàng)建窗口前,必須注冊窗口類;窗口類是一種具有相同屬性或動(dòng)作的窗口的集合,相當(dāng)于某一類窗口的橫板,這類窗口具有相同的窗口過程、窗口背景、基本風(fēng)格等,屬于同一個(gè)線程(WIN32是實(shí)例)。所有的窗口都是某一窗口類的一個(gè)實(shí)例。窗口類以名字作為ID,但是不同的進(jìn)程可以擁有相同名字的窗口類。
    消息的傳遞機(jī)制需要在GUI初始化時(shí)創(chuàng)建一個(gè)優(yōu)先級別很高的后臺(tái)服務(wù)線程,專門從事消息獲取與派發(fā)。沒有任何消息時(shí),該線程掛起。一旦驅(qū)動(dòng)層有任何消息觸發(fā),都將恢復(fù)該線程,進(jìn)入驅(qū)動(dòng)消息查詢。然后將查詢到的消息經(jīng)過轉(zhuǎn)換后,或者轉(zhuǎn)發(fā)到桌面,或者直接發(fā)送給指定窗口。以筆點(diǎn)點(diǎn)擊為例:Micro Window將筆點(diǎn)消息解釋為鼠標(biāo)消息,對應(yīng)鼠標(biāo)的左鍵。產(chǎn)生的消息有:WM_MOVE,WM_LBUTTONDOWN,WM_ LB UTTONUP,WM_LBUTTONDBCLK,WM_NCLBUTTONDOWN,WM_NCILBUTTONUP,WM_LBUTTONDBCLK等。筆點(diǎn)時(shí)產(chǎn)生Touchpannel中斷,經(jīng)過Driver層處理后,將喚醒GUl后臺(tái)線程,后者從Driver層獲取筆點(diǎn)的消息和坐標(biāo),結(jié)合上一次的筆點(diǎn)座標(biāo)信息,生成一定的鼠標(biāo)消息;根據(jù)坐標(biāo),在窗口鏈中查找筆點(diǎn)所在的窗口;如果有捕獲窗口,直接發(fā)給此窗口。如果是系統(tǒng)消息,則直接發(fā)給桌面。如充電、插入U(xiǎn)SB等消息。
    絕大多數(shù)的圖形設(shè)備接口(GDI)函數(shù)都是基于DC的。DC是一種圖形設(shè)備上下文環(huán)境。它集成了當(dāng)前繪制操作的所有信息,包括輸出的屏幕設(shè)備、字體、筆的屬性、光柵特點(diǎn)等。在繪制操作之前必須得到設(shè)備上下文。而且在得到DC的期間,不能阻塞。否則容易造成死鎖。獲取DC的方式有3種:
    (1)GetDC:獲取客戶區(qū)DC,限于在客戶區(qū)的繪制操作;
    (2)GetWindowDC:獲取屏幕DC,可以在客戶區(qū)和標(biāo)題區(qū)繪制操作;
    (3)BeginPaint:獲取客戶區(qū)DC,限于且推薦在WM_PAINT消息中調(diào)用。
    MicroWindow不保存用戶區(qū)的繪制內(nèi)容,需要更新時(shí),只會(huì)發(fā)送WM-PAINT消息;所以比較標(biāo)準(zhǔn)的做法是將圖形繪制操作全部放進(jìn)WM_PAINT中去,采用BeginPaint獲取DC。
    內(nèi)存設(shè)備上下文(MemoryDC)是一種虛擬的圖形設(shè)備上下文環(huán)境,也就是所謂的虛屏。有時(shí)為了避免屏幕閃爍感,把不連續(xù)的圖形內(nèi)容繪制到MemoryDC中,然后統(tǒng)一繪制到真正的屏幕設(shè)備上去;有助于提高畫面的連續(xù)性和完整性,下面是使用MemoryDC繪制位圖并疊加文字的例子:

    系統(tǒng)數(shù)據(jù)資源采用VC的Resource標(biāo)準(zhǔn)數(shù)據(jù)格式,主要應(yīng)用在3類:系統(tǒng)資源、公共資源、應(yīng)用程序私有的資源。資源內(nèi)容包括位圖、ICO-N、String、對話框、BIN數(shù)據(jù)等。在VC中需要事先做好所需的資源,生成資源數(shù)據(jù).res和資源頭文件resource.h。在不同的平臺(tái)中,資源數(shù)據(jù)在物理介質(zhì)中的存放方式不同,但AP訪問資源的方式可以相同。系統(tǒng)平臺(tái)同時(shí)還支持應(yīng)用程序顯式加載資源的方式。對話框提供了一種簡化Window編碼工作的機(jī)會(huì)。也就是提供了一種創(chuàng)建多個(gè)窗口的模板,用戶可以填寫對話框中的子窗口或控件的相關(guān)信息,或者從資源文件中裝載對話框,系統(tǒng)會(huì)提取其中的信息,為用戶一一創(chuàng)建相應(yīng)的窗口。它分為兩類:模態(tài)對話框和非模態(tài)對話框。差別在于模態(tài)對話框有自己的消息循環(huán)。
    應(yīng)用程序的編譯和連接方式依賴于具體的硬件開發(fā)平臺(tái)。就移動(dòng)終端而言,CPU若采用ARM7系列,編譯工具使用ADS,應(yīng)用程序和操作系統(tǒng)集成在一起編譯。需要注意的是C文件采用thumb模式,而ASM文件采用的是ARM模式。而Linux平臺(tái)下應(yīng)用程序的編譯連接是獨(dú)立完成的,最終生成exe文件,然后在打包成pak文件下載到硬件板中。

2 結(jié)語
    由于移動(dòng)終端的應(yīng)用越來越廣泛,而嵌入式GUI系統(tǒng)是一項(xiàng)復(fù)雜的軟件工程,因此研究和設(shè)計(jì)的GUI占用資源少、可配置,特別適用于移動(dòng)終端。它給終端上層應(yīng)用提供了一個(gè)清晰的圖形界面。同時(shí),在將它用于多種終端平臺(tái)時(shí)還需要盡可能考慮其可擴(kuò)展性、兼容性、可移植性等屬性。為后繼終端軟件應(yīng)用開發(fā)建立了良好的開發(fā)基礎(chǔ),性能優(yōu)越且易于移植,已經(jīng)成功應(yīng)用于Linux和Windows CE等嵌入式操作系統(tǒng)的無線移動(dòng)多媒體終端項(xiàng)目中,效果理想。由于限于篇幅,不再贅述。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉