999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種嵌入式GUI的實現方案

2017-05-09 03:22:16吳健學
電子設計工程 2017年1期
關鍵詞:嵌入式設備系統

陳 皓,吳健學

(1.光纖通信技術和網絡國家重點實驗室 湖北 武漢430074;2武漢郵電科學研究院 湖北 武漢430074)

一種嵌入式GUI的實現方案

陳 皓1,吳健學2

(1.光纖通信技術和網絡國家重點實驗室 湖北 武漢430074;2武漢郵電科學研究院 湖北 武漢430074)

針對市場上主流GUI系統可移植性不夠好,實時性差強人意的問題,對比了國內外幾種常見的嵌入式GUI的實現方式,研究了嵌入式GUI系統的關鍵技術,采用了將GUI系統模塊化分層的方法,降低與底層模塊的耦合性,通過交叉編譯的方式進行開發調試,提出了一種高效的嵌入式GUI的實現方案。該圖形用戶界面系統具有高可靠性,結構簡單,便于擴展維護等特點,能較好的滿足嵌入式應用的需求。

嵌入式系統;圖形用戶界面;圖片解析;消息處理

圖形用戶界面[1](Graphical User interface,GUI)是繼字符用戶界面(Character User Interface,CUI)之后提出的新一代用戶界面,它擁有直接操作、用戶控制、保存配置、界面定制[2]、信息反饋等特征??蛻舨槐赝ㄟ^輸入大量的命令,而是通過鍵盤、鼠標、面板、東視鍵盤等外圍設備[3]來操作窗口、切換畫面、保存配置,因其簡單易用性而深受廣大用戶的喜愛,現已成為大多數操作系統用戶接口的首選。因此,給嵌入式系統設計一個高效可觀的圖形用戶界面,使用戶和產品之間方便的進行溝通,已成為實際應用的重點。

一個優秀的操作系統[4]應該提供良好的圖形用戶界面,相比于其他系統上的GUI,嵌入式系統下的圖形用戶界面對實時性、可靠性、資源利用率要求更高。文中根據嵌入式系統的特點設計實現一種嵌入式GUI軟件結構,此系統高效靈活、操作便捷、可裁剪并且易于維護。

1 嵌入式GUI的設計準則和關鍵技術

GUI是計算機操作系統的重要組成部分。一個完整的GUI系統應該包括菜單、視窗、文件界面、設備狀態顯示、滾動軸等元素。

嵌入式圖形用戶界面為系統本身提供了應用于特殊場合的人機交互接口[5]。而實際應用當中嵌入式系統硬件資源常常是有限的,因此嵌入式系統對其GUI本身的一般有以下基本要求:

1)占用內存少以及響應時間短,要求較高的實時性;

2)圖形算法[6]簡潔高效,占用較少的資源;

3)結構模塊化便于移植;

4)可操作性強能夠滿足人們的日常需要。

隨著嵌入式系統的高速發展,國內外的開發商已推出了多種用于嵌入式環境的圖形用戶界面,其實現方法主要有以下3種:

1)市場上已成熟的GUI開發商開發的嵌入式GUI技術

如 Qt/Embedded[7]、MicroWindows、MiniGUI[8]等。這些嵌入式圖形用戶界面的技術由專門的廠商開發,能夠縮短研發的周期。

2)使用特定嵌入式操作系統的圖形軟件包

如uC/GUI、GRAFIX等軟件包。這種方法讓嵌入式產品使用的操作系統和原有的操作系統配合緊密,缺點是軟件包昂貴,并且功能相對簡單,不具備操作系統之間的移植性。

3)按照定制需求開發具有相應功能的GUI系統

根據特定設備的圖形輸出接口,開發與之對應的功能接口,可以高效、簡捷的實現要開發的功能。

在以上實現方法中,不同方法開發出的圖形用戶界面具有不同的性能。在實際應用中,應該根據產品的需求,選用適合的圖形用戶界面開發工具。針對所開發專用的嵌入式硬件系統,文中選擇方法3)來實現一個高效的、便于客戶定制的GUI軟件結構方案。

2 嵌入式GUI的總體設計

2.1 嵌入式GUI的模塊化分層

結合嵌入式系統的特性,GUI模塊位于操作系統之上,應用程序之下,為用戶提供美觀大方的人機交互接口,如圖1所示嵌入式GUI系統總體結構圖。

圖1 嵌入式GUI系統總體結構圖

其中,輸入抽象層(Input Abstract Layer,IAL)用于收集底層輸入設備如鍵盤、面板以及鼠標等的硬件消息,包括鍵盤輸入、觸摸點擊等,傳送給邏輯處理層,再由邏輯處理層根據相應的消息顯示相應的處理。多用于用戶登錄輸入ID和密碼、設置用戶信息、查詢日志等應用場景。

圖形抽象層(Graphics Abstract Layer,GAL)提供一些基本的繪圖操作以及對圖形屬性的讀取和修改。其作用主要是完成畫點、畫線、矩形以及填充區域等基本的繪圖功能,包括對視頻抽象層(Video Abstract Layer,VAL)和輸入抽象層區域的劃分。GAL層提供一組抽象接口,包括GDI_Pixel,GDI_Line,GDI_FillRect等,這些接口基于Linux控制臺下的FrameBuffer技術。Linux2.2.xx及以后的內核版本當中都帶有FrameBuffer[9],它是運行在Linux環境下的一個優秀的圖形接口。QT、GTK等以 Linux作為操作系統的圖形界面程序都是基于FrameBuffer來實現的,FrameBuffer技術已經較為成熟,這里暫不多說。對于GAL提供的抽象接口,設計者可以通過傳入顯示坐標、顯示屬性(顏色,線條寬度等)以及是否與別的區域嵌套,來實現方便用戶使用的界面。

GAL層對圖形文件的處理是基于 dec_jpg,dec_logo等抽象接口,這些接口使用 open,lseek,read,close這些系統調用函數讀取圖形文件并對其進行解碼,然后在內存上動態申請相應大小的Buf,保存圖片解析后的內容。

視頻抽象層(VAL)常常應用于對音視頻流的操作。視頻應用是嵌入式系統的一個重要發展方向,近些年多媒體技術發展迅速,人們對音頻、視頻信息的處理要求越來越高。由于各個嵌入式系統的視頻編解碼設備和顯示設備常常有很大差異,在 GUI系統設計過程中,基于不同的底層設備,應該封裝相對應的視頻流操作抽象接口,以方便在視頻應用方面的移植。

2.2 嵌入式GUI的窗口顯示界面

窗口的顯示是GUI系統的核心,最直觀的提供給用戶操作接口,主要包括以下部分:

主窗口:主窗口提供子窗口的接口,包括功能劃分、菜單、皮膚切換的功能實現,而子窗口是接受和處理事件的主體,每個功能對應一個或者一組子窗口。對窗口的管理包括窗口的繪制、窗口的疊加以及窗口間消息處理[10]。

控件Button:Button分布于子窗口頁面之上,能夠接收鍵盤、鼠標和面板等外部輸入,也可以在自己的區域內通過軟鍵盤進行輸出。常用的控件有按鈕、文本框、輸入框等,其中按鈕又可細分為用于處理自定義的控件CButton,子窗口在主窗口上的顯示、菜單、工具欄以及子窗口間的跳轉的實現都是用的這種控件;文本框包含CRowButtonNumEdit和CRowButtonTextEdit控件,其中CRowButtonNumEdit用于數字的顯示,例如:時間、密碼和設備ID等等,CRowButtonTextEdit主要用于顯示漢字及其他多國語言。所以說,控件構成了整個GUI系統的功能載體。

消息處理:如果說主窗口、子窗口以及控件構成了GUI系統的可視框架,那么外部設備、異常事件以及控件與控件之間消息的處理就是GUI的功能實現。這里通過定義Cbasewin作為窗口基類,Cbasewin類中包含全局鏈表m_list用于鏈接所有窗口以及窗口上的控件、窗口名稱m_wTitle用于區分不同的窗口,還有最為重要的消息處理函數 virtual BOOL ProcessMessage(Msg*msg),其中Msg結構體的定義如下:

這樣以鏈表的方式管理窗口間的切換,能夠在占有較少資源的情況下實現窗口的獨占性、控件消息處理的不沖突。對消息本身的管理需要一個消息線程來實現,并在線程接口中控制消息的最大數目來防止操作不當導致消息的溢出。

3 嵌入式GUI開發環境

通常來說嵌入式開發板的硬件資源是有限的,不能直接在單板上進行開發,這就需要軟件工程師通過交叉編譯的方式進行研發調試。通常采用“開發設備+目標設備”的形式,開發設備和目標設備一般采用串口的連接方式,這種方式不必考慮網絡是否互通,較為方便,當然也可以通過網口互聯,這種情況就要求開發設備和目標設備網絡上是同一網段并且是互相可達的。

嵌入式GUI開發過程中,目標設備是嵌入式的架構使用的是ARM處理器[11],而開發設備的處理器一般是X86結構的[12],處理器不同的話,在開發設備上就需要建立適合目標設備的交叉編譯環境。程序在開發設備上經過“編譯-連接-執行”得到可以在目標設備上運行的可執行文件。通過串口或者網口將得到的執行文件和所需要的庫文件拷貝到目標設備上運行就可以啟動開發板。同樣在開發設備上能夠通過串口和網口查看目標設備上的操作信息、Bootloader[13]啟動信息和源程序里為了調試所加的打印信息。嵌入式GUI開發平臺結構圖如圖2所示。

圖2 嵌入式GUI開發平臺結構圖

4 實際應用

以上分析的GUI系統已經用于某型視頻監控[14]設備的使用并量產銷售。具體運行時,首先在Linux的開發環境下使用Makefile編譯GUI模塊的代碼程序,并鏈接所使用的底層庫文件,生成名為GUI的執行文件;將生成的GUI文件以及所用到的庫文件通過命令拷貝到基于ARM芯片的設備當中,運行即可通過VGA[15]顯示出簡潔高效的圖形用戶界面。如圖3所示,是在His3531芯片的硬件環境下實現的圖形用戶界面。

圖3 某視頻監控系統的GUI界面

5 結束語

文中提出了一種輕型高效的嵌入式圖形用戶界面的實現方案,在完成了上述各 GUI系統模塊的基礎上,構建了一個完整的嵌入式 GUI并基于該系統,開發了一套完整視頻監控系統,就測試結果以及客戶的反饋來說已經驗證了該GUI系統的穩定性,可以很好地滿足人們的日常交互。該GUI系統結構簡單,與同類產品相比實時性好、代碼量少、可靠性高,具有良好的可移植性與可裁減性。

[1]黃小旭.嵌入式系統圖形用戶界面開發技術研究[D].南京:南京郵電大學,2014.

[2]冉琛雯,張珣.智能家居系統界面定制技術的研究[J].物聯網技術,2014,10(3):1-3.

[3]程科.嵌入式Linux設備驅動程序的設計與研究[D].成都:電子科技大學,2007.

[4]任慰.以實時操作系統為中心的嵌入式系統平臺化設計研究[D].武漢:華中科技大學,2013.

[5]劉鐵良.增強現實系統中人機交互技術研究[D].大慶:東北石油大學,2014.

[6]肖飛.基于圖像特征提取和特征點描述的匹配算法研究及其應用[D].成都:電子科技大學,2013.

[7]范朋.基于Qt的嵌入式Linux系統GUI的研究與實現[D].北京:北京郵電大學,2011.

[8]張磊,王亞剛.基于MiniGUI的嵌入式圖形界面的研究與實現[J].計算機技術與發展,2015,25(2):3-5.

[9]聶和平.基于ARM9的嵌入式Linux系統移植與驅動開發[D].南京:南京郵電大學,2013.

[10]舒紅霞,王繼紅.分布式實時操作系統消息機制的設計與實現[J].計算機工程與設計,2009,29(9):2-4.

[11]張歡慶.基于ARM處理器的嵌入式Linux系統關鍵技術研究[D].山東:山東師范大學,2013.

[12]劉帥.X86、ARM、MIPS微處理器架構淺析[J].智富時代,2015,18(9):3-5.

[13]王景存,高峰.基于ARM9的Bootloader的分析及設計[J].現代電子技術,2010,20(3):1-3.

[14]方衛民.基于ARM的嵌入式網絡視頻監控系統設計與實現[D].北京:北京郵電大學,2008.

[15]朱奕丹,方怡冰.基于FPGA的圖像采集與VGA顯示系統[J].計算機應用,2011,31(5):3-5.

Implement methord of embeded GUI system

CHEN Hao1,WU Jian-xue2
(1.State Key Laboratory of Optical Communication Technologies and Networks,Wuhan 430074,China;2.Wuhan Research Institute of Posts and Telecommunications,Wuhan 430074,China)

As the portability of popular GUI system in the market is not good enough and the real-time performance is poor,in this thesis,based on comparing with several familiar complement methods of embedded GUI system and investigating some pivotal technologies of the GUI,proposed a efficient scheme and different components solutions of the GUI system.This system adopts the approach of modular design,thus to reduce the coupling factor with the underlying layer.The development and debugging is in an environment of cross-compilation.This GUI system owns the advantages as high reliability,light-weight and is convenient for maintaining and function expansion,then it is able to satisfy with emdedded application requirement.

embedded system;graphical user interface;image resolution;message handling

TN919.8

:A

:1674-6236(2017)01-0064-03

2015-11-23稿件編號:201511210

陳 皓(1989—),男,河南商丘人,碩士。研究方向:通信與信息系統、通信軟件。

猜你喜歡
嵌入式設備系統
諧響應分析在設備減振中的應用
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
搭建基于Qt的嵌入式開發平臺
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
原來他們都是可穿戴設備
消費者報道(2014年7期)2014-07-31 11:23:57
主站蜘蛛池模板: 91在线激情在线观看| 国产在线98福利播放视频免费| 久久综合激情网| 亚洲精品欧美重口| 2021国产乱人伦在线播放| 国模沟沟一区二区三区| a毛片在线免费观看| 伊人久综合| 超碰91免费人妻| 71pao成人国产永久免费视频 | 亚洲天堂久久久| 亚洲人成在线精品| 欧美亚洲国产精品久久蜜芽| 熟妇人妻无乱码中文字幕真矢织江 | 免费国产好深啊好涨好硬视频| 国产成人无码久久久久毛片| 亚洲中文制服丝袜欧美精品| 成人91在线| 久久亚洲高清国产| 一级一级一片免费| 91极品美女高潮叫床在线观看| 狠狠五月天中文字幕| 色综合天天娱乐综合网| 国产丝袜第一页| 精品国产香蕉在线播出| 99久久国产综合精品2020| 免费 国产 无码久久久| 全色黄大色大片免费久久老太| 久久中文字幕av不卡一区二区| 成人韩免费网站| 亚洲日韩高清在线亚洲专区| 亚洲va欧美ⅴa国产va影院| 韩国福利一区| 九色综合伊人久久富二代| 激情六月丁香婷婷四房播| 国产91全国探花系列在线播放| 日韩在线观看网站| 国产欧美精品专区一区二区| 99伊人精品| 久久免费视频播放| 片在线无码观看| 色综合久久综合网| 亚洲美女高潮久久久久久久| 女人18毛片一级毛片在线 | 在线视频亚洲色图| 97se亚洲综合在线| 四虎永久在线| 国产免费黄| 亚洲高清国产拍精品26u| 伊人久久福利中文字幕| 国产素人在线| 中文字幕乱码中文乱码51精品| 亚洲成av人无码综合在线观看| 国产第四页| 国产一区二区网站| 99热免费在线| 国产欧美日本在线观看| 亚洲美女视频一区| 福利一区在线| 国产微拍一区二区三区四区| 91国内外精品自在线播放| 亚洲欧美日韩久久精品| 国产小视频a在线观看| 91丝袜美腿高跟国产极品老师| 日韩视频精品在线| 国产理论最新国产精品视频| 国产丝袜91| 97国内精品久久久久不卡| 国产精品久久久久久搜索| 亚洲综合经典在线一区二区| 国产好痛疼轻点好爽的视频| 免费国产黄线在线观看| 五月婷婷中文字幕| 国产丝袜啪啪| 美女免费黄网站| 国产一区二区三区在线观看视频 | 免费三A级毛片视频| 精品无码国产一区二区三区AV| 国产黄色爱视频| 91国内在线观看| 亚洲视频欧美不卡| 2020最新国产精品视频|