久久久久久久麻豆,中日韩av在线,麻豆av在线免费,中文字幕二区三区,欧美日韩视频一区二区,亚洲欧美日韩在线一区,国产无毒不卡

嵌入式Linux下MiniGUI的軟件開發(fā)


引 言
    近年來,隨著軟硬件資源的成熟與完善,嵌入式技術(shù)越來越和人們的生活緊密相關(guān),功能單一的公用電話也開始向嵌入式多媒體信息終端轉(zhuǎn)型。對(duì)嵌入式系統(tǒng)的研究,在全球激起了人們極大的興趣。 
    選擇開放源碼的Linux操作系統(tǒng)開發(fā)新一代嵌入式產(chǎn)品已經(jīng)成為其中新的技術(shù)熱點(diǎn)。在本系統(tǒng)中,采用了MontaVista Linux系統(tǒng)。它提供了很多處理器、目標(biāo)板和主機(jī)環(huán)境的組合,有一套完整的輔助開發(fā)工具,便于嵌入式系統(tǒng)專用人員設(shè)計(jì)、開發(fā)和發(fā)布應(yīng)用程序。
    與此同時(shí),配備一個(gè)優(yōu)秀的圖形用戶界面,使產(chǎn)品和用戶能進(jìn)行友善可靠的交互也已成為開發(fā)工作中非常緊迫的要求。本系統(tǒng)中使用的MiniGUI就是嵌入式Linux系統(tǒng)下一個(gè)輕量級(jí)的圖形用戶界面支持系統(tǒng),目前已比較成熟,并已  
被用到很多項(xiàng)目的實(shí)際開發(fā)中。
    1、嵌入式Linux系統(tǒng)
    嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),并且軟硬件可裁減。適用于用戶系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。從20世紀(jì)80年代末開始,陸續(xù)出現(xiàn)了一些嵌入式操作系統(tǒng),如VxWorks、pSOS、WindowsCE、Linux等。其中免費(fèi)源代碼的Linux操作系統(tǒng)因其內(nèi)核小、支持多種硬件平臺(tái)、可裁減性好等顯著優(yōu)點(diǎn),得到了廣泛的關(guān)注,為嵌入式系統(tǒng)開發(fā)提供了一個(gè)極有力的選擇。
    MontaVista Linux
    目前,已有多家公司推出了嵌入式Linux發(fā)行版本。本系統(tǒng)中采用的是應(yīng)用全球三大嵌入式Linux供應(yīng)商之一MontaVista Software公司的最新版MontaVista Linux3.0。它使用的是最標(biāo)準(zhǔn)Linux內(nèi)核2.4.2,是針對(duì)嵌入式設(shè)備度身定制的實(shí)時(shí)的、專業(yè)的嵌入式操作系統(tǒng)??紤]到嵌入式設(shè)備處理器、存儲(chǔ)器資源有限的情況,在不減少新內(nèi)核對(duì)嵌入設(shè)備有利特性的基礎(chǔ)上,MontaVista公司對(duì)內(nèi)核部分進(jìn)行了高度裁減、配置,使MontaVista Linux 3.0。它使用的是標(biāo)準(zhǔn)Linux內(nèi)核2.4.2,是針對(duì)嵌入式設(shè)備度身定制的實(shí)時(shí)的、專業(yè)的嵌入式操作系統(tǒng)??紤]到嵌入式設(shè)備處理器、存儲(chǔ)器資源有限的情況,在不減少新內(nèi)核對(duì)嵌入設(shè)備有利特性的基礎(chǔ)上,MontaVista公司對(duì)內(nèi)核部分進(jìn)行了高度裁減、配置,使MontaVista Linux 3.0系統(tǒng)性能具備穩(wěn)定、突出等特點(diǎn),同時(shí)還為MontaVista Linux 3.0配備了一個(gè)由優(yōu)先級(jí)驅(qū)動(dòng)的實(shí)時(shí)調(diào)度器(RealTime Scheduler),從而使客戶對(duì)實(shí)時(shí)性的要求得到更大的滿足。
    2、軟件開發(fā)平臺(tái)
    MontaVista Software公司在嵌入式Linux發(fā)行版中已提供了系統(tǒng)開發(fā)所需的環(huán)境:
    a)內(nèi)核和文件系統(tǒng)工具——目標(biāo)配置工具(TCT)、庫優(yōu)化工具(LOT);
    b)交叉開發(fā)工具——GNU GCC/C++編譯器、GDB源碼調(diào)試器、DDD圖形界面調(diào)試器等;
    c)實(shí)時(shí)性能工具和分析工具。
    系統(tǒng)內(nèi)核則通過Abatron公司的BDI2000調(diào)試器進(jìn)行測(cè)試,內(nèi)核運(yùn)行于PowerPC體系的CPU上。該目標(biāo)系統(tǒng)已實(shí)現(xiàn)以太網(wǎng)接口、串口、USB接口,LCD也能正常顯示。
    3、系統(tǒng)框架結(jié)構(gòu)
    應(yīng)用程序是最上層的開發(fā),其交互界面直接通過MiniGUI圖形系統(tǒng)的API接口函數(shù)實(shí)現(xiàn)。MiniGUI屏蔽了對(duì)底層顯示、輸入設(shè)備編程的細(xì)節(jié),使程序員更能專注于信息終端界面的特色上,從而縮短了編程投入時(shí)間。MiniGUI圖形率編譯安裝后一般以庫的形式存放在操作系統(tǒng)/usr/lib文件目錄下。
    4、MiniGUI的移植
    (1)MiniGUI特點(diǎn)
    MiniGUI是由魏永明主掛的一個(gè)自由軟件項(xiàng)目,現(xiàn)完全遵循GPL(General Public License)條款的純自由軟件,可以運(yùn)行在任何一種具有POSIX線程支持的POSIX兼容系統(tǒng)上。MiniGUI在體系結(jié)構(gòu)上有許多獨(dú)特之處。它的主要特色有:
    a)提供了完備的多窗口機(jī)制;
  
    b)對(duì)話框和預(yù)定義的控件類;
    c)消息傳遞機(jī)制;
    d)多字符集和多字體支持;
    e)全拼、五筆等漢字輸入法支持;
    f)BMP、GIF、JPEG等常見圖像文件的支持;
    g)小巧,包含全部功能的庫文件大小為300KB左右;
    h)可配置,可根據(jù)項(xiàng)目需求進(jìn)行定制配置和編譯;
    i)可移植性好。 
 
    (2)MiniGUI的移植過程
    要使MiniGUI運(yùn)行在入式目標(biāo)板PPC上,需在MontaVista Linux 3.0的交叉開發(fā)環(huán)境下移植該圖形包。
    MiniGUI 1.2.6版發(fā)布時(shí)含資源文件壓縮包minigui-res1.2.6.tar.gz、庫文件壓縮包libminigui-1.2.6.tar.gz和一個(gè)綜合示范程序mde-1.2.6.tar.gz。
    在開發(fā)主機(jī)上安裝好MontaVista Linux 3.0后,把主機(jī)NFS服務(wù)的輸出目錄配置為硬盤路徑/opt/hardhat/devkit/ppc/8xx/target。目標(biāo)板運(yùn)行起來后,會(huì)自動(dòng)掛載到該目錄下。
    將該目標(biāo)作為當(dāng)前路徑安裝MiniGUI。
    打開資源文件壓縮包,執(zhí)行如下命令
    tar-xvf minigui-res-1.2.6.tar.gz
    會(huì)自動(dòng)在當(dāng)前路徑下生成minigui-res目錄。在該目錄下可以看到config.linux文件,修改其中TOPDIR=NONE一項(xiàng),使TOPDIR=/opt/hardhat/devkit/ppc/8xx/target,此處的路徑對(duì)應(yīng)的  
就是前面設(shè)置的NFS輸出目錄。運(yùn)行安裝命令make install即可。
    編譯庫文件壓縮包libminigui-1.2.6.tar.gz時(shí),解壓步驟如上。不同的是須在當(dāng)前目錄下運(yùn)行configure命令對(duì)庫文件進(jìn)行移植的配置。命令行如下:
    CC=ppc_8xx-gcc./configure
    ——build=i386-linux
    ——target=ppc-unknown-linux
    ——prefix=/opt/hardhat/devkit/ppc/8xx/target
    ——libdir=/opt/hardhat/devkit/ppc/8xx/target/usr/lib
    ——includedir=/opt/hardhat/devkit/ppc/8xx/target/usr/include
    ——enable-debug
    其中,ppc_8xx-gcc是針對(duì)PowerPC體系結(jié)構(gòu)目標(biāo)的編譯器,是MontaVista Linux提供的;build是指執(zhí)行編譯的機(jī)器,這里是x86的開發(fā)主機(jī);target是運(yùn)行該編譯器所產(chǎn)生目標(biāo)文件的機(jī)器;prefix是所有安裝路徑的前綴;libdir是庫文件安裝路徑;includedir是頭文件安裝路徑;enable-debub指編譯時(shí)需包含調(diào)試信息。
    配置完,運(yùn)行編譯安裝命令。
    綜合示范程序mde-1.2.6.tar.gz的安裝方法和庫文件類似的。
    此時(shí),啟動(dòng)目標(biāo)板,在MontaVisa Linux的控制程序下,進(jìn)入/mde-1.2.6/mginit目錄,輸入命令行./③mginit運(yùn)行MiniGUI的這個(gè)后臺(tái)服務(wù)器程序,出現(xiàn)一個(gè)有小企圖片的窗口管理器,并在左上角弱出一個(gè)控制臺(tái)程序的子窗口。在該控制臺(tái)下,可以運(yùn)行mde中其它的示范例子。至此,MiniGUI圖形包在目標(biāo)板上移植安裝完成。
    5、信息終端軟件開發(fā)
    本系統(tǒng)中采用了MiniGUI專為嵌入式系統(tǒng)開發(fā)的Lite版本。它基于客戶/服務(wù)器(C/S)體系,在服務(wù)器和客戶之間傳遞輸入設(shè)備數(shù)據(jù),以及客戶和服務(wù)器之間的某些語法 和響應(yīng)數(shù)據(jù)。
    在該信息終端軟件中,就根據(jù)這種結(jié)構(gòu)特點(diǎn),設(shè)計(jì)了一個(gè)服務(wù)器程序和兩個(gè)客戶進(jìn)程。服務(wù)器始終運(yùn)行后臺(tái),記錄有關(guān)系統(tǒng)信息,如系統(tǒng)計(jì)時(shí)、用戶刷卡余額等,通過MiniGUI提供的Socket機(jī)制通信將數(shù)據(jù)傳給下面的客戶程序。主界面客戶進(jìn)程給用戶提供了完整的操作體驗(yàn),用戶可以通過菜單選擇打電話、瀏覽信息等功能。另一客戶進(jìn)程則是廣告屏保,在無人使用的間隙時(shí)間里,可以動(dòng)態(tài)顯示一些精彩的畫面,實(shí)現(xiàn)商業(yè)價(jià)值或公益宣傳。下面分別進(jìn)行介紹。
(1)信息終端客戶程序
    該信息終端主體界面客戶程序在MiniGUI服務(wù)器的控制臺(tái)程序下打開,彈出的是信息終端的主菜單,顯示了電話、信息查詢、城市交通、新聞專欄等板塊。
    程序?qū)崿F(xiàn)時(shí),開始是包含的頭文件。
    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函數(shù)和控件還需包括gdi.h、control.h

COPYRIGHT(C) 2011 廈門永宏亞得機(jī)電科技有限公司版權(quán)所有(閩ICP備05025945號(hào)) ALL RIGHTS RESERVED?

電話: 0592-5190891 傳真: 0592-5190720 E-Mail: E-mail:yade8895@163.com
地址: 廈門市海滄區(qū)興港六里17號(hào)2607室 郵編:361009 聯(lián)系人:翟先生