《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于S3C2440的MiniGUI移植
基于S3C2440的MiniGUI移植
山西電子技術
龔惠紅
摘要: 隨著嵌入式系統的發展,嵌入式圖形用戶界面需求越來越明顯,MiniGUI是目前比較成熟的嵌入式Linux系統的圖形用戶界面。為了滿足嵌入式圖形用戶界面的需求,將MiniGUI移植到基于S3C2440的處理器目標板。首先說明了如何建立交叉環境,接著討論MiniGUI1.6.10庫和資源的移植,最后閘述運行環境的配置。實現了對S3C2440開發板的MiniGUI移植,完成嵌入式Linux圖形用戶界面的構建,并為其他嵌入式設備的移植提供借鑒。
Abstract:
Key words :

隨著嵌入式系統的迅速發展,圖形用戶界面(Graphic User Interface,GUI)需求越來越明顯。MiniGUI是面向實時嵌入式系統的輕量級圖形用戶界面支持系統,以輕型、占用資源少、高性能、可配置等特點廣泛應用于通信、醫療、工控、電子、機頂盒、多媒體等領域。本文正是針對這種需求,介紹如何在S3C240上移植MiniGUI的全過程。

1 圖形用戶界面MiniGUI
MiniGUI是由原清華大學教師魏永明主持開發的輕量級圖形系統,遵循GPL公約。所支持的操作系統已不僅僅限于Linux,它還可以在μCli nux,μC/OS-Ⅱ,eCos和VxWorks等系統上運行。已驗證的硬件平臺包括Intelx86,ARM(ARM7/AMR9/StrongARM/xScale),Power-PC,MIP S,M68K(DragonBall/ColdFire)等。
1.1 MiniGUI與嵌入式系統的關系
MiniGUI具有良好的軟件架構,通過抽象層將MiniGUI上層和底層操作系統隔離開來。如圖1所示,基于MiniGUI的應用程序一般通過ANSIC庫以及MiniGUI自身提供的API來實現自己的功能;MiniGUI中的“可移植層”可將特定操作系統及底層硬件的細節隱藏起來,而上層應用程序則無需關系底層的硬件平臺輸出和輸入設備。

a.JPG


1.2 MiniGUI體系結構
從結構上看,MiniGUI是分層設計的,層次結構如圖2所示。在底層,GAL和IAL為MiniGUI提供了底層的Linux控制臺或者X Window上的圖形接口以及輸入接口。中間層是MiniGUI的核心層,其中包括了窗口系統必不可少的各個模塊。最頂層的API向應用設計提供編程接口。

b.JPG



2 S3C2440開發平臺簡介
本文使用的目標平臺是三星公司推出的高度集成的S3C2440(ARM920T core with MMC),最高主頻可達532 MHz微處理器,提供64MB SDRA M,64 MBNAND FLASH以及2 MB NOR FLASH的存儲設備,另外包括IDE和PCMICA接口的豐富的外圍電路和多功能的擴展接口。S3C2440采用高性能ARM9微處理器以其優化的片上性能,在視頻會議、樓宇的對講系統、網絡監控、GPS定位/導航儀、醫療電子設備、多媒體終端產品等應用領域有廣泛應用。

3 MiniGUI的移植
宿主主機系統為redhat Linux 9.0,要求完全安裝,移植步驟如下:
3.1 建立交叉編譯環境
在移植之前首先建立好交叉編譯環境,簡單地說是指在一個平臺上可以生成能在另一個平臺上運行的代碼,編譯工具為arm-linux-gcc-3.3.2。
#tar-xvjf rm-linux-gcc-3.3.2
默認的安裝路徑是/usr/local,為了避免每次設置PATH,在.bash_profile文件中增加PATH=/usr/local/arm/3.4.1bin:MYMPA TH,并運行以下命令:
#source.bash_profile
3.2 源代碼準備
從http://www.minigui.org/res.shtml下載源代碼包如下:
(1)libminigui-1.6.10.tar.gz:MiniGUI函數庫源代碼。
MiniGUI由3個函數庫的組成,它們分別是libminigui,libmgext和libvcongui。libminigui是提供窗口管理和圖形接口的核心函數庫,也提供了大量的標準控件;libmgext是libminigui的一個擴展庫,提供了一些高級控件及“文件打開”、“顏色選擇”對話框等;libvcon gui則為Linux操作系統提供了一個應用程序可用的虛擬控制臺窗口,從而可以方便地在MiniGUI環境中運行字符界面的應用程序,libmgext和libvcongui庫已經包含在這個源代碼包中。
(2)minigui-res-1.6.10.tar.gz:MiniGUI所使用的資源,包括基本字體、圖標、位圖和鼠標光標。
(3)mg-smaples-1.6.10.tar.gz:配套示例程序。

3.3 編譯安裝
(1)建立工作目錄
# mkdir/minigui
# cd/minigui
(2)編譯安裝MiniGUI庫
# cd/minigui
# tar xzvf libminigui-1.6.10.tar.gz-C/minigui
# cd/minigui/libminigui-1.6.10
#./configure-prefix=/home/-host=i386-redhat-linux-target=arm-linux--build=arm-linuxCC=arm-linux-gcc--disa-ble-vbfsu pport
prefix選項用于指定MiniGUI函數庫的安裝路徑,默認的安裝路徑是/usr/local,這里應該是所使用的交叉編譯環境中系統頭文件目錄include庫目錄lib所在的目錄,本例中是/home,這樣一來,MiniGUI的函數庫和頭文件也將被分別安裝到lib和include目錄中。在后續進行MiniGUI應用程序的交叉編譯時,就可以正確地找到MiniGUI的頭文件和函數庫。其中:
target選項用于指定目標平臺,這里使用arm-linux;
host選項用來指明宿主機的類型,這里使用i386-redhat-linux;
build選項指定了交叉編譯的系統環境,這里使用arm-linux;
CC用來指定使用的交叉編譯器,這里使用arm-linux-gcc。
運行.configure腳本成功后,就成了定制的Make-file文件,接下來只需編譯和安裝即可。
# make
# make install
(3)編譯安裝MiniGUI資源文件
# tar xzvf minigui-res-1.6.10.tar.gz-C/minigui
# cd/minigui/minigui-res-1.6.10
# make install
(4)編譯安裝配套應用程序
# tar mg-smaples-1.6.10.tar.gz-C/minigui
# cd/minigui/mg-smaples-1.6.10# make install
3.4 拷貝MiniGUI資源到開發板
把/home/lib目錄下的所有庫文件(注:-prefix=/home/)拷貝到開發板的/lib目錄下;把/minigui/res目錄下的所有文件拷貝到開發板上/usr/local/lib目錄下,其開發板上的目錄如下形式/usr/local/lib/minigui/res/……;把/home/etc下的MiniGUI.c fg拷貝到開發板上的/etc目錄下;最后把配套應用程序拷貝到開發板目錄下。
3.5 配置開發板的運行環境
(1)/etc目錄下建立ld.so.conf文件,并添加如下內容:
/usr/local/lib
/lib
這樣程序運行的時候可以找到相應的庫文件。
(2)修改開發板上的/etc/MiniGUI.cfg文件,主要修改是圖形引擎和輸入引擎。本開發平臺的Linux中自帶有VESAFrameBuffer設備驅動程序,并且初始狀態已經激活。FrameBuffer是Linux內核中的一種驅動程序接口,這種接口將顯示設備抽象為幀緩沖區,用戶可以將它看成是顯示內存的一個映像。將其映射到進程地址空間之后,就可以直接進行讀寫操作,而寫操作可以立即反映在屏幕上。這樣,MiniGUI就可以使用FrameBuffer作為圖形引擎進行圖像顯示。LCD顯示器的像素為240x320,因此圖形引擎的顯示模式defaultmode為240x320-16bpp。并在輸入引擎中添加usb鼠標設備文件和鼠標協議。修改如下:
d.JPG
同時在/etc/init.d/rcS腳本文件里添加鼠標設備,內容如下:
/bin/ln-s/devr/vc/0/dev/tty0
/bin/ln-s/dev/input/mouse0/dev//mouse

4 結語
把圖形用戶界面移植到嵌入式設備中是嵌入式系統發展的趨勢,本文詳細介紹了MiniGUI移植到S3C2440的過程,并最終能穩定得在目標平臺上運行。該方法對于移植到其他的目標平臺有良好的借鑒作用。MiniGUI作為源代碼開放的自由軟件,在嵌入式圖形用戶界面領域將有更好的實用價值,并隨著MiniGUI的功能日趨強大,應用將越來越廣泛。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          91久久久一线二线三线品牌| 一区免费观看视频| 欧美精品九九| 久久精品国产亚洲精品| 国产精品v一区二区三区| 亚洲性色视频| 欧美激情综合五月色丁香| 欧美大片第1页| 国产欧美日韩一区| 欧美一区二区三区四区在线观看| 国产一区二区三区四区五区美女| 亚洲精品乱码久久久久久蜜桃91| 国产精品一区=区| 亚洲国产精品一区二区www| 欧美日韩高清在线一区| 欧美精品综合| 亚洲久久视频| 一区二区三区在线视频观看| 91久久精品一区| 久久婷婷成人综合色| 99精品国产福利在线观看免费| 午夜视频久久久久久| 国产裸体写真av一区二区| 欧美午夜精品久久久久久浪潮| 亚洲国产精品专区久久| 午夜精品久久久久久久久久久久| 欧美视频在线观看免费| 99国产欧美久久久精品| 亚洲国产女人aaa毛片在线| 欧美性猛交xxxx乱大交蜜桃| 在线视频你懂得一区| 亚洲欧美激情一区二区| 99在线热播精品免费| 久久久99精品免费观看不卡| 黄色成人在线| 欧美视频免费看| 欧美激情综合| 久久久久久一区| 国产精品久久久久久亚洲毛片| 欧美性猛交xxxx乱大交退制版| 国产女人水真多18毛片18精品视频| 国产精品中文字幕欧美| 国产精品vvv| 一区二区三区四区五区在线| 亚洲一区二区三区在线观看视频| 欧美成人午夜免费视在线看片| 久久综合九色综合欧美狠狠| 久久成年人视频| 亚洲第一精品在线| 欧美精品播放| 亚洲欧美国产视频| 国内外成人在线| 免费成人激情视频| 亚洲大片精品永久免费| 在线看片第一页欧美| 欧美日韩在线一区二区| 狠狠色狠狠色综合| 乱人伦精品视频在线观看| 欧美mv日韩mv国产网站app| 一区二区三区产品免费精品久久75| 国产精品亚洲第一区在线暖暖韩国| 国产一区二区成人久久免费影院| 欧美在线不卡视频| 欧美手机在线| 久久国产精品72免费观看| 久久精品99| 国产精品一区视频网站| 久久精品女人| 精品99一区二区三区| 久久久久久高潮国产精品视| 欧美日韩另类丝袜其他| 狠狠色综合网站久久久久久久| 国产精品成人一区二区| 一区二区三区高清| 欧美无砖砖区免费| 亚洲国产成人久久| 亚洲一区二区影院| 亚洲高清网站| 久久这里只有精品视频首页| 欧美午夜不卡在线观看免费| 亚洲国产午夜| 国产精品porn| 国产精品一区二区视频| 亚洲欧美日韩一区| 欧美极品在线视频| 久久久久国产精品麻豆ai换脸| 久久综合狠狠| 国产精品第2页| 欧美一区二区三区视频免费播放| 国产精品乱人伦中文| 久久久久国产一区二区三区| 欧美日韩一本到| 国产一区二区三区在线观看视频| 久久成人综合视频| 亚洲成人在线观看视频| 欧美fxxxxxx另类| 亚洲精品黄网在线观看| 欧美一区二区三区免费在线看| 久久久久国产一区二区三区四区| 亚洲精品国偷自产在线99热| 亚洲欧美在线观看| 久久久精品2019中文字幕神马| 欧美一区二区三区视频在线| 亚洲综合日本| 国产日韩亚洲欧美| 亚洲欧美日韩在线观看a三区| 国内精品久久久久久久影视蜜臀| 欧美精品日韩综合在线| 一区二区三区导航| 欧美日韩1234| 国产免费成人av| 在线日韩中文字幕| 国产一区在线看| 国产精品露脸自拍| 国产亚洲毛片在线| 欧美精品成人在线| 亚洲福利小视频| 亚洲大片av| 欧美资源在线| 影音先锋中文字幕一区| 久久久久久一区| 噜噜爱69成人精品| 伊人久久久大香线蕉综合直播| 亚洲免费中文字幕| 国产婷婷精品| 激情视频一区二区三区| 麻豆成人在线观看| 久久精品免费播放| 午夜精品久久久久影视| 久久综合图片| 国产农村妇女毛片精品久久莱园子| 午夜精品国产精品大乳美女| 亚洲欧美激情诱惑| 久久久久久久成人| 亚洲免费观看视频| 亚洲国产欧美国产综合一区| 99www免费人成精品| 欧美一区二区成人6969| 久久久久久网址| 国产婷婷色综合av蜜臀av| 亚洲在线国产日韩欧美| 国产在线国偷精品产拍免费yy| 国产精品成人免费精品自在线观看| 国产精品久久久对白| 亚洲精品美女在线观看播放| 亚洲国产91精品在线观看| 国产一区二区三区四区老人| 亚洲欧美一区二区视频| 国产精品美女www爽爽爽| 夜夜躁日日躁狠狠久久88av| 欧美精品123区| 欧美一级视频精品观看| 午夜日韩福利| 国产一区二区三区视频在线观看| 国产日韩一区二区三区| 久久亚洲精品一区| 国产精品高精视频免费| 在线观看视频免费一区二区三区| 欧美日韩一区二区视频在线观看| 欧美一级大片在线观看| 欧美一区二区视频观看视频| 亚洲欧美日韩精品久久久| 欧美特黄一级大片| 国产一区二区在线观看免费播放| 国产一区二区日韩| 麻豆av福利av久久av| 国产欧美日韩一区二区三区在线观看| 欧美日本中文| 久久亚洲精品视频| 亚洲国产一区二区三区在线播| 亚洲午夜精品久久久久久浪潮| 亚洲第一中文字幕| 亚洲一区二区精品| 欧美日韩一区二区三区免费| 欧美日韩一区二区三区在线视频| 国产综合色精品一区二区三区| 欧美自拍偷拍午夜视频| 麻豆精品一区二区综合av| 亚洲电影激情视频网站| 亚洲最快最全在线视频| 噜噜噜噜噜久久久久久91| 久久综合久色欧美综合狠狠| 亚洲一级黄色| 久久久久国产精品厨房| 免费看av成人| 亚洲视频欧美视频| 中文久久精品| 欧美成人精品激情在线观看| 国产精品看片你懂得| 国产精品v片在线观看不卡| 国产精品卡一卡二卡三| 欧美精品综合| 国产精品一区二区三区观看| 亚洲人成网站在线播| 中文精品视频一区二区在线观看| 欧美呦呦网站| 99亚洲伊人久久精品影院红桃| 久久久久久午夜| 久久久久88色偷偷免费| 狠狠色丁香婷婷综合久久片| 亚洲欧美久久久久一区二区三区| 亚洲日本aⅴ片在线观看香蕉| 在线观看精品一区| 欧美激情 亚洲a∨综合| 久久黄色小说| 麻豆国产精品777777在线| 欧美国产精品va在线观看| 亚洲午夜未删减在线观看| 欧美日韩国产三级| 欧美日产一区二区三区在线观看| 亚洲国产女人aaa毛片在线| 欧美日韩视频专区在线播放| 亚洲精品网站在线播放gif| 久久综合免费视频影院| 国产精品一卡| 久久久久久尹人网香蕉| 久久精品国产精品亚洲精品| 欧美在线免费观看视频| 欧美精品成人91久久久久久久| 亚洲精品免费在线观看| 亚洲理伦电影| 亚洲国产一区二区三区青草影视| 久久久福利视频| 国产欧美日韩在线播放| 国产一区二区三区四区| 亚洲国产日韩在线一区模特| 六十路精品视频| av成人动漫| 欧美成人资源| 欧美成人影音| 麻豆视频一区二区| 欧美日韩午夜在线视频| 麻豆国产精品777777在线| 另类成人小视频在线| 国产日韩精品一区二区浪潮av| 极品少妇一区二区三区精品视频| 亚洲精品一区二区三区99| 在线视频日韩| 国产精品视频网址| 国产欧美日韩另类视频免费观看| 在线欧美小视频| 欧美剧在线观看| 国产专区一区| 亚洲欧美中文日韩在线| 亚洲第一福利社区| 亚洲香蕉网站| 亚洲欧美激情视频| 亚洲图片你懂的| 欧美一区三区三区高中清蜜桃| 一本色道久久综合亚洲二区三区| 国产主播一区二区| 久久成人羞羞网站| 国内成人自拍视频| 一区二区三区 在线观看视频| 欧美xxx在线观看| 国产精品盗摄一区二区三区| 国产精品午夜国产小视频| 亚洲无线一线二线三线区别av| 欧美日韩在线不卡| 欧美va天堂va视频va在线| 国产一区91| 蜜桃视频一区| 精品二区视频| 久久免费视频网站| 国语自产精品视频在线看抢先版结局| 欧美激情精品久久久久久大尺度| 亚洲欧美综合| 亚洲欧美日韩在线| 欧美日韩精品久久久| 久久精品系列| 欧美在线一二三四区| 亚洲欧美中日韩| 免费日本视频一区| 欧美日韩精品系列| 欧美三日本三级少妇三2023| 欧美一区午夜精品| 国产精品久久久久影院亚瑟| 亚洲天天影视| 欧美成人综合一区| 欧美gay视频激情| 男女av一区三区二区色多| 亚洲午夜精品17c| 亚洲一区久久| 久久精品卡一| 夜夜嗨av一区二区三区四季av| 国产综合在线视频| 欧美综合二区| 欧美性生交xxxxx久久久| 欧美日韩国产一级| 亚洲欧美中文字幕| 日韩一级视频免费观看在线| 欧美日韩成人激情| 亚洲社区在线观看| 久热国产精品| 久久久久久久波多野高潮日日| 久久精品水蜜桃av综合天堂| 在线看片欧美| 一区二区日韩精品| 欧美日韩专区在线| 在线观看日产精品| 欧美怡红院视频| 99国产精品自拍| 欧美三级视频| 欧美影视一区| 一区二区欧美亚洲| 在线国产日韩| 猛干欧美女孩| 欧美成人一区二区三区| 国产精品麻豆成人av电影艾秋| 欧美日韩国产一区二区三区地区| 欧美一级久久久| 欧美日韩国产成人精品| 美女视频黄a大片欧美| 午夜精品久久久久久99热| 久久精品日产第一区二区三区| 久久精品国内一区二区三区| 午夜久久久久久久久久一区二区| 伊人久久婷婷| 一本色道精品久久一区二区三区| 欧美日韩国产123| 欧美一区二区三区免费大片| 一个人看的www久久| 亚洲日本va午夜在线电影| 香蕉尹人综合在线观看| 亚洲免费影视| 亚洲欧美在线播放| 久久久久五月天| 亚洲精品1区2区|