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等文件。

主站蜘蛛池模板: 营山县| 扶绥县| 繁峙县| 大方县| 宜昌市| 仁化县| 香格里拉县| 漳平市| 新巴尔虎右旗| 乐平市| 定州市| 彭泽县| 年辖:市辖区| 罗甸县| 永登县| 丹棱县| 湟中县| 海伦市| 衡阳市| 威宁| 鹿邑县| 西乌| 招远市| 西乡县| 马公市| 松阳县| 临夏市| 达州市| 徐汇区| 新民市| 庄浪县| 大安市| 迁安市| 昌吉市| 北票市| 枣阳市| 新邵县| 宜兰市| 安乡县| 清远市| 陈巴尔虎旗|