亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? minigui在at91rm9200上的移植.txt

?? arm9200 and minigui refernce
?? TXT
字號:
信息 短訊 郵箱 主頁 好友 搜索 引用 回復  No.1  

--------------------------------------------------------------------------------
 
MiniGUI在AT91RM9200開發板上的移植

MiniGUI在AT91RM9200開發板上的移植<DIV style="PADDING-RIGHT: 0px; MARGIN-TOP: 10px; FONT-SIZE: 9pt; OVERFLOW-X: hidden; WIDTH: 97%; WORD-BREAK: break-all; TEXT-INDENT: 0px; LINE-HEIGHT: normal; HEIGHT: 200px; WORD-WRAP: break-word" onload="this.style.overflowX='auto';">北京理工大學 方寧 馬忠梅 論文的“MiniGUI在AT91RM9200開發板上的移植”部分 
1、圖形用戶界面MiniGUI 簡介 
下面簡要介紹一下MiniGUI。MiniGUI 是遵循GPL 條款發布的自由軟件,其目標是為基于L i n u x 的實時嵌入式系統提供一個輕量級的圖形用戶界面支持系統。與QT/Embedded、MicoroWindows 等其它GUI 相比,MiniGUI的最顯著特點就是輕型、占用資源少。據稱MiniGUI 能夠在C P U 主頻為30MHz,僅有4MB RAM 的系統上正常運行, 這是其它多種G U I 所無法達到的。歷經四年的發展,M i n i G U I 已經非常成熟和穩定, 并且在許多實際產品和項目中得到了應用。目前,它的最新穩定版是1.3.1。 
注:因論文發表于2004年,MiniGUI目前已有飛速發展,詳情請見:http://www.minigui.com 
2、MiniGUI在AT91RM9200開發板上的移植過程 
(1)構建Linux 交*編譯環境 
首先,需要在宿主機上建立M i n i G U I 的交*編譯環境。通常使用的交*編譯工具鏈是cross-2.95.3.tar.bz2。然而, 在這里需要注意的是,A T 9 1 R M 9 2 0 0 開發板上的Linux使用的Glibc庫是2.1.3版本,而cross-2.95.3.tar.bz2里面包含的庫是2.2.3 版本。所以,如果你希望交*編譯出的程序可以在開發板上順利執行的話, 在編譯時必須使用與板載Linux 的庫相同的版本。我在這里使用armlinux-binutils-2.10-1.i386.rpm、arm-linux-gcc-2.95.2-2.i386.rpm、arm-linux-glibc-2.1.3-2.i386.rpm來構建交*編譯環境,這些資源可以免費得到(ftp://ftp.arm.linux.org.uk/pub/armlinux/toolchain)。在宿主機上執行rpm 指令,安裝這3個rpm包,這時你會發現在/usr/local/目錄下多了一個armlinux目錄,里面包含有arm-linux-gcc等指令程序及2.1.3版本的Glibc庫等資源。然后,在PATH中添加/usr/local/armlinux/bin 路徑,這樣交*編譯環境就構建完成了。 
(2)交*編譯MiniGUI 
下面將要開始關鍵的一步,就是進行M i n i G U I 的交*編譯。首先,從網上http://www.minigui.com/download/cindex.shtml)得到MiniGUI 的源程序包,包括三個部分:libminigui-1.3.0.tar.gz——MiniGUI函數庫源代碼;miniguires-1.3.0.tar.gz——MiniGUI所使用的資源,包括基本字體、圖標、位圖等;mde-1.3.0. tar.gz——MiniGUI的綜合演示程序。(在這里使用的是MiniGUI 的1.3.0 版本)首先進行M i n i G U I 函數庫的編譯和安裝。解開libminigui-1.3.0.tar.gz軟件包,進入該目錄,運行./configure腳本:“CC=arm-linux-gcc ./configure --target=arm-linux--prefix=/usr/local/arm-linux/arm-linux--build= arm-linux --host=i686-pc-linux-gnu --disable-lite”。這里需要指明的是,CC 用來指定所使用的編譯器,這里使用的arm-linuxgc c 就是在第一部分中安裝R P M 包時, 被安裝到宿主機上的交*編譯器;--target 選項用于指定目標平臺,這里使用arm-linux;--prefix選項用于指定MiniGUI函數庫的安裝路徑,默認的安裝路徑是/usr/local,而在這里應該是所使用的交*編譯環境中系統頭文件目錄i n c l u d e庫目錄lib 所在的目錄,本例中就是/usr/local/armlinux/arm-linux(這樣一來,MiniGUI的函數庫和頭文件也將被分別安裝到交*編譯環境中的lib 和include 目錄中。在后續進行MiniGUI 應用程序的交*編譯時,就可以正確地找到MiniGUI 的頭文件和函數庫了);--build 選項與--arget一樣為arm-linux;--host選項用來指明宿主機的類型,這里使用i686-pc-linux-gnu 即可;最后一個選項--disable-lite 用來指定生成基于線程的MiniGUIThreads版本而不生成基于進程的MiniGUI-Lite 版本。目前,MiniGUI 函數庫有兩種版本:Threads 版本和Lite 版本,1.3.0 版默認生成Threads 版本。為了簡便起見,本例中編譯生成Threads 版本,兩種版本之間的具體差異請參看MiniGUI 用戶手冊。如果運行./configure 腳本成功,就會生成定制的Makefile 文件,然后可以繼續執行make 和make install命令編譯并安裝libminigui。在執行make install操作時,用戶必須具用root 權限。安裝成功后,MiniGUI 的函數庫和頭文件以及配置文件等資源將被安裝到/usr/local/armlinux/arm-linux 目錄中,具體情況為:函數庫被裝在lib/子目錄中;頭文件被裝在include/ 子目錄中;手冊被裝在man/ 子目錄中;配置文件被裝在etc/ 子目錄中。下面進行MiniGUI資源的編譯安裝。解壓minigui-res-1.3.0.tar.gz,進入相應目錄。這里需要說明的是,在執行make install操作之前,需要對目錄中的configure.linux文件做一些修改。打開configure.linux文件,你會發現prefix選項部分的默認值為$(TOPDIR)/usr/local,需要將這里修改為prefix=$(TOPDIR)/ usr/local/arm-linux/arm-linux,這樣執行make install 操作之后,安裝腳本會自動把MiniGUI資源文件安裝到/usr/local/arm-linux/arm-linux/lib/minigui/res/目錄下。最后,編譯并安裝MiniGUI 的演示程序mde。解壓mde-1.3.0.tar.gz,進入相應目錄。首先修改目錄下的configure.in 文件,將其中AC_CHECK_HEADERS(minigui/commmon.h, have_libminigui=yes, foo=bar)改為AC_CHECK_HEADERS($prefix/include/minigui/common.h,have_libminigui=yes, foo=bar),以防止編譯時系統無法找到頭文件,從而把have_libminigui 賦值為no。編譯時,屏幕上會出現“MiniGUI is not properly installed on hesystem. You need MiniGUI-Lite Ver 1.2.6 or later for buildingthis package. Please configure and install MiniGUI-Lite Ver 1.2.6 first.”的警告。然后執行autogen.sh 腳本,重新生成configure腳本,執行“CC=arm-linux-gcc ./configure --target=arm-linux--prefix=/usr/local/arm-linux/arm-linux--build=arm-linux --host=i686-pc-linux-gnu --disable-lite”各選項的意義與前面部分相同。執行成功后,在該目錄下會生成一個新的M a k e f i l e 文件。修改M a k e f i l e 文件中的COMMON_SUBDIRS 部分,將其中的notebook、tools、controlpanel 例子暫時刪除,否則編譯這幾個程序時會提示找不到popt.h 和libpopt.so。而這些popt 頭文件和庫文件需要自己從網上下載到相應的目錄當中。執行m a k e 操作, 完成演示程序的編譯。這時可以發現,在每一個d e m o 目錄下都會生成一個可執行程序。可不要急著在宿主機上運行這些可執行程序,因為這些交*編譯出的程序是將在你的開發板上執行的。下面可以將MiniGUI 的庫函數、配置文件等資源連同demo 程序一起拷貝到AT91RM9200 開發板上試驗一下了。 
(3)拷貝MiniGUI 資源到開發板 
進入/usr/local/arm-linux/arm-linux目錄,在etc,lib子目錄下有我們需要拷貝到目標機上的資源。但是你會發現,子目錄lib 中的MiniGUI 庫文件很大,很難全部拷貝到AT91RM9200 開發板上。解決的辦法是,首先對這些庫文件執行arm-linux-strip操作,arm-linux-strip指令會除去文件中的調試信息, 使文件體積大大縮小。另外需要注意的是, 有些庫函數是鏈接文件, 如果單純的拷貝,會將原先的鏈接信息丟失,造成不必要的麻煩。使用tar命令將所需拷貝的資源打包, 其中包括e t c 子目錄下的配置文件MiniGUI.cfg;lib 子目錄下的libmgext*、libminigui*、libvcongui*和minigui子目錄;mde-1.3.0/housekeeper/ 下的可執行程序housekeeper(這里用housekeeper作為演示程序)。可以將這些資源做進ramdisk 文件系統中,也可以在AT91RM9200 開發板運行時,通過ftp 從宿主機進行下載。解壓后將MiniGUI 的配置文件MiniGUI.cfg放入/usr/local/etc目錄中,MiniGUI的庫文件放入/usr/local/lib目錄中,housekeeper程序可以隨便放置。在執行程序之前, 還有一件重要的事情要做, 就是在開發板上的Linux 中配置好MiniGUI 的運行環境。 
(4)板載Linux 的環境配置 
AT91RM9200 開發板上的L i n u x 中,自帶有VESAFrameBuffer 設備驅動程序,并且初始狀態已經激活。這樣,MiniGUI 就可以使用FrameBuffer 作為圖形引擎進行圖像顯示。否則, 需要首先安裝一種圖形引擎, 例如QVFB、SVGALib、LibGGI 等,或自己編寫一個圖形引擎供MiniGUI 使用。FrameBuffer 是Linux 內核中的一種驅動程序接口,這種接口將顯示設備抽象為幀緩沖區, 用戶可以將它看成是顯示內存的一個映像。將其映射到進程地址空間之后, 就可以直接進行讀寫操作, 而寫操作可以立即反映在屏幕上。首先,建立FrameBuffer 驅動程序的設備文件:進入/dev 目錄,執行操作mknod fb0 c 29 0。這樣就建立了設備文件fb0,供MiniGUI 使用。同樣在/dev 目錄下執行指令mknod tty0 c 5 0和mknod mouse c 10 1,建立終端設備文件和鼠標驅動程序的設備文件。修改/usr/local/etc 目錄下運行時的配置文件MiniGUI.cfg,將其中fbcon 的defaultmode 設置為合適的顯示模式。此例中將它設為了640*480-16bpp。如果開發板沒有連接鼠標、觸摸屏等輸入設備,可以先將MiniGUI.cfg 中的輸入引擎ial_engine 設置為dummy。Dummy IAL 引擎是個什么工作都不做的引擎,使用這個引擎,可以首先將 MiniGUI 在目標板上運行起來,然后再進一步參照其它引擎編寫適合自己的引擎。最后,將鍵盤和鼠標連接至A T 9 1 R M 9 2 0 0 開發板的串口上,執行housekeeper 程序。順利的話,屏幕上將出現搬運工的游戲界面,并且可以使用鼠標和鍵盤來進行游戲控制。到此,M i n i G U I 已經成功移植到了AT91RM9200 開發板上。此后,可以繼續增添MiniGUI 庫函數及各種資源,并且編寫自己的應用程序, 使開發板上的界面更加美觀和完善。 
結 語 
本文中所介紹的M i n i G U I 移植過程已通過實踐檢驗。對于其它型號的開發板而言, 移植過程大體相似。可以肯定, 帶有簡潔、美觀圖形用戶界面的嵌入式系統將會在更多的領域具有更好的實用價值。本人還建立了一個MiniGUI討論群:11783171 希望MiniGUI愛好者,Linux愛好者以及嵌入式開發愛好者們積極參與討論。
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠色丁香久久婷婷综合_中| 91蝌蚪国产九色| 99视频一区二区| 91精品麻豆日日躁夜夜躁| 国产清纯白嫩初高生在线观看91 | 亚洲国产成人午夜在线一区| 亚洲视频1区2区| 麻豆91在线播放| 一本色道久久综合亚洲91| 久久亚洲精品小早川怜子| 亚洲综合在线第一页| 粗大黑人巨茎大战欧美成人| 69久久99精品久久久久婷婷| 亚洲精品视频在线观看网站| 国产精品911| 日韩精品一区二区三区中文不卡| 亚洲综合成人在线| 波多野结衣精品在线| 亚洲精品一区二区三区香蕉| 免费人成网站在线观看欧美高清| 欧洲一区在线观看| 亚洲视频综合在线| 成人a区在线观看| 国产亚洲欧美在线| 黑人巨大精品欧美一区| 欧美一区二区三区影视| 午夜一区二区三区视频| 欧亚一区二区三区| 亚洲精品一二三区| 色综合欧美在线| 亚洲日本护士毛茸茸| 成人精品小蝌蚪| 国产精品国模大尺度视频| 国产99久久久精品| 国产精品欧美一区二区三区| 丁香啪啪综合成人亚洲小说| 中文字幕免费不卡| 97久久超碰国产精品| 日韩美女精品在线| 91九色最新地址| 亚洲成人在线网站| 777欧美精品| 久久99久久99小草精品免视看| 欧美一级日韩一级| 国产乱人伦偷精品视频免下载| 久久综合资源网| 成人av一区二区三区| 亚洲视频免费观看| 欧美日韩不卡视频| 韩国一区二区三区| 国产欧美精品一区aⅴ影院| youjizz久久| 一区二区三区日韩欧美| 欧美精品免费视频| 激情久久五月天| 一区二区三区高清在线| 在线视频国内自拍亚洲视频| 亚洲电影在线播放| 日韩欧美国产一区二区三区| 国产一区二区精品久久| 亚洲色欲色欲www在线观看| 在线观看国产日韩| 久久精品72免费观看| 国产精品黄色在线观看| 欧美日韩在线播| 国产呦精品一区二区三区网站| 中文字幕一区二区三区精华液| 欧美色图第一页| 精久久久久久久久久久| 亚洲天堂成人在线观看| 欧美福利视频一区| 成人性生交大片免费看视频在线| 亚洲主播在线观看| 久久综合色综合88| 欧美性淫爽ww久久久久无| 精彩视频一区二区三区| 夜夜操天天操亚洲| 国产欧美日韩另类一区| 欧美视频中文字幕| 成人免费三级在线| 玖玖九九国产精品| 亚洲精品成人天堂一二三| 精品国产一区a| 91国偷自产一区二区三区观看| 久久99精品网久久| 亚洲国产精品视频| 日韩美女精品在线| 国产亚洲成aⅴ人片在线观看| 欧美日韩色一区| 99r精品视频| 国产精品一级在线| 日韩av一二三| 亚洲国产日韩在线一区模特| 国产精品欧美久久久久一区二区| 91精品免费在线观看| 色猫猫国产区一区二在线视频| 国产一区二区福利| 美女爽到高潮91| 午夜精品影院在线观看| 亚洲欧洲制服丝袜| 国产精品嫩草影院com| 精品国产一区久久| 欧美一区午夜视频在线观看| 91官网在线免费观看| 成人蜜臀av电影| 国产一区二三区好的| 久久国产三级精品| 日韩激情一二三区| 午夜精品福利在线| 亚洲444eee在线观看| 一区二区视频在线看| 中文字幕一区二区不卡| 国产精品高潮呻吟| 国产精品区一区二区三| 日本一区二区视频在线| 国产三级久久久| 国产日韩欧美精品一区| 久久精品视频在线看| 国产婷婷色一区二区三区 | 亚洲小少妇裸体bbw| 亚洲精品一二三| 一区二区三区波多野结衣在线观看 | 亚洲综合免费观看高清完整版在线 | 蜜臀av一区二区| 免费观看成人av| 日韩电影在线一区二区| 日韩高清一级片| 蜜臀av性久久久久蜜臀av麻豆| 蜜桃视频免费观看一区| 精品综合免费视频观看| 国产精品99久久不卡二区| 国产传媒一区在线| aa级大片欧美| 欧美性色欧美a在线播放| 欧美精品自拍偷拍| 91精品在线麻豆| 久久一夜天堂av一区二区三区| 国产拍欧美日韩视频二区| 国产精品毛片大码女人| 亚洲精品乱码久久久久久黑人| 亚洲v精品v日韩v欧美v专区| 美女免费视频一区| 国产黄色成人av| 日本高清无吗v一区| 777色狠狠一区二区三区| 久久免费偷拍视频| 成人免费在线观看入口| 亚洲3atv精品一区二区三区| 激情小说欧美图片| 99久久99久久综合| 欧美久久久久久久久| 久久久777精品电影网影网 | 亚洲人成伊人成综合网小说| 亚洲综合成人在线| 国产久卡久卡久卡久卡视频精品| 成人av电影在线| 欧美精品日韩精品| 国产精品人成在线观看免费| 日欧美一区二区| 国产不卡在线播放| 欧美日韩精品欧美日韩精品一| 精品国产乱码久久| 一区二区三区蜜桃| 国产一区激情在线| 欧美巨大另类极品videosbest| 国产欧美精品一区二区色综合朱莉| 亚洲主播在线观看| 福利电影一区二区三区| 欧美日韩激情一区二区三区| 中文一区二区完整视频在线观看| 亚洲国产精品一区二区尤物区| 国产激情精品久久久第一区二区 | 中文字幕中文字幕一区二区| 日韩av在线播放中文字幕| 白白色 亚洲乱淫| 久久夜色精品国产噜噜av| 亚洲在线中文字幕| jiyouzz国产精品久久| 精品区一区二区| 丝袜亚洲另类欧美| 91网站最新网址| 国产女人aaa级久久久级| 人人狠狠综合久久亚洲| 91亚洲国产成人精品一区二三| 久久久一区二区三区| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美亚洲国产怡红院影院| 国产精品久久久久久久久图文区| 国模娜娜一区二区三区| 91精品国产综合久久香蕉麻豆| 亚洲综合在线视频| 色婷婷香蕉在线一区二区| 国产日韩精品一区二区三区| 乱一区二区av| 日韩欧美不卡在线观看视频| 日韩成人精品在线观看| 欧美日韩国产一级片| 亚洲国产va精品久久久不卡综合| 色婷婷精品久久二区二区蜜臀av| 久久99九九99精品|