2019亚洲日韩新视频_97精品在线观看_国产成人精品一区二区_91精品网站在线观看

探究MiniGUI到EV44B0Ⅱ上移植

來源:期刊VIP網所屬分類:光電技術時間:瀏覽:

  摘 要:詳細介紹了MiniGUI到EV44B0II的移植過程,主要就是編寫適用于目標硬件的GAL圖形引擎和IAL輸入引擎。上述移植可以快速構建一個可視化軟件系統,“嵌入式Linux+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等文件。

主站蜘蛛池模板: 黄浦区| 长岭县| 南和县| 绵阳市| 江安县| 措勤县| 军事| 长阳| 阿坝县| 桂东县| 大名县| 扎赉特旗| 石林| 米脂县| 深泽县| 巴彦县| 波密县| 冀州市| 钦州市| 云阳县| 建湖县| 天津市| 松潘县| 建平县| 洛南县| 雷州市| 清苑县| 历史| 虞城县| 韶关市| 东宁县| 阿克陶县| 交城县| 绥德县| 哈尔滨市| 林口县| 四会市| 正宁县| 鄱阳县| 合水县| 阿克苏市|