版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
構(gòu)建用戶(hù)圖形界面開(kāi)發(fā)環(huán)境第1頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月本章提要1嵌入式系統(tǒng)中的GUI2典型的嵌入式GUI系統(tǒng)3MiniGUI4MiniGUI應(yīng)用程序開(kāi)發(fā)第2頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.1嵌入式系統(tǒng)中的GUI圖形用戶(hù)接口GUI(GraphicalUserInterfaces)是指計(jì)算機(jī)與其使用者之間的對(duì)話接口,是計(jì)算機(jī)系統(tǒng)的重要組成部分。第3頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.1.1嵌入式系統(tǒng)需要獨(dú)特的GUI需要高性能的、特殊顯示要求的GUIWAP手機(jī)、可視電話、PDA等要求在尺寸小的顯示屏上顯示更多的信息。輕量級(jí)GUI的要求工業(yè)實(shí)時(shí)控制系統(tǒng)實(shí)時(shí)性要求比較高,不希望建立在累贅、龐大的GUI上。第4頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.1.1嵌入式系統(tǒng)需要獨(dú)特的GUI嵌入式對(duì)GUI的基本要求包括:輕型、高效、高可靠性、可配制、有內(nèi)存意識(shí)等。GUI是類(lèi)似于OS的基礎(chǔ)軟件。從二次開(kāi)發(fā)的角度看,GUI應(yīng)能提供友好的開(kāi)發(fā)環(huán)境,開(kāi)發(fā)者可直觀開(kāi)發(fā)。第5頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.1.2嵌入式GUI解決方案(1)不將GUI作為一個(gè)軟件層從應(yīng)用程序中剝離出來(lái),GUI的支持邏輯由應(yīng)用程序自己負(fù)責(zé)。針對(duì)特定的圖形設(shè)備開(kāi)發(fā)圖形相關(guān)的功能函數(shù)。特點(diǎn):顯示邏輯和功能邏輯不分、程序結(jié)構(gòu)差、可移植性能差,有大量重復(fù)代碼。應(yīng)用于:簡(jiǎn)單、單色的LCD輸出屏的低端嵌入式產(chǎn)品。第6頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.1.2嵌入式GUI解決方案(2)購(gòu)買(mǎi)針對(duì)特定嵌入式操作系統(tǒng)的圖形中間件軟件包。特點(diǎn):GUI和OS配合良好,可以直接使用。價(jià)錢(qián)昂貴。應(yīng)用:uC/OS-II的uC/GUI包、Nucleus的GRAFLX包、VxWorks的WinML包。第7頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.1.2嵌入式GUI解決方案(3)采用獨(dú)立軟件開(kāi)發(fā)商提供比較成熟的GUI產(chǎn)品。特點(diǎn):采用雙授權(quán)模式。應(yīng)用:MiniGUI應(yīng)用于中低端產(chǎn)品、跨OS,小巧高效。占用Flash300-500K。Qt/embeded應(yīng)用于高端產(chǎn)品,只支持Linux。占用16MBFlash。第8頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.1.2嵌入式GUI解決方案(4)采用開(kāi)放源代碼的嵌入式GUI。特點(diǎn):價(jià)錢(qián)便宜、功能強(qiáng)大。存在軟件缺陷和商業(yè)支持。應(yīng)用:MicroWindows、OpenGUI等。
第9頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.1.3GUI體系結(jié)構(gòu)應(yīng)用程序GUIOS抽象層嵌入式操作系統(tǒng)驅(qū)動(dòng)程序設(shè)備抽象層MCU存儲(chǔ)設(shè)備輸入設(shè)備輸出設(shè)備GUI在嵌入式體系中的層次第10頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.1.3GUI體系結(jié)構(gòu)GU
I
內(nèi)部體系結(jié)構(gòu)API編程接口嵌入式GUI核心GAL層IAL層圖形顯示設(shè)備輸入設(shè)備第11頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.1.3GUI體系結(jié)構(gòu)API編程接口嵌入式GUI核心GAL層IAL層圖形顯示設(shè)備輸入設(shè)備圖形操作功能;消息機(jī)制;字體、窗體、桌面管理等核心圖形操作功能GraphicAbstractLayerInputAbstractLayer各種GUI對(duì)象第12頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.1.4GUI主要技術(shù)消息機(jī)制和事件驅(qū)動(dòng)
消息過(guò)濾ISR1硬件設(shè)備1ISRn硬件設(shè)備n消息過(guò)濾應(yīng)用程序A消息隊(duì)列應(yīng)用程序B消息隊(duì)列系統(tǒng)消息應(yīng)用程序B系統(tǒng)消息應(yīng)用程序A應(yīng)用程序B消息處理窗口應(yīng)用程序A消息處理窗口第13頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.1.4GUI主要技術(shù)屏幕管理技術(shù)
GUI由單窗口向多窗口發(fā)展。對(duì)于屏幕中的多個(gè)窗口的管理稱(chēng)為“屏幕管理技術(shù)”。屏幕管理要解決:窗口之間的位置關(guān)系;窗口單元之間的顯示順序;當(dāng)窗口位置和顯示順序發(fā)生變化時(shí)候窗口單元之間的變化關(guān)系等。另外,除了窗口單元,屏幕還要管理大量資源:字庫(kù)、圖標(biāo)ICON,位圖bitmap、輸入法等。
每個(gè)可見(jiàn)的,具有獨(dú)立功能的矩形區(qū)域稱(chēng)為一個(gè)“窗口單元”。第14頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.1.4GUI主要技術(shù)屏幕管理技術(shù)
窗口單元2(150,20)窗口單元3(100,85)窗口單元n(40,168)(0,0)窗口單元1(319,239)窗口單元位置關(guān)系圖窗口單元2窗口單元3Z序窗口單元n窗口單元Z序關(guān)系圖第15頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月顏色平滑的過(guò)渡算法對(duì)兩種位圖的每個(gè)顏色值按比例進(jìn)行混合9.1.4GUI主要技術(shù)Alpha混合技術(shù)
漸變效果
第16頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.2典型的嵌入式GUI系統(tǒng)1、MicroWindowsMicroWindows是一個(gè)較早出現(xiàn)的開(kāi)放源碼的嵌入式GUI軟件。目前由Century軟件公司維護(hù)。類(lèi)似Windows的的API類(lèi)似XWindow的客戶(hù)/服務(wù)器結(jié)構(gòu)提供三層結(jié)構(gòu):驅(qū)動(dòng)-->窗口管理-->API接口更新速度較慢、圖形引擎效率較低。第17頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.2典型的嵌入式GUI系統(tǒng)1、MicroWindows它的主要特色在于提供了比較完整的圖形功能,支持多種外部設(shè)備輸入,包括液晶顯示器、鼠標(biāo)和鍵盤(pán)等。MicroWindows能通過(guò)調(diào)色板技術(shù)將RGB格式的顏色空間轉(zhuǎn)換成目標(biāo)機(jī)器上最相近的顏色,然后顯示出來(lái)第18頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.2典型的嵌入式GUI系統(tǒng)2、MiniGUIMiniGUI是一個(gè)面向?qū)崟r(shí)嵌入式系統(tǒng)或者實(shí)時(shí)系統(tǒng)的輕量級(jí)圖形用戶(hù)界面支持系統(tǒng),主要運(yùn)行在Linux平臺(tái)上。早期由魏永明先生和眾多志愿者開(kāi)發(fā),是我國(guó)為數(shù)不多的在國(guó)際比較知名的自由軟件之一,現(xiàn)在由北京飛漫軟技術(shù)有限公司()進(jìn)行維護(hù)和商業(yè)運(yùn)作。第19頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.2典型的嵌入式GUI系統(tǒng)2、MiniGUI提供了完備的窗口機(jī)制,提供了多個(gè)線程中的多窗口機(jī)制;支持多種字體和字符集合;支持GIF、BMP、JPEG、PCX、TGA等圖象文件。支持Windows的資源文件。小巧,包括全部功能的支持庫(kù)大小為300K左右;可定制配置并編譯高穩(wěn)定性和高性能。第20頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.2典型的嵌入式GUI系統(tǒng)3、Qt/embededQt/Embedded是一個(gè)專(zhuān)門(mén)為嵌入式系統(tǒng)設(shè)計(jì)圖形用戶(hù)界面的工具包,Qt/Embedded兼容Qt的軟件包,便于移植。采用C++編程實(shí)現(xiàn)Qt是挪威Trolltech軟件(被諾基亞收購(gòu))公司的產(chǎn)品,它為各種系統(tǒng)提供圖形用戶(hù)界面的工具包,Linux桌面系統(tǒng)的KDE就是基于Qt庫(kù)開(kāi)發(fā)的。第21頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.2典型的嵌入式GUI系統(tǒng)3、Qt/embeded功能強(qiáng)大、控件豐富。結(jié)構(gòu)復(fù)雜,資源消耗較大,效率滴,適合于高端配置的硬件環(huán)境。第22頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月MiniGUI和Qt界面比較第23頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.2典型的嵌入式GUI系統(tǒng)第24頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月MiniGUI是一種面向嵌入式系統(tǒng)和實(shí)時(shí)系統(tǒng)的圖形用戶(hù)界面支持系統(tǒng)。它主要運(yùn)行于Linux控制臺(tái),實(shí)際可以運(yùn)行在任何一種具有線程支持的POSIX兼容系統(tǒng)上。MiniGUI同時(shí)也是國(guó)內(nèi)最早出現(xiàn)的幾個(gè)自由軟件項(xiàng)目之一。與Microwindows相比,MiniGUI和MicroWindows均為自由軟件,只是前者遵循LGPL條款,后者遵循MPL條款。這兩個(gè)系統(tǒng)的技術(shù)路線也有所不同。MiniGUI的策略是首先建立在比較成熟的圖形引擎之上,比如SVGALib和LibGGI,開(kāi)發(fā)的重點(diǎn)在于窗口系統(tǒng)如圖形接口;MicroWindows目前的開(kāi)發(fā)重點(diǎn)則在底層的圖形引擎,窗口系統(tǒng)和圖形接口方面的功能還比較欠缺。舉個(gè)例子來(lái)說(shuō),MiniGUI有一套用來(lái)支持多字符集和多編碼的函數(shù)接口,可以支持各種常見(jiàn)的字符集,包括GB、Big5、Unicode等,而MicroWindows在多字符集的支持上尚沒(méi)有統(tǒng)一接口。第25頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.3MiniGUI
MiniGUI是一個(gè)基于SVGALib、Framebuffer和LinuxThread庫(kù)的多窗口圖形用戶(hù)界面支持系統(tǒng),可以應(yīng)用在電視頂置盒、實(shí)時(shí)控制系統(tǒng)、掌上型電腦等諸多場(chǎng)合,可定制、小巧,開(kāi)放源代碼。
第26頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月多線程和多窗口,使用消息驅(qū)動(dòng)作為應(yīng)用程序的構(gòu)架MiniGUI中的窗口分為四類(lèi):主窗口、對(duì)話框、控件和主窗口中的子窗口。9.3.1MiniGUI主要特點(diǎn)第27頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月MiniGUI還支持一些常見(jiàn)的GUI元素彈出式菜單、插入符、定時(shí)器、光標(biāo)、快捷鍵等。9.3.1MiniGUI主要特點(diǎn)第28頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月多字體和多字符集支持
9.3.1MiniGUI主要特點(diǎn)第29頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月MiniGUI采用分層結(jié)構(gòu),引入的圖形抽象層和輸入抽象層,大大提高了MiniGUI的可移植性API編程接口CoreGAL層IAL層圖形顯示設(shè)備輸入設(shè)備系統(tǒng)硬件驅(qū)動(dòng)9.3.1MiniGUI主要特點(diǎn)第30頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月MiniGUI需要多線程支持MiniGUI的許多模塊都以單獨(dú)的線程運(yùn)行。利用線程來(lái)支持多窗口MiniGUI利用線程之間的同步操作實(shí)現(xiàn)了客戶(hù)線程和服務(wù)器線程之間的微客戶(hù)/服務(wù)器機(jī)制
9.3.1MiniGUI主要特點(diǎn)第31頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月如何獲取MiniGUI目前,MiniGUI可免費(fèi)下載的穩(wěn)定版本是1.3.3??梢詮谋本╋w漫軟件技術(shù)有限公司的網(wǎng)站下載MiniGUI源代碼、開(kāi)發(fā)文檔及示例程序。免費(fèi)下載的MiniGUI只能用于開(kāi)發(fā)GPL或其他公開(kāi)源碼的應(yīng)用軟件,如果您要利用MiniGUI開(kāi)發(fā)專(zhuān)有或商業(yè)軟件,則必須從北京飛漫軟件技術(shù)有限公司購(gòu)買(mǎi)商業(yè)授權(quán)。第32頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月模式1MiniGUI-thread可以在不同的線程中建立多個(gè)窗口,但所有的窗口都在一個(gè)進(jìn)程空間特點(diǎn):占用資源少,控制簡(jiǎn)單對(duì)系統(tǒng)可靠性有影響9.3.2MiniGUI的三種模式第33頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月
模式2MiniGUI-lite每個(gè)程序都是單獨(dú)的進(jìn)程,每個(gè)進(jìn)程可以建立多個(gè)窗口,進(jìn)程之間、窗口之間互不影響。
特點(diǎn):占用資源多,較好解決了進(jìn)程間窗口管理9.3.2MiniGUI的三種模式第34頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.3.2MiniGUI的三種模式模式3MiniGUI-StandaloneMiniGUI以獨(dú)立進(jìn)程方式運(yùn)行,當(dāng)其它進(jìn)程有需要時(shí)候,每次只能以最大化的方式顯示一個(gè)窗體。
特點(diǎn):幾乎可以運(yùn)行在所有操作系統(tǒng)上,應(yīng)用最廣的模式。第35頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.3.3MiniGUI配置和交叉編譯Step1.宿主機(jī)上配置Framebuffer
需要激活VESAFrameBuffer驅(qū)動(dòng)程序修改/boot/grub/menu.lst文件,TitleRedHatLinux(2.4.x,framebuffer)Root(hd0,0)Kernel/boot/vmlinux-2.4.xroroot=/dev/hda1vga=0x0317initrd/boot/initrd-2.4.x.imgFramebuffer是linux內(nèi)核的一種驅(qū)動(dòng)程序接口,這種接口將顯示設(shè)備抽象為幀緩沖區(qū)。Framebuffer通過(guò)緩沖區(qū)提供了使用顯示設(shè)備的一般接口第36頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.3.3MiniGUI配置和交叉編譯Step2.下載MiniGUI源代碼
從網(wǎng)上免費(fèi)得到MiniGUI的資源文件壓縮包MiniGUI函數(shù)庫(kù)源代碼;libminigui-1.6.x.tar.gzMiniGUI所使用的資源,包括基本字體、圖標(biāo)、位圖、輸入法等;minigui-res-1.6.tar.gz
MiniGUI的綜合演示程序。mg-samples-1.6.x.tar.gz第37頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.3.3MiniGUI配置和交叉編譯Step3.在PC機(jī)上編譯并安裝libminigui[root@vm-dev/]#tarjxvflibminigui-1.6.x.tar.gz[root@vm-dev/]#cdlibminigui-1.6.x[root@vm-devlibminigui-1.6.x]#./configure[root@vm-devlibminigui-1.6.x]#make[root@vm-devlibminigui-1.6.x]#su–cmakeinstall
第38頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.3.3MiniGUI配置和交叉編譯Step4.把libminigui加入庫(kù)搜索路徑
默認(rèn)情況下MiniGUI的函數(shù)庫(kù)被安裝在/usr/local/lib目錄中,所以應(yīng)該確保此目錄已經(jīng)在/etc/ld.so.conf.d中[root@vm-dev/]#cd/etc/ld.so.conf.d[root@vm-devld.so.conf.d]#viminigui.conf寫(xiě)上/usr/local/lib
運(yùn)行l(wèi)dconfig命令刷新系統(tǒng)共享資源庫(kù)緩存
[root@vm-devld.so.conf.d]#su–c/sbin/ldconfig
第39頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.3.3MiniGUI配置和交叉編譯Step5.在pc機(jī)上安裝MiniGUI的資源[root@vm-dev/]#tarjxvfminigui-res-1.6.tar.gz[root@vm-dev/]#cdminigui-res-1.6[root@vm-devminigui-res-1.6]#su–cmakeinstall第40頁(yè),課件共45頁(yè),創(chuàng)作于2023年2月9.3.3MiniGUI配置和交叉編譯Step6.在pc機(jī)上編譯應(yīng)用程序的例子[root@vm-dev/]#tarjxvfmg-samples-1.6.x.tar.gz[root@vm-dev/]#cdmg-samples-1.6.x[root@vm-devmg-samples-1.6.x]#./configure[root@vm-devmg-s
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版建筑加固施工合同書(shū)范本
- 2025年度清潔能源發(fā)電項(xiàng)目EPC總承包合同3篇
- 2024年度創(chuàng)新離婚合同:共同財(cái)產(chǎn)分割與子女成長(zhǎng)保障3篇
- 職業(yè)學(xué)院教師專(zhuān)業(yè)技術(shù)職務(wù)低職高聘的規(guī)定
- 2024版商業(yè)活動(dòng)免責(zé)條款合同版
- 2024年航空公司機(jī)票代理銷(xiāo)售合同標(biāo)的明確
- 2024年金融借款中介服務(wù)協(xié)議版
- 2024年風(fēng)光攝影版權(quán)協(xié)議3篇
- 2025年度專(zhuān)業(yè)比賽場(chǎng)地租賃及賽事組織服務(wù)合同3篇
- 廣西中醫(yī)藥大學(xué)2020年廣西函授大專(zhuān)本科報(bào)名專(zhuān)業(yè)及條件須知
- 《實(shí)驗(yàn)性研究》課件
- 酒店客房打掃培訓(xùn)
- 2024-2025學(xué)年高考英語(yǔ)語(yǔ)法第一輪復(fù)習(xí):定語(yǔ)從句(講義)(原卷版+解析)
- 保險(xiǎn)理賠崗位招聘面試題與參考回答(某大型央企)2024年
- 第10課《我們不亂扔》(教學(xué)設(shè)計(jì))-部編版道德與法治二年級(jí)上冊(cè)
- 瑞士萬(wàn)通831KF卡爾費(fèi)休水分測(cè)定儀干貨-庫(kù)侖法
- 第14章第1節(jié)熱機(jī)-課件(共21張課件)-人教版初中物理九年級(jí)全一冊(cè).課件
- 2025屆浙江省樂(lè)清市知臨中學(xué)高一數(shù)學(xué)第一學(xué)期期末檢測(cè)試題含解析
- 課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)報(bào)告書(shū)(3篇)
- 行車(chē)調(diào)度員技能競(jìng)賽考試題庫(kù)及含答案
- 廣東省廣州市(2024年-2025年小學(xué)四年級(jí)語(yǔ)文)人教版期末考試(上學(xué)期)試卷及答案
評(píng)論
0/150
提交評(píng)論