欧美电影《轻佻寡妇》_日韩在线视频网站_日韩中文在线观看_久久久999精品免费

  • 基于ARM-Linux的MiniGUI的仿真與移植
    劉喜榮

          近幾年,隨著嵌入式系統(tǒng)的日益發(fā)展和32位嵌入式處理器以及圖形顯示設(shè)備的廣泛應(yīng)用,目標(biāo)產(chǎn)品對(duì)GUI(圖形用戶界面)的需求越來越多。由于嵌入式系統(tǒng)一般實(shí)時(shí)性要求很高,所以嵌入式系統(tǒng)下的GUI需要具有輕量級(jí)型、占用資源少、高性能等特點(diǎn)。此外,嵌入式系統(tǒng)往往是一種定制設(shè)備,它對(duì)GUI的需求各不相同,因此,GUI必須也可以定制。而MiniGUI是一個(gè)非常適合實(shí)時(shí)嵌入式產(chǎn)品的高效、可靠、可定制、小巧靈活的圖形用戶界面支持系統(tǒng),被廣泛的應(yīng)用于高端科技產(chǎn)品中。利用MiniGUI開發(fā)出良好的人機(jī)交互界面已成為嵌入式開發(fā)中的迫切需求。本文實(shí)現(xiàn)了在ARM-Linux環(huán)境下進(jìn)行基于QVFB的MiniGUI的模擬開發(fā)、調(diào)試,通過在PC機(jī)上的仿真模擬,將應(yīng)用程序完成之后,利用交叉編譯工具編譯產(chǎn)生在目標(biāo)機(jī)上運(yùn)行的代碼,然后把MiniGUI和可執(zhí)行應(yīng)用程序移植到S3C2410目標(biāo)板上,這樣既節(jié)省了開發(fā)時(shí)間,又提高了開發(fā)效率和質(zhì)量。
    1 MiniGUI的特點(diǎn)和體系結(jié)構(gòu)
          MiniGUI項(xiàng)目的最初目標(biāo)是為基于Linux的實(shí)時(shí)嵌入式操作系統(tǒng)提供一個(gè)輕量級(jí)的圖像用戶界面支持系統(tǒng)。作為操作系統(tǒng)和應(yīng)用程序之間的中間件,MiniGUI將底層操作系統(tǒng)與硬件平臺(tái)之間的差別隱藏起來,并對(duì)上層應(yīng)用程序提供了一致的功能特性。
    1.1MiniGUI的特點(diǎn)
    (1)占用資源少:MiniGUI本身占用的空間非常小,整個(gè)MiniGUI系統(tǒng)占用空間在2~4MB,在某些系統(tǒng)上,MiniGUI系統(tǒng)本身所占用的空間可進(jìn)一步縮小到1MB以內(nèi)。
    (2)高性能、高可靠性:MiniGUI良好的體系結(jié)構(gòu)及優(yōu)化的圖形接口,可確保最快的圖形繪制速度。
    (3)可定制配置:和Linux內(nèi)核類似,MiniGUI也具有大量的編譯配置選項(xiàng),通過這些選項(xiàng)可指定MiniGUI庫中包括哪些用戶所需要的功能。
    (4)跨操作系統(tǒng)支持:MiniGUI支持Linux/uClinux、eCos、uC/OS-II、VxWorks等嵌入式操作系統(tǒng)。同時(shí),在不同操作系統(tǒng)上的MiniGUI,提供完全兼容的API接口。
    1.2MiniGUI的體系結(jié)構(gòu)
          從整體結(jié)構(gòu)上看,MiniGUI采用的是分層設(shè)計(jì)的,結(jié)構(gòu)如圖1所示。

    圖1 MiniGUI的分層體系結(jié)構(gòu)
          在最底層,GAL(圖形抽象層)和IAL(輸入抽象層)及鼠標(biāo)和鍵盤的驅(qū)動(dòng);中間層是MiniGUI的核心層,包括窗口系統(tǒng)必不可少的各個(gè)模塊;最頂層是API,即編程接口。GAL和IAL為MiniGUI提供了底層的Linux控制臺(tái)或者X-Window上的圖形接口以及輸入接口,而 Pthread用于提供內(nèi)核級(jí)線程支持的C函數(shù)庫。利用GAL和IAL,大大提高了MiniGUI的可移植性,并且使程序開發(fā)和調(diào)試變得更加容易。
    2 MiniGUI在QVFB上的仿真應(yīng)用
          MiniGUI能夠在PC機(jī)上運(yùn)行,也能夠移植到目標(biāo)板上運(yùn)行。在運(yùn)行Linux的PC機(jī)上,MiniGUI應(yīng)用程序可以通過以下兩種方式運(yùn)行:
    (1)在X-Window上,在虛擬Frame Buffer的QVFB中運(yùn)行;
    (2) 在Linux的字符控制臺(tái)上,在Linux內(nèi)核提供的FrameBuffer驅(qū)動(dòng)上運(yùn)行;
          這里主要介紹MiniGUI在QVFB中的仿真運(yùn)行。QVFB是Qt(Qt是Linux窗口管理器KDE使用的底層函數(shù)庫)提供的一個(gè)虛擬FrameBuffer工具,該程序是基于Qt開發(fā)的。
    2.1 建立MiniGUI在Linux上的運(yùn)行環(huán)境
          在Linux環(huán)境下,將已經(jīng)下載好的壓縮安裝文件qvfb-1.0.tar.gz復(fù)制到/opt目錄下,在該目錄下解壓,利用 make install命令把QVFB安裝到系統(tǒng)默認(rèn)的/usr/local/bin目錄下。在X-Window環(huán)境下,打開終端,鍵入 qvfb&命令,啟動(dòng)QVFB模擬程序。接下來對(duì)QVFB的運(yùn)行環(huán)境進(jìn)行配置,這里配置為640×480,Depth為16bit。QVFB提供了一種軟件的方法,通過這種方法,可以看到自己的圖像應(yīng)用程序在PC上運(yùn)行的效果。它能模擬不同的分辨率及顯示的顏色數(shù),因此可以模擬目標(biāo)機(jī)上的嵌入式顯示屏,從而大大方便了應(yīng)用程序的開發(fā)與調(diào)試。
    2.2 安裝資源文件和配置MiniGUI的庫文件
          在Linux環(huán)境下,將已下載好的壓縮資源文件
    minigui-res-1.3.3.tar.gz(該文件包含字體、光標(biāo)、圖標(biāo)、位圖等資源)復(fù)制到/opt/emulation目錄下(emulation目錄為新創(chuàng)建的目錄),然后運(yùn)行./configure腳本成功通過,就可以執(zhí)行make和make install命令,將資源文件安裝到系統(tǒng)默認(rèn)的/usr/local/lib/minigui/res目錄中。將下載好的壓縮庫文件libminigui-1.3.3.tar.gz 復(fù)制到/opt/emulation目錄下,輸入解壓縮命令然后進(jìn)入解壓后的目錄,在該目錄下輸入make menuconfig,啟動(dòng)圖像界面的配置工具,當(dāng)配置完成后,輸入make對(duì)庫文件進(jìn)行重新編譯,如果編譯成功,輸入make install命令,將MiniGUI庫安裝到默認(rèn)的 /usr /local/lib/目錄下。接下來,查看文件/etc /ld.so.conf,如果文件中沒有/usr/local/lib這一行,將該行添加到文件的最后,然后執(zhí)行l(wèi)dconfig。
    2.3 MiniGUI在QVFB上的仿真
          將已下載的mg-samples-1.3.1和mde -1.3.0.tar.gz復(fù)制到/opt/emlation/目錄下,在終端下進(jìn)入該目錄,依次執(zhí)行./configure和make命令,將這些示例程序編譯成能夠在QVFB上可執(zhí)行的程序。首先修改/usr/local/etc目錄下的配置文件MiniGUI.cfg,將gal_engine=fbcon改為gal_engine=qvfb,ial_engine=console改為ial_engine=qvfb。然后使用qvfb&命令啟動(dòng)qvfb,運(yùn)行/opt /emulation /mg-samples/src 目錄中的可執(zhí)行程序,如bomb,即可看到運(yùn)行在QVFB內(nèi)的MiniGUI程序,如圖2所示:

    圖2 MiniGUI在QVFB上的仿真
    3 MiniGUI在S3C2410上的移植
    3.1安裝MiniGUI資源文件
          在PC機(jī)的/opt目錄下創(chuàng)建target目錄,將資源文件minigui-res-1.3.3.tar.gz復(fù)制到/opt/target 目錄下進(jìn)行解壓,編輯/opt/target /minigui-res-1.3.3目錄下的config.linux文件,將“TOPDIR=”改為 “TOPDIR= /opt /target/minigui”,保存退出。然后輸入make install將資源文件安裝在/opt /target /minigui /usr/local/lib/minigui/res目錄下。同時(shí)把/opt/target/minigui /usr/local/lib目錄下的minigui目錄復(fù)制到需要制作的文件系統(tǒng)的文件夾中。
    3.2 配置安裝MiniGUI庫文件
          在編譯MiniGUI的庫文件libminigui -1.3.3之前,首先要正確安裝了交叉編譯器,即armv41-unknow- linux系列的交叉編譯器。使用交叉編譯器可以把libminigui-1.3.3庫文件編譯成一個(gè)動(dòng)態(tài)鏈接庫,通過調(diào)用該動(dòng)態(tài)鏈接庫,可以正確運(yùn)行 MiniGUI的應(yīng)用程序。在/opt/target /libminigui-1.3.3下,輸入命令make menuconfig進(jìn)行配置。當(dāng)配置完成后,保存退出。然后輸入make和make install,這樣就將交叉編譯后的MiniGUI庫文件安裝在/opt/host/armv41 /armv41–unkn own-linux/lib目錄下,分別是libminigui-1. 3.so.3.0.0和 libmgext -1.3.so.3.0.0。同時(shí),還有指向這些庫的符號(hào)鏈接,指向庫文件libminigui-1.3.so.3.0.0的符號(hào)鏈接是libminigui -1.3.so.3和libminigui.so,指向庫文件libmgext-1.3.so.3.0.0符號(hào)鏈接是 libgext  -1.3.so.3和lib-mgext.so。MiniGUI所使用的頭文件安裝在/opt/host/armv41 /armv41  -unknown-linux/include/minigui文件夾內(nèi)。同時(shí)在/opt/host/armv41/armv41- unknown– linux/etc/中還有一個(gè)minigui.cfg的配置文件。
    3.3 MiniGUI的移植
          將MiniGUI成功移植到S3C2410目標(biāo)板上,一般要經(jīng)過以下幾個(gè)過程:
    (1) 把MiniGUI庫文件libminigui-1.3. so.3.0.0和libgext -1.3.so.3.0.0,以及它們的符號(hào)鏈接文件,一同復(fù)制到要制作成cramfs文件系統(tǒng)的目錄root_tech中的/lib下。
    (2) 把/opt/target/minigui/usr/local/lib下的minigui目錄復(fù)制到要制作cramfs文件系統(tǒng)的目錄中,比如放到該目錄的/usr/sbin/下。當(dāng)嵌入式系統(tǒng)運(yùn)行時(shí),應(yīng)用程序在該minigui目錄下調(diào)用相關(guān)的資源文件。
    (3) 在root_tech文件夾內(nèi),用mkdir –p /opt/host/armv41/armv41-unknown-linux/ 命令創(chuàng)建一個(gè)目錄,然后使用命令ln –s /lib /opt/host/armv41/armv41-unknown-linux/lib創(chuàng)建符號(hào)鏈接,上述命令確保系統(tǒng)能夠找到正確的動(dòng)態(tài)鏈接庫。
    (4) 修改/opt/host/armv41/armv41–un known–linux/etc目錄下的MiniGUI.cfg文件,把存放資源的路徑改為root_tech目錄下對(duì)應(yīng)的路徑,從而使應(yīng)用程序能夠找到它使用的資源文件。例如,在PC機(jī)上的存放路徑為/usr/local/lib,那么在root_tech目錄下,如果把MiniGUI資源目錄放到了/usr/sbin下,則MiniGUI.cfg文件中的路徑必須由/usr /local/lib改為/usr/sbin/,同時(shí)還要將“ial_engine=console”改為“ial_engine =ads”。另外,將 [fbcon]下的“defaultmode =1024×768-16 bpp”改為“defaultmode =640×480-16 bpp”。將修改后的MiniGUI.cfg文件要放到root_tech目錄的/mnt/etc目錄下。
    (5) 最后,把準(zhǔn)備好的root_tech文件夾,利用mkcramfs命令生成cramfs文件系統(tǒng),利用NFS網(wǎng)絡(luò)文件系統(tǒng)將生成的文件系統(tǒng)移植到 S3C2410中。然后從minicom下進(jìn)入可執(zhí)行文件所在的目錄/usr/sbin,可執(zhí)行程序bomb在S3C2410目標(biāo)板上運(yùn)行的結(jié)果如下圖3 所示:

    圖3 MiniGUI在S3C2410開發(fā)板上運(yùn)行
    4結(jié)束語
          本文將MiniGUI-1.3.3版本在ARM - Linux環(huán)境下,首先在QVFB中進(jìn)行了仿真應(yīng)用,同時(shí)經(jīng)過交叉編譯后成功的移植到了 S3C2410開發(fā)板的硬件平臺(tái)上,試驗(yàn)結(jié)果表明能夠穩(wěn)定可靠的運(yùn)行,為后續(xù)基于圖形用戶界面程序的實(shí)際項(xiàng)目的開發(fā)與應(yīng)用打下了基礎(chǔ)。隨著嵌入式產(chǎn)品應(yīng)用領(lǐng)域的日益增長(zhǎng),基于MiniGUI開發(fā)出良好的人機(jī)交互界面,是嵌入式發(fā)展的趨勢(shì),同時(shí)也擁有廣闊的市場(chǎng)前景。
    參考文獻(xiàn)
    [1]徐英慧,馬忠梅,王磊等. ARM9        嵌入式系統(tǒng)設(shè)計(jì)—基于S3C2410與Linux[M].北京:北京航空航天大學(xué)出版社,2007.
    [2]劉昌盛,郭勇,謝習(xí)華. 嵌入式Linux環(huán)境下MiniGUI的研究與移植[J].嵌入式軟件應(yīng)用,(2008)07-2-0101-03.
    [3]李敏. ARM-Linux環(huán)境下MiniGUI在S3C2410開發(fā)板上的移植[J].科技情報(bào)開發(fā)與經(jīng)濟(jì),(2008)28-0139-02.
    [4]劉崢嶸,張智超,許振山,等. 嵌入式Linux應(yīng)用開發(fā)詳解[M].北京:機(jī)械工業(yè)出版社,2004.
    [5]北京飛漫軟件.MiniGUI用戶手冊(cè).http://www.minigui.com.
    [6]ARM Limited.ARM920T Technical Ref- erence Manual.2000,2001.


     
     
    網(wǎng)站首頁  |  關(guān)于我們  |  聯(lián)系我們  |  廣告服務(wù)  |  版權(quán)隱私  |  友情鏈接  |  站點(diǎn)導(dǎo)航
     
    欧美电影《轻佻寡妇》_日韩在线视频网站_日韩中文在线观看_久久久999精品免费
    欧美美女操人视频| 国产欧美日韩不卡| 亚洲欧美色婷婷| 亚洲尤物影院| 香蕉乱码成人久久天堂爱免费| 亚洲免费在线精品一区| 久久国产精品久久久久久| 欧美黄色一区二区| 国产视频欧美| 亚洲精品亚洲人成人网| 午夜精品福利电影| 欧美国产91| 一区二区三区在线看| 中日韩高清电影网| 久久亚洲一区二区| 国产精品久久午夜夜伦鲁鲁| 亚洲第一在线| 久久精品国产96久久久香蕉| 欧美激情一区二区三区全黄| 国产一区二区三区在线观看视频| 亚洲国产欧美不卡在线观看| 久久av最新网址| 欧美四级剧情无删版影片| 亚洲国产精品高清久久久| 欧美在线视频在线播放完整版免费观看 | 欧美视频在线观看一区二区| 精品999网站| 欧美一区2区三区4区公司二百| 欧美日韩精品综合在线| 91久久香蕉国产日韩欧美9色| 久久精品国产精品亚洲| 国产日产欧美精品| 午夜精品成人在线| 国产人成一区二区三区影院| 亚洲影视在线播放| 欧美激情一区二区三区全黄| 国产色视频一区| 亚洲欧美日韩天堂| 国产精品综合久久久| 亚洲伊人色欲综合网| 欧美日韩精品一区二区| 亚洲欧洲一区二区在线播放| 免费亚洲网站| 亚洲国产欧美一区二区三区久久 | 欧美亚洲一区二区在线观看| 国产精品久久久久久久浪潮网站| 亚洲一级黄色| 国产亚洲精品久久久| 久久欧美肥婆一二区| 影音先锋亚洲一区| 欧美激情第三页| 亚洲天堂av在线免费| 国产日韩欧美在线播放不卡| 老司机精品视频一区二区三区| 亚洲清纯自拍| 国产精品亚洲人在线观看| 久久嫩草精品久久久精品| 亚洲麻豆av| 国产午夜久久| 欧美另类久久久品| 亚洲精品一区二区在线| 国产精品日韩一区二区三区| 久久亚洲精品欧美| 中文成人激情娱乐网| 国产综合色产在线精品| 欧美片网站免费| 午夜精品电影| 亚洲精品一区二区三区不| 国产精品久久久久久户外露出 | 国产欧美视频一区二区| 欧美**人妖| 亚洲欧美一级二级三级| 亚洲激情婷婷| 国产亚洲欧美一级| 欧美精品在线观看| 久久久国产一区二区| 一区二区三区精品视频在线观看| 国产日韩欧美在线播放不卡| 欧美人交a欧美精品| 久久久精品久久久久| 亚洲视频www| 亚洲清纯自拍| 国产精品一级二级三级| 免费在线视频一区| 欧美一区二区三区视频| 99精品热视频| 在线欧美一区| 国内视频一区| 国产美女精品| 国产精品揄拍500视频| 欧美激情视频给我| 久久精品最新地址| 亚洲欧美综合v| 一本色道88久久加勒比精品| 亚洲国产欧美在线| 在线免费观看视频一区| 黄色av日韩| 狠狠色丁香久久婷婷综合_中| 国产精品一区二区你懂的| 欧美午夜精品久久久久久浪潮| 欧美激情一区二区三区在线| 欧美 日韩 国产在线| 免费不卡在线观看| 老鸭窝毛片一区二区三区| 久久国产婷婷国产香蕉| 欧美一区二区三区精品电影| 亚洲一区二区在线播放| 亚洲一区二区三区在线观看视频| av成人手机在线| 中文国产成人精品| 亚洲淫片在线视频| 午夜精品理论片| 久久激五月天综合精品| 久久久国产精品亚洲一区| 久久成人精品电影| 久久性色av| 欧美好吊妞视频| 欧美视频一区在线观看| 国产精品久久久免费| 国产三级精品三级| 国产欧美日韩免费看aⅴ视频| 国产精品日韩在线播放| 国产伦精品一区二区三区照片91 | 一区二区三区回区在观看免费视频| 亚洲美女av在线播放| 一区二区三区四区五区视频| 亚洲欧美日韩精品综合在线观看| 欧美一区二区三区视频在线 | 狠狠色综合播放一区二区| 欲色影视综合吧| 日韩亚洲一区二区| 亚洲免费视频观看| 久久精品亚洲国产奇米99| 久久综合九色欧美综合狠狠| 免费日本视频一区| 国产精品成人va在线观看| 国产综合网站| 夜夜嗨av一区二区三区| 欧美中文在线观看| 欧美肥婆bbw| 国产乱码精品一区二区三区不卡| 狠狠色综合网站久久久久久久| 亚洲黄色在线观看| 午夜欧美精品| 欧美精品久久久久久久久老牛影院 | 国产毛片一区二区| 亚洲人成7777| 欧美专区18| 欧美午夜一区二区福利视频| 韩日视频一区| 亚洲欧美日韩中文视频| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美亚洲不卡| 亚洲美女诱惑| 久久久久久久久综合| 国产精品高潮呻吟久久av无限| 亚洲大片精品永久免费| 欧美一级久久| 国产精品视频99| 99av国产精品欲麻豆| 鲁大师影院一区二区三区| 国产精品国产三级国产| 亚洲人在线视频| 久久久久国产精品人| 国产精品久久久一本精品| 99国产精品久久| 欧美极品影院| 亚洲精品1234| 欧美成人午夜影院| 亚洲风情在线资源站| 久久成人人人人精品欧| 国产精品裸体一区二区三区| 日韩图片一区| 欧美韩日亚洲| 激情综合色丁香一区二区| 欧美伊人久久| 国产日韩精品入口| 欧美一区二区三区在线播放| 国产嫩草一区二区三区在线观看 | 国产精品第三页| 在线亚洲欧美专区二区| 欧美日本久久| 91久久综合亚洲鲁鲁五月天| 久久久久久亚洲综合影院红桃| 国产精品一区二区久久精品| 性伦欧美刺激片在线观看| 国产伦精品一区二区三区视频孕妇 | 亚洲网站在线看| 欧美午夜a级限制福利片| 亚洲每日更新| 国产精品白丝jk黑袜喷水| 亚洲一区二区三区视频播放| 国产精品青草久久久久福利99| 亚洲综合精品| 国产日韩精品久久久| 久久丁香综合五月国产三级网站| 国产亚洲福利一区| 鲁大师影院一区二区三区| 亚洲青色在线| 国产精品久久久久aaaa樱花|