<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • MiniGUI到EV44B0Ⅱ上的移植研究

    時間:2024-07-08 04:27:11 計算機軟件畢業論文 我要投稿
    • 相關推薦

    MiniGUI到EV44B0Ⅱ上的移植研究

    摘  要:MiniGUI建立在比較成熟的圖形引擎之上,其特點是小巧精致并盡量保持與Win32的兼容。講解MiniGUI到EV44B0II的移植工作,提出MiniGUI軟件移植的基本步驟。
    關鍵詞:MiniGUI;圖形引擎;EV44B0II;移植
            引言
            要在自己的ARM嵌入式系統[1]中使用MiniGUI,首先目標板要有足夠的硬件資源;之后為目標板編寫MiniGUI的圖形引擎(GAL)和輸入引擎(IAL)[2];接下來就可以配置MiniGUI交叉編譯MiniGUI函數庫及其應用程序;編譯通過后,就可以在目標板上搭建MiniGUI應用環境;最后就可以啟動MiniGUI應用程序了。
            1 MiniGUI
            只要某個硬件平臺上運行有MiniGUI所支持的操作系統,MiniGUI就能在這個平臺上運行。MiniGUI本身的占用空間非常小,在2MB到4M左右。在某些系統上,尤其是在傳統嵌入式操作系統中,功能完備的MiniGUI系統本身所占用的空間可進一步縮小到1MB以內。和其它針對嵌入式產品的圖形系統相比,MiniGUI對系統的需求具有如下幾大優勢:可伸縮性強、輕型、占用資源少、高性能、高可靠性和可配置性。
            2 移植過程
            2.1在PC機上安裝MiniGUI
            將MiniGUI函數庫源代碼、資源文件復制到PC機的Linux操作系統的特定目錄下,解壓,以便于進行交叉編譯。在“終端”窗口使用以下命令完成解壓,對于較長的文件名或目錄名,可以使用“*”通配符指定。
            #cd  /home/minigui
            #tar  zxf  lib*.gz
            #tar  zxf  mini*.gz
            #tar  zxf  mg*.gz
            2.2 MiniGUI的GAL移植
            MiniGUI引入了圖形抽象層和輸入抽象層(Graphics and Input Abstract Layers,即GAL和IAL)的概念。在libminigui-str-1.6.2/src/gal/native目錄下建立一個源文件commlcd.c,編寫老的GAL接口的幾個接口函數[3]。
            //使用native圖形引擎的數據結構和fb(Framebuffer)的驅動程序
            #include  "native.h"
            #include  "fb.h"
            #include  "lcddrive.h"
            //圖形引擎初始化函數
            //初始化正確返回PSD結構,否則返回NULL
            Static PSD  fb_open(PSD psd)
            { PSUBDRIVER subdriver;
            TftInit();
            Fprintf(stderr,"GAL Common engine:Init LCM!\n");
            psd->planes=1;  //單屏
            #if SWAP_XY_EN==1
            psd->xres=GUI_LCM_YMAX;
            psd->yres=GUI_LCM_XMAX;
            #else
            psd->xres=GUI_LCM_XMAX;
            psd->yres=GUI_LCM_YMAX;
            #endif
            };
            在libminigui-str-1.6.2/src/gal/native目錄下建立液晶驅動程序文件lcddrive.c和lcddrive.h,由于在lcddrive.c文件中使用了S3C44B0的頭文件,所以要將此文件復制到libminigui-str-1.6.2/src/gal/native目錄下。設置libminigui-str-1.6.2/src/gal/native目錄下的Makefile.am文件,在lib_native_la_SOURCES變量最后加入lcddrive.c和commlcd.c等文件。

    MiniGUI到EV44B0Ⅱ上的移植研究

          為了使MiniGUI能夠正確使用移植的圖形引擎,還需要進行注冊[4]。
            2.3 MiniGUI的IAL移植
            在libminigui-str-1.6.2/src/ial目錄下建立源文件comminput.c及頭文件comminput.h,在comminput.c文件中編寫IAL接口的幾個接口函數。
            在libminigui-str-1.6.2/src/ial建立鍵盤驅動程序文件comm_drive.c,實現鍵盤的讀取和鍵碼的轉換,具體源代碼在Micetek EV44B0II產品的配套光盤上。鍵盤驅動程序文件comm_drive.c把EV44B0II開發板上的16個按鍵定義為0~9、TAB、ESC和ENTER等功能。設置libminigui-str-1.6.2/src/ial目錄下的Makefile.am文件,新定義一個變量COMMINPUT_SRCS,變量賦值為comminput.c和comm_drive.c等文件,并在libial_la_SOURCES變量最后加入COMMINPUT_SRCS的引用,這樣在編譯MiniGUI時就可以編譯這些移植的IAL源文件了。
            為了使MiniGUI能夠正確使用移植的輸入引擎,還需要進行注冊。
            2.4交叉編譯MiniGUI
            針對EV44B0II開發板需要專門編寫一個配置腳本buildlib-ev44b0ii,文件保存在libminigui-1.6.2目錄下。可以從libminigui-str-1.6.2/build目錄下復制build-uCLinux-s3c44b0文件,然后更改文件名為buildlib-ev44b0ii,修改文件內容即可。
            2.5設置MiniGUI運行環境
            打開“終端”窗口,執行以下指令安裝資源文件。執行完以下指令后,在/usr/local/lib/minigui目錄下會產生一個res目錄,該目錄下保存有MiniGUI的資源文件(如圖片、圖表和字體等)。
            #cd  /home/minigui/minigui-res-str-1.6
            #make  install
            MiniGUI運行時需要使用MiniGUI.cfg,主要配置使用的有圖形引擎、輸入引擎和窗口字體等。修改/home/minigui_lib/etc目錄下MiniGUI.cfg文件,使用commlcd圖形引擎和comm輸入引擎。
            結語
            詳細介紹了MiniGUI到EV44B0II的移植過程,主要就是編寫適用于目標硬件的GAL圖形引擎和IAL輸入引擎。上述移植可以快速構建一個可視化軟件系統,“嵌入式Linux+MiniGUI圖形系統”的設計模式是嵌入式可視化軟件系統較理想的設計模式,將大大縮短嵌入式可視化軟件的開發周期。
    參考文獻
    [1]周立功.ARM嵌入式系統基礎教程[M].北京:北京航空航天大學出版社,2005.
    [2]詹瑾瑜,熊光澤,孫明.一種嵌入式GUI軟件結構實現方案[J].電子科技大學學報,2003,32(1):2-4.
    [3]馬曉波.嵌人式GUI的研制-GUI支撐技術的研究與實現[D].成都:電子科技大學碩士論文,2003:40-51.
    [4]施曉紅,周佳.精通GUI圖形界面編程[M].北京:北京大學出版社,2003.

    【MiniGUI到EV44B0Ⅱ上的移植研究】相關文章:

    嵌入式Linux的MiniGUI研究和移植03-18

    uC/OS-II在EP7312上的移植03-18

    嵌入式Linux系統中的GUI系統的研究與移植03-18

    基于minigui的網真機界面的實現02-22

    支票在ATM上的應用問題研究03-23

    μC/OS-II在凌陽單片機SPCE061A上的移植03-18

    試論多媒體屏幕上呈現信息的研究03-02

    傳統知識保護的法律問題研究(上)03-18

    嵌入式Linux下基于MiniGUI的信息終端軟件開發03-18

    主站蜘蛛池模板: 久久精品国产亚洲av日韩| 国产精品666| 18国产精品白浆在线观看免费| 国产精品午夜一级毛片密呀| 久久久久人妻一区精品性色av| 久久精品18| 9999国产精品欧美久久久久久| 久久夜色精品国产噜噜麻豆| 久久精品二区| 亚洲综合一区二区精品导航| 国产欧美日韩精品a在线观看 | 久久精品国产半推半就| 日韩av无码久久精品免费| 久久精品国产一区二区电影| 亚洲国产精品久久久久| 国产成人亚洲精品| 国产精品揄拍100视频| 无码人妻精品一区二区三区66| 精品国产亚洲男女在线线电影| 青青草国产精品久久| 91麻豆精品视频| 国产精品原创巨作av女教师| 欧美亚洲色综久久精品国产 | 成人国产精品一区二区视频| 久久99精品国产一区二区三区| 国产综合精品一区二区三区| 日韩精品一区二区三区色欲AV| 呦交小u女国产精品视频| 欧美精品三区| 欧美日韩精品一区二区视频| 久久久精品无码专区不卡| 国产观看精品一区二区三区| 欧美性videofree精品| 精品视频在线免费观看| 99久久99这里只有免费的精品| 国产福利精品一区二区| 国产精品久久久久久吹潮| 99免费精品视频| 久久99国产精品99久久| 日韩精品一区二区三区四区| 国产精品主播一区二区|