




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、西北大學(xué)學(xué)士學(xué)位論文 基于minigui的嵌入式界面開發(fā) 應(yīng)用物理專業(yè) 羅文剛 20031100117 指導(dǎo)老師 高平安 摘要 minigui是由北京飛漫軟件技術(shù)有限公司主持的自由軟件,遵循gpl條款發(fā)布。它是一種面向?qū)崟r(shí)嵌入式系統(tǒng)的輕量級(jí)圖形用戶界面支持系統(tǒng)。本文基于嵌入式圖形中間件minigui在linux操作系統(tǒng)平臺(tái)上開發(fā)出了一種用于激光醫(yī)療設(shè)備的圖形化界面lmagui(lazer medical apparatus gui)。該界面包括了進(jìn)入系統(tǒng)到中間過程的操作到最后推出界面的一般操作流程。lmagui旨在為該醫(yī)療設(shè)備提供一種簡(jiǎn)潔,操作方便,穩(wěn)定性好的界面。然后給出了相應(yīng)比較重要的源代
2、碼。在結(jié)論中給出了嵌入式gui的一些開發(fā)的基本原則以及在開發(fā)過程中的一些不足之處。abstract minigui is the free software from beijing freeman software technology ltd and published following the provisions of the gpl terms .it is a real-time embedded system for lightweight graphical user interface support systems.based on the embedded graphi
3、cs middleware minigui and the linux operating system platform developes a graphical interface -lmagui (lazer medical apparatus gui) for a laser medical equipment . the interface includes access to the intermediate process of the operation of the interface to the final launch of the general operating
4、 procedures. lmagui for medical equipment designed to provide a simple, easy operation and good stability interface. then given the fairly important the source code. in its conclusions, given the basic principles in the embedded gui development and some deficiencies in this process.關(guān)鍵詞:minigui,gui,l
5、inux,嵌入式系統(tǒng) 目錄1引言22嵌入式gui概述42.1嵌入式gui的發(fā)展42.2嵌入式gui的技術(shù)特點(diǎn)43開發(fā)工具minigui概述53.1minigui的介紹53.2minigui的主要特點(diǎn)53.3minigui的體系結(jié)構(gòu)64linux操作系統(tǒng)概述74.1linux的背景介紹74.2linux的發(fā)展?fàn)顩r84.3linux的技術(shù)優(yōu)勢(shì)84.3linux的不利因素94.4嵌入式linux上的gui系統(tǒng)發(fā)展概況95嵌入式界面開發(fā)框架105.1linux和minigui版本描述105.2lmagui在pc機(jī)上的開發(fā)116lmagui描述137結(jié)論178參考文獻(xiàn)179致謝181引言近年來,隨著軟硬
6、件資源的成熟與完善,嵌入式微處理器的數(shù)據(jù)處理能力從4位,8位,16位發(fā)展到現(xiàn)在廣泛應(yīng)用的32位,甚至64位;嵌入式系統(tǒng)軟件的發(fā)展也經(jīng)歷功能單一的專用監(jiān)控系統(tǒng),具有一定開放性的專用系統(tǒng)內(nèi)核,到現(xiàn)在真正意義上的操作系統(tǒng);嵌入式軟件開發(fā)也從匯編語言,高級(jí)語言,到現(xiàn)在在硬件抽象層基礎(chǔ)上,面向開發(fā)人員無差別的開發(fā)環(huán)境。嵌入式系統(tǒng)已經(jīng)廣泛滲透到人們的工作、生活中,從家用電器、手持通訊設(shè)備、信息終端、醫(yī)療設(shè)備、儀器儀表、汽車、航天航空、軍事裝備、制造工業(yè)、過程控制等。隨著嵌入式系統(tǒng)的廣泛應(yīng)用和發(fā)展,促使嵌入式系統(tǒng)對(duì)良好gui系統(tǒng)的需求越來越迫切。嵌入式gui作為一種比較特殊的gui,在設(shè)計(jì)過程中也遵循設(shè)計(jì)一
7、般gui遵循的設(shè)計(jì)準(zhǔn)則。如美國(guó)軍方標(biāo)準(zhǔn)(1999)提出的如下人機(jī)工程學(xué)設(shè)計(jì)準(zhǔn)則也非常適合用于嵌入式gui的設(shè)計(jì):1. 滿足操作、控制和維護(hù)人員對(duì)性能的要求2. 將對(duì)操作人員的技能要求、知識(shí)要求和訓(xùn)練時(shí)間要求降到最低3. 達(dá)到人與設(shè)備、軟件組合的可靠性4. 在系統(tǒng)中和系統(tǒng)時(shí)間逐步建立一種設(shè)計(jì)標(biāo)準(zhǔn)顯然在性能要求和可靠性方面,嵌入式gui的要求更加強(qiáng)烈。而運(yùn)用界面設(shè)計(jì)的8條黃金規(guī)則中的以下幾條對(duì)嵌入式gui的開發(fā)過程也是很有幫助的,尤其是當(dāng)嵌入式gui越來越龐大,越來越復(fù)雜的時(shí)候,這些規(guī)則顯然必不可少。1. 盡可能保證一致。類似的操作環(huán)境應(yīng)提供一致的操作系列;相同的術(shù)語應(yīng)該用在提示、菜單和幫助里;顏
8、色、布局、大小寫、字體等應(yīng)當(dāng)自始至終保持一致。2提供信息豐富的反饋。對(duì)每個(gè)用戶操作都應(yīng)有對(duì)應(yīng)的系統(tǒng)反饋信息。對(duì)于常用的或較次要的操作,反饋信息可以很簡(jiǎn)短;而對(duì)于不常用的但重要的操作,反饋信息就應(yīng)豐富一些。3預(yù)防錯(cuò)誤。應(yīng)當(dāng)盡可能地設(shè)計(jì)不讓用戶犯嚴(yán)重錯(cuò)誤的系統(tǒng)。錯(cuò)誤的操作應(yīng)該讓系統(tǒng)狀態(tài)保持不變,或者界面應(yīng)當(dāng)提供關(guān)于恢復(fù)狀態(tài)的說明。嵌入式系統(tǒng)gui的基本要求包括:輕型、占用資源少、高性能、高可靠性、可配置等特點(diǎn)。因有好多相關(guān)論文闡述這些內(nèi)容,在此不再詳述。近年來,由于linux的廣泛發(fā)展和其本身的源碼開放,高效率以及出色的網(wǎng)絡(luò)等優(yōu)點(diǎn),使得linux成為了開發(fā)嵌入式系統(tǒng)的首選平臺(tái)。在本程序開發(fā)中也用l
9、inux作為系統(tǒng)開發(fā)平臺(tái)。嵌入式系統(tǒng)往往是一種定制設(shè)備,它們對(duì)gui的需求也各不相同。有的系統(tǒng)只要求一些圖形功能,而有些系統(tǒng)要求完備的gu1支持。因此很多嵌入式系統(tǒng)需要自己特定的嵌入式gui。而現(xiàn)在開發(fā)嵌入式gui的方法主要有下列三種:(1)某些大型廠商有能力自己開發(fā)滿足自身需要的gui系統(tǒng)。(2)某些廠商沒有將gui作為一個(gè)軟件層從應(yīng)用程序中剝離,gui的支持邏輯由應(yīng)用程序自己負(fù)責(zé)。(3)采用某些比較成熟的gui系統(tǒng),比如minigui,microwindows或者其他gui系統(tǒng)。在本程序的開發(fā)中采用第三中方法來開發(fā),使用日益成熟成熟的minigui系統(tǒng)作為開發(fā)軟件,因?yàn)樗裱璯pl條款,穩(wěn)
10、定性好,可靠性強(qiáng),它本身就是為中小型界面而量身定做的,相當(dāng)小巧,并且有現(xiàn)存的的開放源碼的嵌入式gui利用,可以讓開發(fā)者集中精力開發(fā)自己的應(yīng)用程序。2嵌入式gui概述 2.1嵌入式gui的發(fā)展隨著嵌入式產(chǎn)品的發(fā)展,往往要求嵌入式操作系統(tǒng)有網(wǎng)絡(luò)和圖形的功能。利用源代碼開放的linux搭建嵌入式操作系統(tǒng),由于強(qiáng)大的網(wǎng)絡(luò)功能和低成本,近來得到了越來越多的應(yīng)用。其能夠提供全功能的桌面計(jì)算(desktopcomputing),定制非常方便,支持大多數(shù)嵌入式系統(tǒng)上使用的芯片,包括strong arm,mips和power pc。但比windows ce,嵌入式linux的圖形操作功能相對(duì)較弱。而隨著手持式設(shè)
11、備的硬件條件的提高,最近出現(xiàn)的palm等手持式電腦或者在windows ce等面向嵌入式系統(tǒng)的操作系統(tǒng)上,已經(jīng)看到了完整的圖形用戶界面支持。因此在嵌入式linux操作系統(tǒng)上使用一個(gè)功能完備的輕量級(jí)、高性能、高可靠、可配置的gui系統(tǒng)成為可行的解決方案。由于嵌入式硬件性能的不斷提升,使得在嵌入式設(shè)備上運(yùn)行精美的圖形用戶界面成為可能,同時(shí)智能手持設(shè)備、智能儀表的迅猛發(fā)展也對(duì)gui產(chǎn)生了極大的市場(chǎng)需求。目前基于linux的嵌入式gui產(chǎn)品并不是很多,而且由于各種嵌入式平臺(tái)巨大的差異性,在嵌入式gui領(lǐng)域也不大可能產(chǎn)生像在pc機(jī)領(lǐng)域windows一支獨(dú)秀的局面,因此對(duì)于gui的開發(fā)具有十分廣闊的市場(chǎng)前
12、景,將會(huì)大大促進(jìn)嵌入式gui的發(fā)展。2.2嵌入式gui的技術(shù)特點(diǎn)圖形用戶界面是指計(jì)算機(jī)與其使用者之間的對(duì)話接口,是計(jì)算機(jī)系統(tǒng)的重要組成部分,他基于操作系統(tǒng)之上,為用戶提供豐富的圖形編程接口,使其能夠方便快速地編制界面友好的應(yīng)用程序。對(duì)嵌入式gui的基本要求有:圖形算法簡(jiǎn)潔、快速,占用資源少;功能強(qiáng);可靠性高;模塊結(jié)構(gòu),便于移植和定制嵌入式gui系統(tǒng)的實(shí)現(xiàn)模式有單進(jìn)程模式或多線程模式、多線程微客戶服務(wù)器模式、多進(jìn)程客戶服務(wù)器模式。而且gui與一般程序的結(jié)構(gòu)不同,它采用消息事件驅(qū)動(dòng)機(jī)制來管理這些進(jìn)程與線程間的通信,創(chuàng)建消息隊(duì)列,實(shí)現(xiàn)消息處理函數(shù)的調(diào)用與分派。嵌入式gui構(gòu)成通常由3個(gè)基本層次組成:
13、顯示模型、窗口模型和用戶模型。如圖2-1所示。桌面管理系統(tǒng)用戶模型窗口模型顯示模型操作系統(tǒng)硬件平臺(tái) 圖2-1 gui的層次結(jié)構(gòu)3開發(fā)工具minigui概述3.1minigui的介紹北京飛漫軟件技術(shù)有限公司開發(fā)的minigui(), 是國(guó)內(nèi)為數(shù)不多的幾大國(guó)際知名自由軟件之一。minigui是面向?qū)崟r(shí)嵌入式系統(tǒng)的輕量級(jí)圖形用戶界面支持系統(tǒng),其創(chuàng)始人魏勇明先生將mjnigui定義為:“minigui是linux控制臺(tái)上運(yùn)行的、基于svgalib和linuxthread庫的多窗口圖形用戶界面支持系統(tǒng)。minigui采用了類windows32的api接口,實(shí)現(xiàn)了
14、簡(jiǎn)化的類windows 98風(fēng)格的圖形用戶界面。minigui的目標(biāo)是保持現(xiàn)有小巧的特點(diǎn)”。 minigui是一個(gè)完全遵循gpl條款的純自由軟件3.2minigui的主要特點(diǎn)minigul提供了完備的多窗口機(jī)制,實(shí)現(xiàn)了類win32的消息傳遞機(jī)制;能夠支持多字符集和多字體,以及全拼、五筆等漢字輸入法:可以支持常見的圖像文件,如bmp、gif、jpeg、pcx等;還支持windows的資源文件,如位圖、圖標(biāo)、光標(biāo)等。此外,minigui還具有小巧、可配置、移植性好等優(yōu)點(diǎn)。(1)提供了完備的多窗口機(jī)制和消息傳遞機(jī)制;(2)對(duì)話框和消息框支持;(3)提供常用的控件類,包括文本框、按鈕、編輯框、列表框等
15、;(4)界面皮膚支持用戶可以通過皮膚支持獲得外觀非常華麗的圖形界面;(5)bmp,gif,jpeg等常見圖像文件的支持;(6)小巧,包含全部功能的庫文件為300 kb左右;(7)可配置,可根據(jù)項(xiàng)目需求進(jìn)行定制配置和編譯;(8)可移植性好。minigui突出的特點(diǎn)是小巧、可配置。minigui本身所占空間非常小,具體如下: linux內(nèi)核:300k 500k(由系統(tǒng)決定) minigu1支持庫:300k 400k(由編譯選項(xiàng)確定) minigui字體、位圖等資源:800k 漢字輸入法:400k 應(yīng)用程序:1m2m(由系統(tǒng)決定)總計(jì)在2m 到4m 左右。如果不需要某些特征系統(tǒng)容量還可以更少。min
16、igui的目標(biāo)是保持小的特點(diǎn),并積極向模塊化方向發(fā)展,為各種嵌入式系統(tǒng)或?qū)崟r(shí)系統(tǒng)提供一個(gè)小型的窗口支持系統(tǒng)?!靶 笔莔inigui的特色,也是它的優(yōu)勢(shì)3.3minigui的體系結(jié)構(gòu)從整體結(jié)構(gòu)上看,minigui是分層設(shè)計(jì)的,在最底層,gal(圖形抽象層)和ial(輸入抽象層)提供底層圖形接口以及鼠標(biāo)和鍵盤的驅(qū)動(dòng),而pfilread(posix thread)是用于提供內(nèi)核級(jí)線程支持的c函數(shù)庫。中間層是minigui的核心層,其中包括了窗口系統(tǒng)必不可少的各個(gè)模塊,如圖3-1所示:最頂層的api是提供給用戶的編程接口。apiminigui核心gal ial pthread輸入法 虛擬控制臺(tái)控件類管
17、理 控件 對(duì)話框光標(biāo)timer菜單caret窗口 事件 消息 gdi 資源內(nèi)存管理 區(qū)域管理雜項(xiàng) 圖3-1 minigui的體系結(jié)構(gòu)4linux操作系統(tǒng)概述4.1linux的背景介紹linux操作系統(tǒng)于1991年由赫爾辛基大學(xué)的linus torvalds設(shè)計(jì)。從這開始linux迅速成為用戶增長(zhǎng)較快的操作系統(tǒng)平臺(tái)之一如今世界上有成千上萬的linux開發(fā)人員。linux取得巨大成功的主要原因在于它采用了開放源碼的開發(fā)方式并遵從gpl許可協(xié)議。這一許可協(xié)議允許任何開發(fā)人員使用linux源碼作為個(gè)人式商業(yè)用途。但不允許在不提供修改了源碼的情況下發(fā)布軟件。因此這一提供源碼的特點(diǎn)。使linux及時(shí)響應(yīng)計(jì)
18、算機(jī)技術(shù)的需求,并吸收了來自于世界各地程序員的最新計(jì)算機(jī)技術(shù)。通過讓人們研究這些不斷被修正的源碼開放源碼的開發(fā)方式為linux操作系統(tǒng)帶來了高性能和高可靠性?,F(xiàn)在最新的一個(gè)開發(fā)趨勢(shì)就是裁減linux內(nèi)核以適應(yīng)嵌入式系統(tǒng)的需求。它使得linux內(nèi)核及其編譯器支持幾乎所有流行的用于嵌入式系統(tǒng)的32位微處理器。這些微處理器包括intel x86、arm、motorolaibm powerpc、nec mips和hitachish等。許多嵌入式linux發(fā)行版本不斷涌現(xiàn)都可以穩(wěn)定的支持嵌入式應(yīng)用。由于linux的源碼公開性以及支持現(xiàn)代處理器的特定結(jié)構(gòu)使它又開辟了一條通向?qū)崟r(shí)操作系統(tǒng)的光明大道。linu
19、x發(fā)行版本的內(nèi)核支持幾乎所有現(xiàn)代32位處理器所需要實(shí)現(xiàn)的功能和所有在嵌入式系統(tǒng)中的應(yīng)用。這包括支持內(nèi)存管理、進(jìn)程、線程創(chuàng)建、進(jìn)程間通訊機(jī)制、中斷處理、基于rom 的文件系統(tǒng)、和基于ram 的文件系統(tǒng)、閃存管理以及tcpip網(wǎng)絡(luò)。在gpl許可協(xié)議下各種內(nèi)核修改都可以得到反映,不同開發(fā)組和公司集中于自己特定的方向進(jìn)行改進(jìn)。支持特定處理器結(jié)構(gòu)的內(nèi)核編譯器以及用戶摸式的應(yīng)用庫也不斷被包含在新的發(fā)行版本內(nèi)。而且gun c編譯項(xiàng)目保持每種處理器的編譯器及時(shí)更新。嵌入式linux發(fā)行版本提供基于主機(jī)的支持目標(biāo)平臺(tái)的交叉開發(fā)。因?yàn)間cc編譯器可以運(yùn)行于各種平臺(tái),所以運(yùn)行于linux和windows的主機(jī)開發(fā)平
20、臺(tái)都可以得到復(fù)雜開發(fā)工具,mmake程序維護(hù)工具允許在單一命令下實(shí)現(xiàn)交叉編譯和連接。在開發(fā)基于linux的應(yīng)用程序時(shí)使用基于linux的主機(jī)開發(fā)平臺(tái)的優(yōu)點(diǎn)在于,一般情況下,對(duì)于應(yīng)用程序的主要部分必須在建立目標(biāo)硬件設(shè)備時(shí)建立和測(cè)試。而使用圖形窗口環(huán)境如x windows和microwindows則允許完全圖形模擬目標(biāo)圖形硬件,而不必交叉開發(fā)或下載任何程序更新。這些開發(fā)方法對(duì)于linux是獨(dú)一無二的,而且不斷被用于主流嵌入式系統(tǒng)設(shè)計(jì),同時(shí)又進(jìn)一步推動(dòng)了嵌入式系統(tǒng)設(shè)計(jì)。4.2linux的發(fā)展?fàn)顩rlinux正在走進(jìn)越來越多人的視線,也已經(jīng)讓無數(shù)的人為之深深吸引,除了眾多的軟件開發(fā)商外,也包括許多軟、硬
21、件廠商,以及分布在不同國(guó)家、不同行業(yè)的企業(yè)及個(gè)人用戶。全球很多國(guó)家(如新加坡、德國(guó))已表明有計(jì)劃將服務(wù)器體系結(jié)構(gòu)由windows轉(zhuǎn)向linux架構(gòu)。值得注意的是,中國(guó)和印度正在積極培養(yǎng)國(guó)內(nèi)的linux專業(yè)人才,以便在未來的市場(chǎng)競(jìng)爭(zhēng)中占據(jù)優(yōu)勢(shì),從中也可以預(yù)見這些國(guó)家對(duì)linux軟件技術(shù)的需求在逐步增加。intel、ibm、hp、oracle、sybase、bea、ca等國(guó)際知名軟硬件廠商紛紛支持linux后linux具備了架構(gòu)企業(yè)級(jí)應(yīng)用的基礎(chǔ)條件。而刺激企業(yè)采用linux架構(gòu)的另一個(gè)重要原因是,在全球經(jīng)濟(jì)不景氣的大環(huán)境下節(jié)約成本成為很多企業(yè)考慮的重要因素,于是紛紛從小范圍采用linttx架構(gòu)開始
22、。根據(jù)調(diào)查顯示,采用了linux的企業(yè)有超過90愿意繼續(xù)使用linux或者加大linux方面的投資。隨著越來越多的企業(yè)采用linux,linux在企業(yè)級(jí)應(yīng)用市場(chǎng)打下一片江山指日可待。據(jù)市場(chǎng)研究公司idc發(fā)表的最新統(tǒng)計(jì)數(shù)據(jù)顯示,用戶積極購買價(jià)格更昂貴和功能更強(qiáng)大的linux服務(wù)器。當(dāng)linux剛剛在中國(guó)出現(xiàn)時(shí),人們常常議論的一個(gè)話題就是“制約中國(guó)linux發(fā)展的重要原因就是支持linux的軟、硬件產(chǎn)品缺乏,特別是應(yīng)用軟件的缺乏”。目前,除了ibm宣布全線產(chǎn)品支持linux之外,還有hp、sun等公司也都把發(fā)展linux作為公司的重要戰(zhàn)略之一。而且linux平臺(tái)上現(xiàn)在已經(jīng)有了相當(dāng)多的應(yīng)用軟件。19
23、99年中國(guó)才有第一家linux公司現(xiàn)在國(guó)內(nèi)成規(guī)模的ianux廠商已有二十多家。linux進(jìn)人中國(guó)的這幾年,技術(shù)發(fā)展十分迅速,成功案例也不斷增加。就企業(yè)級(jí)應(yīng)用而言從第一個(gè)企業(yè)級(jí)應(yīng)用黑龍江郵政的電子化支局建設(shè)開始,linux在企業(yè)級(jí)的應(yīng)用方面開始占領(lǐng)一些非關(guān)鍵行業(yè)及非核心業(yè)務(wù)領(lǐng)域。電子郵件、與internet相關(guān)的各種應(yīng)用、防火墻、dns、多媒體等領(lǐng)域是中國(guó)linux在企業(yè)級(jí)應(yīng)用最多的領(lǐng)域。2002年,linux開始介入銀行、電信等重點(diǎn)it行業(yè)的核 12,業(yè)務(wù)領(lǐng)域,如網(wǎng)上銀行、計(jì)費(fèi)系統(tǒng)等說明用戶對(duì)linux在企業(yè)級(jí)的應(yīng)用開始逐步認(rèn)可。逐漸成熟的技術(shù)實(shí)力和日益被認(rèn)可的成功案例正成為促進(jìn)中國(guó)linux
24、迅速發(fā)展的根本原因。4.3linux的技術(shù)優(yōu)勢(shì)與windows相比linux在穩(wěn)定性、可靠性方面的優(yōu)勢(shì)使其在近幾年得到了迅速的發(fā)展,從當(dāng)初的興趣小組、社區(qū)的形勢(shì)發(fā)展的今天的企業(yè)推進(jìn)。linux最大的優(yōu)勢(shì)是其開放性。由于開放了源代碼使大家對(duì)系統(tǒng)的工作機(jī)制可以透徹進(jìn)行的了解發(fā)現(xiàn)其中錯(cuò)誤,并迅速糾正錯(cuò)誤。這樣linux本身更加健壯、病毒和漏洞更少更易于修復(fù),修復(fù)得更徹底。用戶不必在發(fā)現(xiàn)漏洞之后仍要等待軟件廠商修改自己封閉的代碼后再發(fā)布補(bǔ)丁,而將服務(wù)器暴露在危險(xiǎn)之中。目前主流的桌面系統(tǒng)仍然是windows,使用linux作服務(wù)器使得網(wǎng)絡(luò)格局變?yōu)榻诲e(cuò)式網(wǎng)絡(luò),這也是許多專家非常推崇的一種結(jié)構(gòu)。一旦有病毒或
25、其它不利因素在網(wǎng)絡(luò)上漫延可以有效的制止,不會(huì)迅速傳播(需要再修改)。與unix系統(tǒng)相比,linux的主要優(yōu)勢(shì)表現(xiàn)在:開放源碼,應(yīng)用豐富。選擇linux系統(tǒng)還有一個(gè)很重要的的原因還在于成本。(當(dāng)然,該系統(tǒng)的性能也非常出色,否則價(jià)格再低也毫無意義。)4.3linux的不利因素近年來,linux憑借其開放源碼的特性在操作系統(tǒng)領(lǐng)域中迅速崛起,但它面臨的問題仍很突出:首先要解決的是安全問題。linux是開放源碼軟件,但這個(gè)開放源碼好比一把雙刃劍,它的內(nèi)核可以由廠商和愛好者等集思廣益共同開發(fā),同時(shí)也為黑客留下了可趁之機(jī)?,F(xiàn)在,linux廠商針對(duì)系統(tǒng)漏洞發(fā)布補(bǔ)丁的反應(yīng)速度還稍嫌不夠。其次是兼容性問題。lin
26、ux廠商數(shù)量近200,linux的各種版本無法統(tǒng)計(jì),兼容性問題因此凸現(xiàn)。各家硬件廠商開發(fā)相應(yīng)產(chǎn)品的linux驅(qū)動(dòng)程序也主要針對(duì) red hat等幾個(gè)主要linux廠商硬件兼容性問題不容忽視接下來是應(yīng)用支持問題。由于linux發(fā)行的套件很多各個(gè)產(chǎn)品的細(xì)節(jié)有所不同,所以,經(jīng)??赡軙?huì)碰到在linux操作系統(tǒng)之間應(yīng)用軟件無法正常工作的問題。如果得不到軟件開發(fā)商的支持再好的操作系統(tǒng)也沒用,windows的快速發(fā)展就是一個(gè)正面例子國(guó)內(nèi)原先開發(fā)的多套操作系統(tǒng)無疾而終是反面例子。最后還有商業(yè)模式的問題。linux發(fā)展這么迅速與眾多軟硬件廠商積極推動(dòng)有很大關(guān)系,但是這些軟硬件支持廠商和linux廠商各有不同的發(fā)
27、展目標(biāo)。linux的發(fā)展受硬件影響很大,linux廠商未來到底是依附于硬件廠商還是獨(dú)立出來、讓其他的軟硬件來支持這個(gè)平臺(tái)?選擇一個(gè)合理的商業(yè)模式成為現(xiàn)在linux廠商面臨的問題。4.4嵌入式linux上的gui系統(tǒng)發(fā)展概況近年來,嵌人式系統(tǒng)取得了迅猛的發(fā)展,在消費(fèi)類電子產(chǎn)品和工業(yè)控制智能儀表等領(lǐng)域得到了廣泛的應(yīng)用,而linux憑借其開放源代碼、幾乎支持所有的主流硬件平臺(tái)、支持大量的周邊硬件設(shè)備、可定制等優(yōu)點(diǎn),成為構(gòu)建嵌入式系統(tǒng)的強(qiáng)有力武器,不少公司都推出了基于linux的嵌入式產(chǎn)品。由于嵌入式硬件性能的不斷提升,使得在嵌入式設(shè)備上運(yùn)行精美的圖形用戶界面成為可能,同時(shí)智能手持設(shè)備、智能儀表的迅猛
28、發(fā)展也對(duì)gui產(chǎn)生了極大的市場(chǎng)需求。目前基于linux的嵌入式gui產(chǎn)品并不是很多,而且由于各種嵌入式平臺(tái)巨大的差異性,在嵌入式gui領(lǐng)域也不大可能產(chǎn)生像在pc機(jī)領(lǐng)域windows一支獨(dú)秀的局面,因此對(duì)于gui的開發(fā)具有十分廣闊的市場(chǎng)前景。linux擁有很多的優(yōu)良特性非常適合于嵌入式開發(fā):開放源碼,擁有豐富的軟件資源;健壯、強(qiáng)大的內(nèi)核;支持多種體系結(jié)構(gòu),包括x86、ai1m、mips等幾乎所有主流的cpu;完善的網(wǎng)絡(luò)通信、圖形和文件管理機(jī)制;支持大量的周邊硬件設(shè)備,驅(qū)動(dòng)豐富;大小功能均可定制,充分滿足嵌入式設(shè)備可定制的要求。正是由于“l(fā)inux具有這么多優(yōu)點(diǎn),使得它在嵌入式領(lǐng)域取得了長(zhǎng)足的發(fā)展
29、,因而開發(fā)基于linux的gui系統(tǒng)就顯得尤為必要 在桌面版的linux系統(tǒng)中普遍采用的gui是xwindows系統(tǒng),但顯然它相對(duì)于嵌入式系統(tǒng)來說是過于龐大了,嵌入式系統(tǒng)要求的是一個(gè)輕量級(jí)的性能可靠和可裁減的gui,因此需要重新開發(fā)適合嵌人式系統(tǒng)的gui。目前國(guó)內(nèi)外已經(jīng)推出了很多基于linux的gui產(chǎn)品,現(xiàn)在比較流行的一些gui產(chǎn)品包括minigui、micmwindov,opengui、qtembedded等,其中qtembedded屬于商業(yè)化的產(chǎn)品,其他屬于開源軟件。5嵌入式界面開發(fā)框架 5.1linux和minigui版本描述本嵌入式界面的開發(fā)選擇開放源碼的linux 操作系統(tǒng)作為平臺(tái)
30、,采用minigui作為圖形用戶界面支持系統(tǒng)。其相應(yīng)的版本號(hào)如下:linux操作系統(tǒng)的版本為redhat linux2.4.20 。gnu c編譯器版本為3.2.2。圖形用戶界面支持系統(tǒng)minigui的函數(shù)庫源代碼libminigui版本為1.3.3。minigui所使用的資源文件minigui-res版本為1.3.3.minigui的上述文件代碼可在網(wǎng)站上下載到。由于本次工作只做lmtgui的部分開發(fā),即不涉及l(fā)mtgui在相應(yīng)硬件平臺(tái)上的移植和測(cè)試,所以在此不介紹開發(fā)相應(yīng)系統(tǒng)的硬件平臺(tái)。5.2lmagui在pc機(jī)上的開發(fā)由于在嵌入式系統(tǒng)環(huán)境下調(diào)試m
31、inigui程序比較復(fù)雜,為了縮短開發(fā)周期,可以先將程序在pc機(jī)上調(diào)試,成功后加載進(jìn)嵌入式linux的文件系統(tǒng)即可。由于不涉及l(fā)mtgui的移植,在此將不會(huì)介紹移植過程。第一:設(shè)置minigui運(yùn)行環(huán)境。為了運(yùn)行minigui,需要激活系統(tǒng)的framebuffer設(shè)備驅(qū)動(dòng)程序。由于安裝的linux系統(tǒng)是redhat linux2.4.20,且在安裝red hat 時(shí)使用了grub作為引導(dǎo)裝載器,其激活framebuffer過程如下:首先需要修改/boot/grub/menu.lst文件,在第一個(gè)出現(xiàn)red hat linux(2.4.20)的地方,把它修改為red hat linux(2.4.
32、20,framebuffer) 。并在kernel打頭的一行添加vga=0x0317.然后重新開機(jī)即可。第二:建立minigui運(yùn)行環(huán)境。要開發(fā)minigui程序,首先要建立其開發(fā)環(huán)境。minigui圖形系統(tǒng)由函數(shù)庫、資源及演示程序組成。minigui的函數(shù)庫部分由libminigui,libmgext以及l(fā)ibvcongui三個(gè)函數(shù)庫組成。minigui的資源部分包括運(yùn)行minigui應(yīng)用程序需要的基本字體、圖標(biāo)、位圖以及鼠標(biāo)光標(biāo)等。安裝上述源文件的過程如下所述。首先安裝minigui的資源文件。第一步,使用tar命令解開minigui-res-1.3.3.tar.gz,使用如下命令:$ta
33、r zxf minigui-res-1.3.3.tar.gz。該命令將建立minigui-res-1.3.3/目錄。第二步,用cd命令改變到新建的目錄中,然后以超級(jí)用戶的身份運(yùn)行make install命令:#make install。其次配置和編譯minigui.第一步,使用tar解開libminigui-1.3.3.tar.gz到新的目錄。該命令將建立libminigui-1.3.3/目錄。第二步,改變到這一新目錄,然后運(yùn)行./configure:,命令如下$./configure.第三步,運(yùn)行下面命令編譯并安裝minigui:$make。第四步,修改/etc/ld.so.conf文件,將
34、/usr/local/lib目錄添加到該文件的最后一行。第五步,安裝minigui之后,運(yùn)行下面的命令更新共享函數(shù)庫系統(tǒng)的緩存:#ldconfig。第三:圖形用戶界面的開發(fā)。圖形用戶界面的開發(fā)流程圖如圖5-1所示。(1)頭文件程序?qū)崿F(xiàn)時(shí),開始是包含的頭文件。在本次開發(fā)的程序中包含的minigui圖形包的頭文件有:common.h包括minigui常用的宏及數(shù)據(jù)類型的定義;minigui.h包括全局的和通用的接口函數(shù)及雜項(xiàng)函數(shù)的定義;window.h包含了和窗口有關(guān)的宏、數(shù)據(jù)類型、數(shù)據(jù)結(jié)構(gòu)以及函數(shù)接口聲明;gdi.h包含了minigui繪圖函數(shù)的接121定義;contro1.h包含了libmin
35、igui中所有內(nèi)建控件的接口定義;(2)程序入口點(diǎn)minigui的程序人口點(diǎn)是miniguimain函數(shù),系統(tǒng)初始化后就會(huì)自動(dòng)找到該函數(shù)。再通過調(diào)用initdialogbox (hwnd_desktop)函數(shù)初始化對(duì)話框。本程序使用對(duì)話框模板來創(chuàng)建對(duì)話框和對(duì)話框中的控件。在minigui中,對(duì)話框是一類特殊的主窗口,這種主窗口只關(guān)注與用戶的交互向用戶提供輸出信息,但更多的是用于用戶輸入。對(duì)話框可以理解為子類化后的主窗口類。在minigui中,用兩個(gè)結(jié)構(gòu)ctrldata和dlgtemplate來表示對(duì)話框模板(minigui/window.h)【1】. ctrldata用來定義控件,dlgtem
36、plate用來定義對(duì)話框本身。程序入口點(diǎn)miniguimain調(diào)用initdialogbox (hwnd_desktop)函數(shù)定義對(duì)話框各控件建立對(duì)話框及控件定義對(duì)話框定義對(duì)話框回調(diào)函數(shù)對(duì)話框與控件,控件與控件間消息傳遞程序退出 圖5-1 圖形用戶界面開發(fā)流程圖 (3)對(duì)話框回調(diào)函數(shù)在定義完對(duì)話框模板數(shù)據(jù)之后,需要定義對(duì)話框的回調(diào)函數(shù),并調(diào)用dialogboxindirecparam函數(shù)建立對(duì)話框。在程序中根據(jù)需要一共建立了14個(gè)控件。包括6個(gè)靜態(tài)框,5個(gè)按鈕,1個(gè)進(jìn)度條,1個(gè)旋鈕數(shù)字框和1個(gè)定時(shí)器。對(duì)話框回調(diào)函數(shù)是一類特殊的主窗口回調(diào)函數(shù)。在程序中它需要處理如下消息:msg_initdial
37、og消息:該消息是在minigui根據(jù)對(duì)話框模板建立對(duì)話框以及控件之后,發(fā)送到對(duì)話框回調(diào)函數(shù)的。該消息的lparam參數(shù)包含了由dialogboxindirectparam函數(shù)的第四個(gè)參數(shù)傳遞到對(duì)話框回調(diào)函數(shù)的值。msg_timer消息:創(chuàng)建定時(shí)器時(shí)指定的窗口會(huì)收到msg_timer消息,并傳遞到期的定時(shí)器標(biāo)號(hào)。定時(shí)器消息是優(yōu)先級(jí)最低的消息類型,只有消息隊(duì)列中不存在其他類型的消息時(shí),系統(tǒng)才會(huì)去檢查是否有定時(shí)器的到期。在程序中用定時(shí)器來確定加熱的時(shí)間長(zhǎng)短,并在進(jìn)度條中顯示出來。msg_command消息:當(dāng)命令按鈕被擊中后,從該按鈕發(fā)送一個(gè)消息到窗口或其對(duì)話框。其中按鈕標(biāo)識(shí)符id= loword
38、(wparam),通知消息的代碼為:code = hiword(wparam)。在程序中因?yàn)橛卸鄠€(gè)按鈕控件,所以要多次用到該消息。(4)程序的退出在程序中,當(dāng)單擊exit按鈕時(shí),會(huì)按順序調(diào)用函數(shù)destroyallcontrols (hdlg)和函數(shù)enddialog (hdlg, wparam)來結(jié)束程序。destroyallcontrols銷毀對(duì)話框中的所有子控件,enddialog用來銷毀對(duì)話框本身。 6lmagui描述 lmtgui作為一種激光醫(yī)療設(shè)備上的嵌入式界面,非常小,性能好,效率比較高,占用的資源少。它一共分為6個(gè)子界面,如圖6-1所示。在進(jìn)入系統(tǒng)界面的正中間有一行提示語言:“
39、welcome to system!”在其左下方有“next”按鈕,通過單擊此按鈕可進(jìn)入預(yù)熱時(shí)間設(shè)置界面。“next”按鈕通過隱藏進(jìn)入系統(tǒng)界面中的子控件,顯示下一界面的子控件來完成程序賦予它的功能。其相應(yīng)的源代碼如下所示。case idc_com1: /*show idc_static2,idc_data,idc_static3; hide idc_static1,idc_com1.*/senddlgitemmessage(hdlg, idc_data, cb_setspinrange, 1, 20); /*set the range 1-20 of idc_data*/ senddlgite
40、mmessage(hdlg, idc_data, cb_setspinvalue, 5, 0); hwnd1=getdlgitem (hdlg, idc_static1);hwnd2=getdlgitem (hdlg, idc_com1);hwnd3=getdlgitem (hdlg, idc_static2); hwnd4=getdlgitem (hdlg, idc_com2);hwnd5=getdlgitem (hdlg, idc_data);hwnd6=getdlgitem (hdlg, idc_static3); if (hwnd1&hwnd2&hwnd3&hwnd4&hwnd5&hw
41、nd6)destroywindow (hwnd1); /*showwindow(hwnd1,sw_hide);*/ destroywindow (hwnd2); /*hwnd guiapi getdlgitem (hwnd hdlg, int niddlgitem)*/ showwindow(hwnd3,sw_show); showwindow(hwnd4,sw_show); showwindow(hwnd5,sw_show); showwindow(hwnd6,sw_show); elsereturn 0; break;預(yù)熱時(shí)間設(shè)置界面預(yù)熱過程等待界面退出系統(tǒng)界面進(jìn)入系統(tǒng)界面正常工作界面工作
42、暫停界面 圖6-1 lmagui系統(tǒng)界面進(jìn)入系統(tǒng)的界面圖如圖6-2所示: 圖6-3 預(yù)熱時(shí)間設(shè)置界面 圖6-2 系統(tǒng)進(jìn)入界面 在第二個(gè)預(yù)熱時(shí)間設(shè)置界面(如圖6-3)中一共有4個(gè)控件,它們分別是預(yù)熱時(shí)間設(shè)置提示語言,預(yù)熱時(shí)間設(shè)置框,確定按鈕以及退出按鈕。提示語言代碼和按鈕的代碼基本與前面的相同,下面著重列出預(yù)熱時(shí)間設(shè)置框接受用戶輸入的時(shí)間的代碼:(在用戶單擊確定按鈕時(shí),處理預(yù)熱時(shí)間設(shè)置框接受到的數(shù)據(jù),并設(shè)置好定時(shí)器)min = senddlgitemmessage(hdlg, idc_data, cb_getspinvalue, 0, 0);/*獲得用戶所設(shè)置的預(yù)熱時(shí)間,單位為分鐘*/setti
43、mer(hdlg,idc_timer,500); /*給對(duì)話框發(fā)一次定時(shí)消息*/holdcursor = setdefaultcursor (getsystemcursor (idc_wait);/*設(shè)置鼠標(biāo)狀態(tài)為忙*/第三個(gè)界面為預(yù)熱過程等待界面,在等待過程中,選用進(jìn)度條作為直觀的已等待時(shí)間顯示,讓用戶的等待不至于沒有期望,減少用戶對(duì)系統(tǒng)的焦慮。進(jìn)度條控件的顯示參數(shù)設(shè)置如下: progressbar, ws_child|pbs_notify, 10, 40, 380, 20, idc_progress, null, 0, 其相應(yīng)的操作行為代碼如下:sendmessage(hwnd1,pbm_
44、setpos,0, 0);/*hwnd1為進(jìn)度條的操作句柄,該函數(shù)設(shè)置進(jìn)度條的起始位置為0,進(jìn)度方向?yàn)榍斑M(jìn)方向 */senddlgitemmessage(hdlg, idc_progress, pbm_deltapos, 5, 0);/*設(shè)置進(jìn)度條的進(jìn)行過程進(jìn)度,定時(shí)器每發(fā)送一次定時(shí)消息,進(jìn)度加5*/ senddlgitemmessage(hdlg, idc_progress, pbm_setrange,1, min*60);/*,設(shè)置進(jìn)度條的進(jìn)度范圍,從1到min*60,min為用戶設(shè)置的時(shí)間*/當(dāng)用戶設(shè)置的時(shí)間到達(dá)時(shí),即進(jìn)度條到達(dá)最大值時(shí),系統(tǒng)會(huì)自動(dòng)進(jìn)入正常工作狀態(tài)界面。正常工作界面主要是
45、為了表明系統(tǒng)正在進(jìn)行工作,并且工作正常。若想停止系統(tǒng)工作,可單擊此界面下的“stop”按鈕,則系統(tǒng)會(huì)進(jìn)入工作暫停界面。通過單擊“exit”按鈕,可進(jìn)入最后一個(gè)界面,即退出系統(tǒng)界面,在該界面有“thanks using the system!”作為系統(tǒng)退出界面的提示語言。在退出界面時(shí)會(huì)做一些善后工作,先處理一些系統(tǒng)的信號(hào),并銷毀所有子控件和對(duì)話框,讓系統(tǒng)穩(wěn)定退出。7結(jié)論在開發(fā)應(yīng)用于激光醫(yī)療設(shè)備的嵌入式系統(tǒng)界面lmagui中,首先熟悉了linux操作系統(tǒng),它是一種可配置的,穩(wěn)定性好,源碼開放的系統(tǒng),非常適合于嵌入式系統(tǒng)的開發(fā)。用c語言寫成的minigui采取的是事件加消息的驅(qū)動(dòng)機(jī)制,非常接近于面向
46、對(duì)象的編程語言。由于它本身小巧的特點(diǎn),常用于中小型系統(tǒng)的嵌入式界面開發(fā)。在開發(fā)過程中不但熟悉了這些軟件,還掌握了開發(fā)嵌入式界面的基本流程。激光醫(yī)療設(shè)備的操作比較簡(jiǎn)單,這使得lmagui的界面也相對(duì)簡(jiǎn)潔。在開發(fā)過程中,主要用模板對(duì)話框來建立系統(tǒng)界面的,通過控件之間以及控件與對(duì)話框之間的消息發(fā)送接收來更新界面,驅(qū)動(dòng)硬件。minigui的網(wǎng)站上提供了許多非常好的例子,在設(shè)計(jì)軟件,編寫代碼過程中借鑒了其中不少的經(jīng)驗(yàn)。總的說來,lmagui基本符合用戶的愿望,達(dá)到了操作需求。當(dāng)然,在開發(fā)的lmagui中有好多地方還值得去改進(jìn),其界面雖然比較簡(jiǎn)潔,但是有時(shí)顯的過于單調(diào),如果改進(jìn),可以采用皮膚界面來編寫,那
47、樣界面表現(xiàn)會(huì)更豐富一些。由于時(shí)間較短,界面在中文支持上遇到了困難,若進(jìn)一步開發(fā),為了使系統(tǒng)應(yīng)用更加廣泛,最好讓其支持中文字符。8參考文獻(xiàn)【1】 minigui編程指南(v1.3.x) 北京飛漫軟件技術(shù)有限公司 2003【2】 minigui用戶手冊(cè)(v1.3.x) 北京飛漫軟件技術(shù)有限公司 2003【3】美 ben shneiderman catherine plasiant 著 張國(guó)印 李健利 等譯 李健利 審校 用戶界面設(shè)計(jì)有效的人機(jī)交互策略(第四版) 北京:電子工業(yè)出版社 2003【4】鄭燕軍 linux介紹及其在企業(yè)網(wǎng)絡(luò)中的應(yīng)用 網(wǎng)絡(luò)通訊與安全 2006【5】夏琳,張光顯,張麗娟 基于
48、linux操作系統(tǒng)的嵌人式gui及其設(shè)計(jì)改進(jìn) 現(xiàn)代電子技術(shù)應(yīng)用第21期 2004 【6】魏勇明 我與minigui的不了情 開放系統(tǒng)世界 2004【7】解超 李善平 基于linux的嵌入式gui 計(jì)算機(jī)工程與應(yīng)用 no.135 2003 【8】安成錦,孫茂陽,李坡 基于嵌入式linux系統(tǒng)的minigui圖形界面開發(fā) 現(xiàn)代電子技術(shù)第20期 20059致謝這篇論文是在高平安高老師的指導(dǎo)下完成的。在論文完成之際,首先向高老師表示深深地感謝。在作畢業(yè)論文期間,高老師在電腦的提供、課題的擬定、問題的解決、論文的修改等方面都給予我不諱地教導(dǎo)與幫助,不僅為我提供了寬松的學(xué)習(xí)環(huán)境,更培養(yǎng)了我獨(dú)立從事科研的能
49、力。此外還要感謝跟我同做一個(gè)課題方向的何君同學(xué),他給我提供了很多幫助和有益的建議。還要感謝物理系的所有老師們,感謝您們這四年來對(duì)我的培養(yǎng)和關(guān)心照顧。你們的諄諄教誨將深深地影響我的一生。感謝物理系2003級(jí)的所有同學(xué)們,在這四年里,在生活和學(xué)習(xí)上都給了我很大的幫助。特別要感謝我們應(yīng)用物理學(xué)專業(yè)的全體同學(xué)們。最后,感謝我的舍友,以及曾經(jīng)關(guān)心幫助過我的所有人。 10附錄程序源代碼附錄一:程序源代碼 基于minigui的嵌入式界面開發(fā) 應(yīng)用物理專業(yè) 羅文剛 20031100117 指導(dǎo)老師 高平安 摘要 minigui是由北京飛漫軟件技術(shù)有限公司主持的自由軟件,遵循gpl條款發(fā)布。它是一種面向?qū)崟r(shí)嵌入
50、式系統(tǒng)的輕量級(jí)圖形用戶界面支持系統(tǒng)。本文基于嵌入式圖形中間件minigui在linux操作系統(tǒng)平臺(tái)上開發(fā)出了一種用于激光醫(yī)療設(shè)備的圖形化界面lmagui(lazer medical apparatus gui)。該界面包括了進(jìn)入系統(tǒng)到中間過程的操作到最后推出界面的一般操作流程。lmagui旨在為該醫(yī)療設(shè)備提供一種簡(jiǎn)潔,操作方便,穩(wěn)定性好的界面。然后給出了相應(yīng)比較重要的源代碼。在結(jié)論中給出了嵌入式gui的一些開發(fā)的基本原則以及在開發(fā)過程中的一些不足之處。abstract minigui is the free software from beijing freeman software tech
51、nology ltd and published following the provisions of the gpl terms .it is a real-time embedded system for lightweight graphical user interface support systems.based on the embedded graphics middleware minigui and the linux operating system platform developes a graphical interface -lmagui (lazer medi
52、cal apparatus gui) for a laser medical equipment . the interface includes access to the intermediate process of the operation of the interface to the final launch of the general operating procedures. lmagui for medical equipment designed to provide a simple, easy operation and good stability interfa
53、ce. then given the fairly important the source code. in its conclusions, given the basic principles in the embedded gui development and some deficiencies in this process.關(guān)鍵詞:minigui,gui,linux,嵌入式系統(tǒng) 目錄1引言22嵌入式gui概述42.1嵌入式gui的發(fā)展42.2嵌入式gui的技術(shù)特點(diǎn)43開發(fā)工具minigui概述53.1minigui的介紹53.2minigui的主要特點(diǎn)53.3minigui的體系
54、結(jié)構(gòu)64linux操作系統(tǒng)概述74.1linux的背景介紹74.2linux的發(fā)展?fàn)顩r84.3linux的技術(shù)優(yōu)勢(shì)84.3linux的不利因素94.4嵌入式linux上的gui系統(tǒng)發(fā)展概況95嵌入式界面開發(fā)框架105.1linux和minigui版本描述105.2lmagui在pc機(jī)上的開發(fā)116lmagui描述137結(jié)論178參考文獻(xiàn)179致謝181引言近年來,隨著軟硬件資源的成熟與完善,嵌入式微處理器的數(shù)據(jù)處理能力從4位,8位,16位發(fā)展到現(xiàn)在廣泛應(yīng)用的32位,甚至64位;嵌入式系統(tǒng)軟件的發(fā)展也經(jīng)歷功能單一的專用監(jiān)控系統(tǒng),具有一定開放性的專用系統(tǒng)內(nèi)核,到現(xiàn)在真正意義上的操作系統(tǒng);嵌入式軟件
55、開發(fā)也從匯編語言,高級(jí)語言,到現(xiàn)在在硬件抽象層基礎(chǔ)上,面向開發(fā)人員無差別的開發(fā)環(huán)境。嵌入式系統(tǒng)已經(jīng)廣泛滲透到人們的工作、生活中,從家用電器、手持通訊設(shè)備、信息終端、醫(yī)療設(shè)備、儀器儀表、汽車、航天航空、軍事裝備、制造工業(yè)、過程控制等。隨著嵌入式系統(tǒng)的廣泛應(yīng)用和發(fā)展,促使嵌入式系統(tǒng)對(duì)良好gui系統(tǒng)的需求越來越迫切。嵌入式gui作為一種比較特殊的gui,在設(shè)計(jì)過程中也遵循設(shè)計(jì)一般gui遵循的設(shè)計(jì)準(zhǔn)則。如美國(guó)軍方標(biāo)準(zhǔn)(1999)提出的如下人機(jī)工程學(xué)設(shè)計(jì)準(zhǔn)則也非常適合用于嵌入式gui的設(shè)計(jì):滿足操作、控制和維護(hù)人員對(duì)性能的要求將對(duì)操作人員的技能要求、知識(shí)要求和訓(xùn)練時(shí)間要求降到最低達(dá)到人與設(shè)備、軟件組合的
56、可靠性在系統(tǒng)中和系統(tǒng)時(shí)間逐步建立一種設(shè)計(jì)標(biāo)準(zhǔn)顯然在性能要求和可靠性方面,嵌入式gui的要求更加強(qiáng)烈。而運(yùn)用界面設(shè)計(jì)的8條黃金規(guī)則中的以下幾條對(duì)嵌入式gui的開發(fā)過程也是很有幫助的,尤其是當(dāng)嵌入式gui越來越龐大,越來越復(fù)雜的時(shí)候,這些規(guī)則顯然必不可少。盡可能保證一致。類似的操作環(huán)境應(yīng)提供一致的操作系列;相同的術(shù)語應(yīng)該用在提示、菜單和幫助里;顏色、布局、大小寫、字體等應(yīng)當(dāng)自始至終保持一致。2提供信息豐富的反饋。對(duì)每個(gè)用戶操作都應(yīng)有對(duì)應(yīng)的系統(tǒng)反饋信息。對(duì)于常用的或較次要的操作,反饋信息可以很簡(jiǎn)短;而對(duì)于不常用的但重要的操作,反饋信息就應(yīng)豐富一些。3預(yù)防錯(cuò)誤。應(yīng)當(dāng)盡可能地設(shè)計(jì)不讓用戶犯嚴(yán)重錯(cuò)誤的系統(tǒng)。錯(cuò)誤的操作應(yīng)該讓系統(tǒng)狀態(tài)保持不變,或者界面應(yīng)當(dāng)提供關(guān)于恢復(fù)狀態(tài)的說明。嵌入式系統(tǒng)gui的基本要求包括:輕型、占用資源少、高性能、高可靠性、可配置等特點(diǎn)。因有好多相關(guān)論文闡述這些內(nèi)容,在此不再詳述。近年來,由于li
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲合伙的合同范本
- 標(biāo)準(zhǔn)簡(jiǎn)單房租合同范本
- 娛樂選秀合同范本
- 中考古文整合復(fù)習(xí)主題五治國(guó)類
- 年度工作回顧報(bào)告
- (二診)雅安市高2022級(jí)高三第二次診斷性考試英語試卷(含標(biāo)準(zhǔn)答案)
- 2025合同樣本參考模板
- 2025杭州市租賃合同范本
- 2025版租賃合同范本2
- 獄內(nèi)偵查學(xué)知到課后答案智慧樹章節(jié)測(cè)試答案2025年春山東政法學(xué)院
- 縱隔腫瘤護(hù)理查房
- 眼鏡店銷售培訓(xùn)課件
- 開曼群島公司法2024版中文譯本(含2024年修訂主要內(nèi)容)
- 2024年4月自考00150金融理論與實(shí)務(wù)試題及答案
- 問題解決過程PSP-完整版
- 2024年海南發(fā)展控股有限公司招聘筆試參考題庫含答案解析
- FZ/T 63045-2018芳綸纖維繩索
- 結(jié)婚登記申請(qǐng)表
- 團(tuán)結(jié)就是力量曲譜和歌詞
- 裝修行業(yè)資源整合主材合作協(xié)議
- 動(dòng)力電計(jì)量網(wǎng)絡(luò)圖. - 能源計(jì)量網(wǎng)絡(luò)圖范例三
評(píng)論
0/150
提交評(píng)論