- 相關(guān)推薦
嵌入式Linux下基于MiniGUI的信息終端軟件開(kāi)發(fā)
摘要:嵌入式系統的開(kāi)發(fā)已成為新的行業(yè)熱點(diǎn)。本文首先概述嵌入式Linux系統開(kāi)發(fā)的特點(diǎn)及其工具,然后具體描述MiniGUI圖形系統的移植、使用方法,并舉例說(shuō)明在該系統上開(kāi)始信息終端軟件的過(guò)程。該方案有很大的應用前景。引言
近年來(lái),隨著(zhù)軟硬件資源的成熟與完善,嵌入式技術(shù)越來(lái)越和人們的生活緊密相關(guān),功能單一的公用電話(huà)也開(kāi)始向嵌入式多媒體信息終端轉型。對嵌入式系統的研究,在全球激起了人們極大的興趣。
選擇開(kāi)放源碼的Linux操作系統開(kāi)發(fā)新一代嵌入式產(chǎn)品已經(jīng)成為其中新的技術(shù)熱點(diǎn)。在本系統中,采用了MontaVista Linux系統。它提供了很多處理器、目標板和主機環(huán)境的組合,有一套完整的輔助開(kāi)發(fā)工具,便于嵌入式系統專(zhuān)用人員設計、開(kāi)發(fā)和發(fā)布應用程序。
與此同時(shí),配備一個(gè)優(yōu)秀的圖形用戶(hù)界面,使產(chǎn)品和用戶(hù)能進(jìn)行友善可靠的交互也已成為開(kāi)發(fā)工作中非常緊迫的要求。本系統中使用的MiniGUI就是嵌入式Linux系統下一個(gè)輕量級的圖形用戶(hù)界面支持系統,目前已比較成熟,并已被用到很多項目的實(shí)際開(kāi)發(fā)中。
1 嵌入式Linux系統
嵌入式系統是以應用為中心,以計算機技術(shù)為基礎,并且軟硬件可裁減。適用于用戶(hù)系統對功能、可靠性、成本、體積、功耗有嚴格要求的專(zhuān)用計算機系統。從20世紀80年代末開(kāi)始,陸續出現了一些嵌入式操作系統,如VxWorks、pSOS、WindowsCE、Linux等。其中免費源代碼的Linux操作系統因其內核小、支持多種硬件平臺、可裁減性好等顯著(zhù)優(yōu)點(diǎn),得到了廣泛的關(guān)注,為嵌入式系統開(kāi)發(fā)提供了一個(gè)極有力的選擇。
(2)MontaVista Linux
目前,已有多家公司推出了嵌入式Linux發(fā)行版本。本系統中采用的是應用全球三大嵌入式Linux供應商之一MontaVista Software公司的最新版MontaVista Linux3.0。它使用的是最標準Linux內核2.4.2,是針對嵌入式設備度身定制的實(shí)時(shí)的、專(zhuān)業(yè)的嵌入式操作系統?紤]到嵌入式設備處理器、存儲器資源有限的情況,在不減少新內核對嵌入設備有利特性的基礎上,MontaVista公司對內核部分進(jìn)行了高度裁減、配置,使MontaVista Linux 3.0。它使用的是標準Linux內核2.4.2,是針對嵌入式設備度身定制的實(shí)時(shí)的、專(zhuān)業(yè)的嵌入式操作系統?紤]到嵌入式設備處理器、存儲器資源有限的情況,在不減少新內核對嵌入設備有利特性的基礎上,MontaVista公司對內核部分進(jìn)行了高度裁減、配置,使MontaVista Linux 3.0系統性能具備穩定、突出等特點(diǎn),同時(shí)還為MontaVista Linux 3.0配備了一個(gè)由優(yōu)先級驅動(dòng)的實(shí)時(shí)調度器(RealTime Scheduler),從而使客戶(hù)對實(shí)時(shí)性的要求得到更大的滿(mǎn)足。
2 軟件開(kāi)發(fā)平臺
MontaVista Software公司在嵌入式Linux發(fā)行版中已提供了系統開(kāi)發(fā)所需的環(huán)境:
a)內核和文件系統工具——目標配置工具(TCT)、庫優(yōu)化工具(LOT);
b)交叉開(kāi)發(fā)工具——GNU GCC/C 編譯器、GDB源碼調試器、DDD圖形界面調試器等;
c)實(shí)時(shí)性能工具和分析工具。
系統內核則通過(guò)Abatron公司的BDI2000調試器進(jìn)行測試,內核運行于PowerPC體系的CPU上。該目標系統已實(shí)現以太網(wǎng)接口、串口、USB接口,LCD也能正常顯示。
3 系統框架結構
應用程序是最上層的開(kāi)發(fā),其交互界面直接通過(guò)MiniGUI圖形系統的API接口函數實(shí)現。MiniGUI屏蔽了對底層顯示、輸入設備編程的細節,使程序員更能專(zhuān)注于信息終端界面的特色上,從而縮短了編程投入時(shí)間。MiniGUI圖形率編譯安裝后一般以庫的形式存放在操作系統/usr/lib文件目錄下。
該嵌入式系統的框架結構如圖1所示。
4 MiniGUI的移植
(1)MiniGUI特點(diǎn)
MiniGUI是由魏永明主掛的一個(gè)自由軟件項目,現完全遵循GPL(General Public License)條款的純自由軟件,可以運行在任何一種具有POSIX線(xiàn)程支持的POSIX兼容系統上。MiniGUI在體系結構上有許多獨特之處。它的主要特色有:
a)提供了完備的多窗口機制;
b)對話(huà)框和預定義的控件類(lèi);
c)消息傳遞機制;
d)多字符集和多字體支持;
e)全拼、五筆等漢字輸入法支持;
f)BMP、GIF、JPEG等常見(jiàn)圖像文件的支持;
g)小巧,包含全部功能的庫文件大小為300KB左右;
h)可配置,可根據項目需求進(jìn)行定制配置和編譯;
i)可移植性好。
(2)MiniGUI的移植過(guò)程
要使MiniGUI運行在入式目標板PPC上,需在MontaVista Linux 3.0的交叉開(kāi)發(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。
在開(kāi)發(fā)主機上安裝好MontaVista Linux 3.0后,把主機NFS服務(wù)的輸出目錄配置為硬盤(pán)路徑/opt/hardhat/devkit/ppc/8xx/target。目標板運行起來(lái)后,會(huì )自動(dòng)掛載到該目錄下。
將該目標作為當前路徑安裝MiniGUI。
打開(kāi)資源文件壓縮包,執行如下命令
tar-xvf minigui-res-1.2.6.tar.gz
會(huì )自動(dòng)在當前路徑下生成minigui-res目錄。在該目錄下可以看到config.linux文件,修改其中TOPDIR=NONE一項,使TOPDIR=/opt/hardhat/devkit/ppc/8xx/t
【嵌入式Linux下基于MiniGUI的信息終端軟件開(kāi)發(fā)】相關(guān)文章:
基于嵌入式Linux的終端AVI視頻編碼器的實(shí)現03-07
基于Linux的信息發(fā)布終端網(wǎng)絡(luò )通信技術(shù)的研究03-07
基于SIP的嵌入式終端軟件系統03-07
嵌入式Linux系統下Microwindows的應用03-19
嵌入式Linux下CAN總線(xiàn)驅動(dòng)程序設計03-07