中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      MiniGUI到EV44B0Ⅱ上的移植研究

      時(shí)間:2024-07-08 04:27:11 計(jì)算機(jī)軟件畢業(yè)論文 我要投稿
      • 相關(guān)推薦

      MiniGUI到EV44B0Ⅱ上的移植研究

      摘  要:MiniGUI建立在比較成熟的圖形引擎之上,其特點(diǎn)是小巧精致并盡量保持與Win32的兼容。講解MiniGUI到EV44B0II的移植工作,提出MiniGUI軟件移植的基本步驟。
      關(guān)鍵詞:MiniGUI;圖形引擎;EV44B0II;移植
              引言
              要在自己的ARM嵌入式系統(tǒng)[1]中使用MiniGUI,首先目標(biāo)板要有足夠的硬件資源;之后為目標(biāo)板編寫MiniGUI的圖形引擎(GAL)和輸入引擎(IAL)[2];接下來就可以配置MiniGUI交叉編譯MiniGUI函數(shù)庫及其應(yīng)用程序;編譯通過后,就可以在目標(biāo)板上搭建MiniGUI應(yīng)用環(huán)境;最后就可以啟動(dòng)MiniGUI應(yīng)用程序了。
              1 MiniGUI
              只要某個(gè)硬件平臺(tái)上運(yùn)行有MiniGUI所支持的操作系統(tǒng),MiniGUI就能在這個(gè)平臺(tái)上運(yùn)行。MiniGUI本身的占用空間非常小,在2MB到4M左右。在某些系統(tǒng)上,尤其是在傳統(tǒng)嵌入式操作系統(tǒng)中,功能完備的MiniGUI系統(tǒng)本身所占用的空間可進(jìn)一步縮小到1MB以內(nèi)。和其它針對(duì)嵌入式產(chǎn)品的圖形系統(tǒng)相比,MiniGUI對(duì)系統(tǒng)的需求具有如下幾大優(yōu)勢(shì):可伸縮性強(qiáng)、輕型、占用資源少、高性能、高可靠性和可配置性。
              2 移植過程
              2.1在PC機(jī)上安裝MiniGUI
              將MiniGUI函數(shù)庫源代碼、資源文件復(fù)制到PC機(jī)的Linux操作系統(tǒng)的特定目錄下,解壓,以便于進(jìn)行交叉編譯。在“終端”窗口使用以下命令完成解壓,對(duì)于較長(zhǎng)的文件名或目錄名,可以使用“*”通配符指定。
              #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目錄下建立一個(gè)源文件commlcd.c,編寫老的GAL接口的幾個(gè)接口函數(shù)[3]。
              //使用native圖形引擎的數(shù)據(jù)結(jié)構(gòu)和fb(Framebuffer)的驅(qū)動(dòng)程序
              #include  "native.h"
              #include  "fb.h"
              #include  "lcddrive.h"
              //圖形引擎初始化函數(shù)
              //初始化正確返回PSD結(jié)構(gòu),否則返回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目錄下建立液晶驅(qū)動(dòng)程序文件lcddrive.c和lcddrive.h,由于在lcddrive.c文件中使用了S3C44B0的頭文件,所以要將此文件復(fù)制到libminigui-str-1.6.2/src/gal/native目錄下。設(shè)置libminigui-str-1.6.2/src/gal/native目錄下的Makefile.am文件,在lib_native_la_SOURCES變量最后加入lcddrive.c和commlcd.c等文件。

      MiniGUI到EV44B0Ⅱ上的移植研究

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

      【MiniGUI到EV44B0Ⅱ上的移植研究】相關(guān)文章:

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

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

      嵌入式Linux系統(tǒng)中的GUI系統(tǒng)的研究與移植03-18

      基于minigui的網(wǎng)真機(jī)界面的實(shí)現(xiàn)02-22

      支票在ATM上的應(yīng)用問題研究03-23

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

      試論多媒體屏幕上呈現(xiàn)信息的研究03-02

      傳統(tǒng)知識(shí)保護(hù)的法律問題研究(上)03-18

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

      主站蜘蛛池模板: 中文字幕精品永久在线| 久久久久一| 亚洲成a人片在线观看中文!!!| 99在线国产视频| 日本二区三区视频免费观看| 国产美女av一区二区三区| 国产日韩av一区二区在线| 聂拉木县| 久天啪天天久久99久孕妇| 欧洲无码一级毛片无遮挡| av最新版天堂在资源在线 | 久久一二三四区中文字幕| 无码啪啪熟妇人妻区| 西城区| 昌乐县| 苍梧县| 民乐县| 最新国产成人综合在线观看| 色乱码一区二区三区在线| 2022AV一区在线| www.亚洲天堂.com| 午夜国产精品久久久久| 青青草亚洲在线一区观看| 久久久9色精品国产一区二区三区| 蜜桃视频在线免费观看一区二区| 西平县| 佛冈县| 昌乐县| 久久久久AV成人无码网站| 国产一区二区a毛片色欲| 国产在线AⅤ精品性色| 亚洲综合色一区二区三区| 国产96在线 | 免费| 真实国产网爆门事件在线观看| 中文字幕亚洲无线码a| 色婷婷久久免费网站| 黑丝美女被内射在线观看| 国产一区二区三区色区| 亚洲视频在线观看二区三区| 开心五月婷婷激情综合| 日韩av在线播放天堂网|