日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]基于跨平臺下的嵌入式GUl人機界面系統(tǒng)研究與設計

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

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


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

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

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

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

美國紐約州阿蒙克2022年10月20日 /美通社/ -- IBM(NYSE: IBM)發(fā)布 2022 年第三季度業(yè)績報告。 IBM 董事長兼首席執(zhí)行官 Arvind Kri...

關鍵字: IBM 軟件 BSP 云平臺

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產品設計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產品供給。 搭養(yǎng)老政策東風 ...

關鍵字: 溫度 BSP 東風 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎單元,承載著生存與活動的最基本功能。而對于理想空間的解構意義卻在物理性容器之外,體現出人們對于空間和生活深層關系的思考,同時也塑造著人與空間的新型連接...

關鍵字: 溫度 BSP 智能化 進程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預告。今年前三季度,公司預計實現營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預計為1.73億...

關鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經濟和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術中心"認定。 北京市企業(yè)技...

關鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數據公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關鍵字: IDC BSP 數字化 數據中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團成立60周年的紀念日。趁著首都銀行集團成立60周年與首都銀行(中國)在華深耕經營12年的“大日子”,圍繞作為外資金融機構對在華戰(zhàn)略的構想和業(yè)...

關鍵字: 數字化 BSP 供應鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團公司上海通運國際物流有限公司(Nipp...

關鍵字: 溫控 精密儀器 半導體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術企業(yè)云集,展出的智能產品超過140,...

關鍵字: 中國智造 BSP 手機 CAN

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

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

嵌入式教程

6897 篇文章

關注

發(fā)布文章

編輯精選

技術子站

關閉