基于MiniGUI的多進(jìn)程圖形用戶界面的研究
4多進(jìn)程GUI的實(shí)現(xiàn)
基于以上分析,本圖形用戶界面系統(tǒng)采用微C/S機(jī)制,用共享內(nèi)存的進(jìn)程間通信機(jī)制實(shí)現(xiàn)數(shù)據(jù)交換,通過套接字實(shí)現(xiàn)客戶程序與服務(wù)器程序通信。服務(wù)器程序?qū)崿F(xiàn)窗口結(jié)構(gòu)隊(duì)列管理,獲取系統(tǒng)產(chǎn)生的鼠標(biāo)和鍵盤消息并進(jìn)行分發(fā)??蛻?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/進(jìn)程">進(jìn)程從IPC消息隊(duì)列獲取發(fā)往自己的消息,并通過共享內(nèi)存實(shí)現(xiàn)窗口剪切。
經(jīng)過交叉編譯的可執(zhí)行圖形應(yīng)用程序可以通過NFS下載到開發(fā)板,然后通過串口調(diào)試工具進(jìn)行遠(yuǎn)程調(diào)試。在應(yīng)用程序調(diào)試完成后將裁減后的MiniGUI 的函數(shù)庫(kù)、配置文件放到為開發(fā)板準(zhǔn)備的根文件系統(tǒng)中,并把主界面的可執(zhí)行文件加入到文件系統(tǒng)的啟動(dòng)腳本,用重新得到的根文件系統(tǒng)生成鏡像文件,然后燒寫到開發(fā)板Flash上,在開發(fā)板啟動(dòng)后即可以進(jìn)入到圖形界面。該系統(tǒng)在嵌入式開發(fā)平臺(tái)上能夠?qū)崿F(xiàn)多窗口運(yùn)行,并且在調(diào)用產(chǎn)生高任務(wù)級(jí)別的任務(wù)時(shí)能夠順利實(shí)現(xiàn)任務(wù)掛起功能。
5結(jié)束語(yǔ)
目前嵌入式產(chǎn)品的在功能實(shí)現(xiàn)上日益復(fù)雜化,簡(jiǎn)單的圖形用戶界面系統(tǒng)已經(jīng)很難滿足用戶的實(shí)際需要,比如將來的智能手機(jī)將融入電子地圖、定位導(dǎo)航系統(tǒng)、 PDA、電子字典、多媒體播放等多功能,單一的窗口操作界面顯然不符合用戶要求。基于多進(jìn)程的GUI系統(tǒng)能夠?qū)崿F(xiàn)多任務(wù)、支持多窗口,并且具有良好的系統(tǒng)穩(wěn)定性,因此必然是嵌入式產(chǎn)品開發(fā)的一個(gè)重點(diǎn),也是未來嵌入式圖形用戶界面的發(fā)展方向。
參考文獻(xiàn)
[1] 周立功等. ARM嵌入式MiniGUI初步與應(yīng)用開發(fā)范例[M].北京:北京航空航天大學(xué)出版社, 2006。
[2] David Mosberger, Stephane Eranian,IA-64 Linux Kernel Design and Implementation[M]。Prince Hall, Jan 30, 2002
[3] MiniGUI編程指南 V2.0 [Z]。http://www.minigui.com
[4] MiniGUI API Reference Manual for V1.3 [Z]. http://www.minigui.com
[5] 鄭樺,劉清,邢航,徐智穹。構(gòu)造嵌入式Linux的文件系統(tǒng)[J]。微計(jì)算機(jī)信息,2004,20(8):49~50
評(píng)論