【正文】
該命令將建立 。 首先安裝 MiniGUI 的資源文件。 MiniGUI 的資源部分包括運(yùn)行 MiniGUI 應(yīng)用程序需要的基本字體、圖標(biāo)、位圖以及鼠標(biāo)光標(biāo)等。 MiniGuI 圖形系統(tǒng)由函數(shù)庫(kù)、資源及演示程序組成。 第二:建立 MiniGUI 運(yùn)行環(huán)境。由于安裝的 Linux系統(tǒng)是 RedHat ,且在安裝 Red Hat 時(shí)使用了 GRUB 作為引導(dǎo)裝載器,其激活 FrameBuffer過(guò)程如下:首先需要修改 /boot/grub/ 文件,在第一個(gè)出現(xiàn) Red Hat Linux()的地方,把它修改為 Red Hat Linux(, FrameBuffer) 。 第一:設(shè)置 MiniGUI 運(yùn)行環(huán)境。 在 PC機(jī)上的開(kāi)發(fā) 由于在嵌入式系統(tǒng)環(huán)境下調(diào)試 MiniGUI 程序比較復(fù)雜,為了縮短開(kāi)發(fā)周期,可以先將程序在 PC機(jī)上調(diào)試,成功后加載進(jìn)嵌入式 Linux 的文件系統(tǒng)即可。圖形用戶界面支持系統(tǒng) MiniGUI 的函數(shù)庫(kù)源代碼 libminigui版本為 。其相應(yīng)的版本號(hào)如下: Linux操作系統(tǒng)的版本為 RedHat 。目前國(guó)內(nèi)外已經(jīng)推出了很多基于 Linux的 GUI 產(chǎn)品,現(xiàn)在比較流行的一些 GUI 產(chǎn)品包括 MiniGUI、 MicmWindov,OpenGUI、 QT/ Embedded 等,其中 QT/ Embedded屬于商業(yè)化的產(chǎn)品,其他屬于 開(kāi)源軟件。 Linux擁有很多的優(yōu)良特性非常適合于嵌入式開(kāi)發(fā):開(kāi)放源碼,擁有豐富的 軟件資源;健壯、強(qiáng)大的內(nèi)核;支持多種體系結(jié)構(gòu),包括 x8 AI1M、 MIPS 等幾乎所有主流的 CPU;完善的網(wǎng)絡(luò)通信、圖形和文件管理機(jī)制;支持大量的周邊硬件設(shè)備,驅(qū)動(dòng)豐富;大小功能均可定制,充分滿足嵌入式設(shè)備可定制的要求。由于嵌入式硬件性能的不斷提升,使得在嵌入式設(shè)備上運(yùn)行精美的圖形用戶界面成為可能,同時(shí)智能手持設(shè)備、智能儀表的迅猛發(fā)展也對(duì) GUI 產(chǎn)生了極大的市場(chǎng)需求。 Linux 的發(fā)展受硬件影響很大,Linux 廠商未來(lái)到底是依附于硬件廠商.還是獨(dú)立出來(lái)、讓其他的軟硬件來(lái)支持這個(gè)平臺(tái) ?選擇一個(gè)合理的商業(yè)模式成為現(xiàn) 在 Linux廠商面臨的問(wèn)題。 最后還有商業(yè)模式的問(wèn)題。由于 Linux 發(fā)行的套件很多.各個(gè)產(chǎn)品的 細(xì)節(jié)有所不同,所以,經(jīng)??赡軙?huì)碰到在 Linux 操作系統(tǒng)之間應(yīng)用軟件無(wú)法正常工作的問(wèn)題。 Linux 廠商數(shù)量近 200, Linux 的各種版本無(wú)法統(tǒng)計(jì),兼容性問(wèn)題因此凸現(xiàn)?,F(xiàn)在, Linux廠商針對(duì)系統(tǒng)漏洞發(fā)布補(bǔ)丁的反應(yīng)速度還稍嫌不夠。 ) 近年來(lái), Linux憑借其開(kāi)放源碼的特性在操作系統(tǒng)領(lǐng)域中迅速崛起,但它面 臨的問(wèn)題仍很突出:首先要解決的是安全問(wèn)題。選擇 Linux 系統(tǒng)還有一個(gè)很重要的的原因還在于成本。一旦有病毒或其它不利因素在網(wǎng)絡(luò)上漫延可以有效的制止,不會(huì)迅速傳播 (需要再修改 )。用戶不必在發(fā)現(xiàn)漏洞之后.仍要等待軟件廠商修改自己封閉的代碼后再發(fā)布補(bǔ)丁 ,而將服務(wù)器暴露在危險(xiǎn)之中。由于開(kāi)放了源代碼使大家對(duì)系統(tǒng)的工作機(jī)制可以透徹進(jìn)行的了解.發(fā)現(xiàn)其中錯(cuò)誤,并迅速糾正錯(cuò)誤。 與 Windows 相比. Linux 在穩(wěn)定性、可靠性方面的優(yōu)勢(shì)使其在近幾年得到了迅速的發(fā)展,從當(dāng)初的興趣小組、社區(qū)的形勢(shì)發(fā)展的今天的企業(yè)推進(jìn)。 2020 年, Linux 開(kāi)始介入銀行、電信等重點(diǎn) IT 行業(yè)的核 12,業(yè)務(wù)領(lǐng)域,如網(wǎng)上銀行、計(jì)費(fèi)系統(tǒng)等.說(shuō)明用戶對(duì) Linux 在企業(yè)級(jí)的應(yīng)用開(kāi)始逐步認(rèn)可。就企業(yè)級(jí)應(yīng)用而言.從第一個(gè)企業(yè)級(jí)應(yīng)用黑龍江郵政的電子化支局建設(shè)開(kāi)始, Linux在企業(yè)級(jí)的應(yīng)用方面開(kāi)始占領(lǐng)一些非關(guān)鍵行業(yè)及非核心業(yè)務(wù)領(lǐng)域。 1999 年中國(guó)才有第一家 Linux 公司.現(xiàn)在國(guó)內(nèi)成規(guī)模的 IAnUX 廠商已有二十多家。目前,除了 IBM 宣布全線產(chǎn)品支持 Linux之外,還有 HP、 SUN 等公司也都把發(fā)展 Linux作為公司的重要戰(zhàn)略之一。據(jù)市場(chǎng)研究公司 IDC 發(fā)表的最新統(tǒng)計(jì)數(shù)據(jù)顯示,用戶積極購(gòu)買(mǎi)價(jià)格更昂貴和功能更強(qiáng)大的 Linux 服務(wù)器。根據(jù)調(diào)查顯示,采用了 Linux的企業(yè)有超過(guò) 90%愿意繼續(xù)使用 Linux或者加大 Linux方面的投資。 Intel、 IBM、 HP、 Oracle、Sybase、 BEA、 CA 等國(guó)際知名軟硬件廠商紛紛支持 Linux 后. Linux 具備了架構(gòu)企業(yè)級(jí)應(yīng)用的基礎(chǔ)條件。全球很多國(guó)家 (如新加坡、德國(guó) )已表明有計(jì)劃將服務(wù)器體系結(jié)構(gòu)由 Windows 轉(zhuǎn)向 Linux 架構(gòu)。這些開(kāi)發(fā)方法對(duì)于 Linux 是獨(dú)一無(wú)二的,而且不斷被用于主流嵌入式系統(tǒng)設(shè)計(jì),同時(shí)又進(jìn)一步推動(dòng)了嵌入式系統(tǒng)設(shè)計(jì)。在開(kāi)發(fā)基于 Linux的應(yīng)用程序時(shí).使用基于 Linux的主機(jī)開(kāi)發(fā)平臺(tái)的優(yōu)點(diǎn)在于,一般情況下,對(duì)于應(yīng)用程序的主要部分必須在建立目標(biāo)硬件設(shè)備時(shí)建立和測(cè)試。嵌入式 Linux 發(fā)行版本提供基于主機(jī)的支持目標(biāo)平臺(tái)的交叉開(kāi)發(fā)。支持特定處理器結(jié)構(gòu)的內(nèi)核編譯器以及用戶摸式的應(yīng)用庫(kù)也不斷被包含在新的發(fā)行版本內(nèi)。這包括支持內(nèi)存管理、進(jìn)程、線程創(chuàng)建、進(jìn)程間通訊機(jī)制、中斷處理、基于 ROM 的文件系統(tǒng)、和基于 RAM 的文件系統(tǒng)、閃存管理以及 TCP/ IP 網(wǎng)絡(luò)。由 于 Linux 的源碼公開(kāi)性以及支持現(xiàn)代處理器的特定結(jié)構(gòu).使它又開(kāi)辟了一條通向?qū)崟r(shí)操作系統(tǒng)的光明大道。這些微處理器包括 Intel x8 ARM、 Motorola/ IBM PowerPC、西北大學(xué)學(xué)士學(xué)位論文 24 NEC MIPS和 HitachiSH 等?,F(xiàn)在最新的一個(gè)開(kāi)發(fā)趨勢(shì)就是裁減 Linux內(nèi)核以適應(yīng)嵌入式系統(tǒng)的需求。使 Linux 及時(shí)響應(yīng)計(jì)算機(jī)技術(shù)的需求,并吸收了來(lái)自于世界各地程序員的最新計(jì)算機(jī)技術(shù)。但不允許在不提供修改了源碼的情況下發(fā)布軟件。 Linux取得巨大成功的主要原因在于它采用了開(kāi)放源碼的開(kāi)發(fā)方式.并遵從 GPL許可協(xié)議。 圖 31 MiniGUI 的體系結(jié)構(gòu) 4Linux操作系統(tǒng)概述 Linux操作系統(tǒng)于 1991 年由赫爾辛基大學(xué)的 Linus Torvalds 設(shè)計(jì)?!靶 笔?MiniGUI 的特色,也是它的優(yōu)勢(shì) 的體系結(jié)構(gòu) 從整體結(jié)構(gòu)上看, MiniGUI 是分層設(shè)計(jì)的,在最底層, GAL(圖形抽象層 )和 IAL(輸入抽象層 )提供底層圖形接口以及鼠標(biāo)和鍵盤(pán)的驅(qū)動(dòng),而 Pfilread(POSIX thread)是用于提供內(nèi)核級(jí)線程支持的 c 函數(shù)庫(kù)。如果不需要某些特征.系統(tǒng)容量還可以更少。 漢字輸入法: 400K MiniGU1 支持庫(kù): 300K ~ 400K(由編譯選項(xiàng) 確定 ) MiniGUI 本身所占空間非常小,具體如下: (1)提供了完備的多窗口機(jī)制和消息傳遞機(jī)制; (2)對(duì)話框和消息框支持; (3)提供常用的控件類,包括文本框、按鈕、編輯框、列表框等; (4)界面皮膚支持.用戶可以通過(guò)皮膚支持獲得外觀非常華麗的圖形界面; (5)BMP, GIF, JPEG 等常見(jiàn)圖像文件的支持; (6)小巧,包含全部功能的庫(kù)文件為 300 kB 左右; (7)可配置,可根 據(jù)項(xiàng)目需求進(jìn)行定制配置和編譯; (8)可移植性好。 MiniGUI 是一個(gè)完全遵循 GPL 條款的純自由軟件 的主要特點(diǎn) MiniGUl 提供了完備的多窗口機(jī)制,實(shí)現(xiàn)了類 win32 的消息傳遞機(jī)制;能夠支持多字符集和多字體,以及全拼、五筆等漢字輸 入法:可以支持常見(jiàn)的圖像文件,如 BMP、 GIF、 JPEG、PCX 等;還支持 Windows的資源文件,如位圖、圖標(biāo)、光標(biāo)等。 MiniGUI 采用了類 Windows32 的 API 接口,實(shí)現(xiàn)了簡(jiǎn)化的類 Windows 98 風(fēng)格的圖形用戶界面。 桌面管理系統(tǒng) 用戶模型 窗口模型 顯示模型 操作系統(tǒng) 硬件平臺(tái) 圖 21 GUI 的層次結(jié)構(gòu) 3 開(kāi)發(fā)工具 MiniGUI 概述 的介紹 北京飛漫軟件技術(shù)有限公司開(kāi)發(fā)的 MiniGUI( 是國(guó)內(nèi)為數(shù)不多的幾大國(guó)際知名自由軟件之一。 嵌入式 GUI 構(gòu)成通常由 3 個(gè)基本層次組成:顯示模型、窗口模型和用戶模型。對(duì)嵌入式 GUI的基本要求有:圖形算法簡(jiǎn)潔、快速,占用資源少;功能強(qiáng);可靠性高;模塊結(jié)構(gòu),便于移植和定制 嵌入式 GUI 系統(tǒng)的實(shí)現(xiàn)模式有單進(jìn)程模式或多線程模式、多線程微客戶/服務(wù)器模式、多進(jìn)程客戶/服務(wù)器模式。目前基于 Linux 的嵌入式 GUI 產(chǎn)品并不是很多,而且由于各種嵌入式平臺(tái)巨大的差異性,在嵌入式 GUI 領(lǐng)域也不大可能產(chǎn)生像在 Pc機(jī)領(lǐng)域 Windows 一支獨(dú)秀的局面,因此對(duì)于 GUI的開(kāi)發(fā)具有十分廣闊的市場(chǎng)前景,將會(huì)大大促進(jìn)嵌入式 GUI 的發(fā)展。因此在嵌入式 Linux 操作系統(tǒng)上使用一個(gè)功能完備的輕量級(jí)、高性能、高可靠、可配置的 GUI系統(tǒng)成為可行的解決方案。但比 Windows CE,嵌入式 Linux的圖形操作功能相對(duì)較弱。利用源代碼開(kāi)放的Linux搭建嵌入式操作系統(tǒng),由于強(qiáng)大的網(wǎng)絡(luò)功能和低成本,近來(lái)得到了越來(lái)越多的應(yīng)用。 在本程序的開(kāi)發(fā)中采用第三中方法來(lái)開(kāi)發(fā),使用日益成熟成熟的 MiniGUI 系統(tǒng)作為開(kāi)發(fā)軟件,因?yàn)樗裱?GPL 條款,穩(wěn)定性好,可靠性強(qiáng),它本身就是為中小型界面而量身定做的,相當(dāng)小巧,并且有現(xiàn)存的的開(kāi)放源碼的嵌入式 GUI利用,可以讓開(kāi)發(fā)者集中精力開(kāi)發(fā)自己的應(yīng)用程序。 (2)某些廠商沒(méi)有將 GUI 作為一個(gè)軟件層從應(yīng)用程序中剝 離, GUI的支持邏輯由應(yīng)用程序自己負(fù)責(zé)。因此很多嵌入式系統(tǒng)需要自己特定的嵌入式GUI。 嵌入式系統(tǒng)往往是一種定制設(shè)備,它們對(duì) GUI的需求也各不相同。 近年來(lái),由于 Linux 的廣泛發(fā)展和其本身的源碼開(kāi)放,高效率以及出色的網(wǎng)絡(luò)等優(yōu)點(diǎn),使得Linux成為了開(kāi)發(fā)嵌入式系統(tǒng)的首選平臺(tái)。 嵌入式系統(tǒng) GUI 的基本要求包括:輕型、占用資源少、高性能、高可靠性、可配置等特點(diǎn)。應(yīng)當(dāng)盡可能地設(shè)計(jì)不讓用戶犯嚴(yán)重錯(cuò)誤的系統(tǒng)。對(duì)于常用的或較次要的操作,反饋信息可以很簡(jiǎn)短;而對(duì)于不常用的但重要的操作,反饋信息就應(yīng)豐富一些。 2.提供信息豐富的反饋。 盡可能保證一致。如美國(guó)軍方標(biāo)準(zhǔn)( 1999)提出的如下人機(jī)工程學(xué)設(shè)計(jì)準(zhǔn)則也非常適合用于嵌入式 GUI 的設(shè)計(jì): 滿足操作、控制和維護(hù)人員對(duì)性能的要求 將對(duì)操作人員的技能要求、知識(shí)要求和訓(xùn)練時(shí)間要求降到最低 達(dá)到人與設(shè)備、軟件組合的可靠性 在系統(tǒng)中和系統(tǒng)時(shí)間逐步建立一種設(shè)計(jì)標(biāo)準(zhǔn) 顯然在性能要求和可靠性方面,嵌入式 GUI 的要求更加強(qiáng)烈。隨著嵌入式系統(tǒng)的廣泛應(yīng)用和發(fā)展,促使嵌入式系統(tǒng)對(duì)良好 GUI 系統(tǒng)的需求越來(lái)越迫切。 Abstract MiniGUI is the free software from Beijing FreeMan Software Technology Ltd and published following the provisions of the GPL Terms .It is a realtime embedded system for lightweight graphical user interface support on the embedded graphics 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 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, Linux,嵌入式系統(tǒng) 目錄 1 引言 2 2 嵌入式 GUI 概述 4 嵌入式 GUI 的發(fā)展 4 嵌入式 GUI 的技術(shù)特點(diǎn) 4 3 開(kāi)發(fā)工具 MiniGUI 概述 5 的介紹 5 的主要特點(diǎn) 5 的體系結(jié)構(gòu) 6 4Linux操作 系統(tǒng)概述 7 7 8 8 9 嵌入式 Linux上的 GUI 系統(tǒng)發(fā)展概況 9 5 嵌入式界面開(kāi)發(fā)框架 10 Minigui版本描述 10 西北大學(xué)學(xué)士學(xué)位論文 21 在 PC機(jī)上的開(kāi)發(fā) 11 6LMAGUI 描述 13