機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
MiniGUI1.33開源版在ARMSYS2410-B上的移植
MiniGUI1.33開源版在ARMSYS2410-B上的移植
 更新時間:2009-6-4 10:21:47  點擊數(shù):1
【字體: 字體顏色
準備 (a)    建立如下目錄:        minigui              |--build_x86                /建立PC上運行的MiniGUI              |--build_arm                /建立ARM上運行的MiniGUI              |--tarball                   /所有的包資源存放點(b)   download MiniGUI:        從www.minigui.com下載libminigui-1.3.3.tar.gz 和minigui-res-1.3.3.tar.gz并且放        tarball目錄        (起始目錄:minigui)             #cd build_x86             #tar zxvf ../tarball/libminigui-1.3.3.tar.gz             #tar zxvf ../tarball/minigui-res-1.3.3.tar.gz             #cd ../build_arm             #tar zxvf ../tarball/libminigui-1.3.3.tar.gz             #cd ..(c)    download and install qvfb:        從www.minigui.com下載qvfb-1.0.tar.gz,放入tarball目錄        #cd build_x86              #tar zxvf ../tarball/qvfb-1.0.tar.gz             #cd qvfb-1.0             #./configure             #make             #make install             #cd ..(d)    建立范例程序:        test.c              --------------------------------------------------------------------------test.c begin             #include <minigui/common.h>             #include <minigui/minigui.h>             #include <minigui/gdi.h>             #include <minigui/window.h>             #include <minigui/control.h>      #define MWINDOW_LX 10     #define MWINDOW_TY 50     #define MWINDOW_RX 230     #define MWINDOW_BY 180      static char * hello_str = "HelloMiniGUI!";      HWND hMainWnd;      static int WinProc (HWND hWnd, int message, WPARAM wParam, LPARAM lParam){HDC hdc;RECT rc; 
switch (message){case MSG_PAINT :        hdc = BeginPaint(hWnd);        GetClientRect(hWnd, &rc);        DrawText(hdc, hello_str, -1, &rc, DT_LEFT);        EndPaint(hWnd, hdc);        break;case MSG_CLOSE :        DestroyMainWindow(hWnd);        PostQuitMessage(hWnd);        break;default        :        return(DefaultMainWinProc(hWnd, message, wParam, lParam));}return(0);} 
int InitMainWindow(void){MAINWINCREATE window_info; 
window_info.dwStyle       = WS_VISIBLE | WS_BORDER | WS_CAPTION;window_info.dwExStyle   = WS_EX_NONE;window_info.spCaption     = "MiniGUI";window_info.hMenu        = 0;window_info.hCursor       = GetSystemCursor(0);window_info.hIcon        = 0;window_info.MainWindowProc   = WinProc;window_info.lx              = MWINDOW_LX;window_info.ty             = MWINDOW_TY;window_info.rx             = MWINDOW_RX;window_info.by             = MWINDOW_BY;window_info.iBkColor       = COLOR_lightwhite;window_info.dwAddData  = 0;window_info.hHosting      = HWND_DESKTOP;hMainWnd         = CreateMainWindow(&window_info);if (hMainWnd == HWND_INVALID)return(0);elsereturn(1);} 
int MiniGUIMain (int argc, const char ** argv){MSG Msg; 
#ifdef _LITE_VERSIONSetDesktopRect(0, 0, 800, 600);#endif 
InitMainWindow();ShowWindow(hMainWnd, SW_SHOWNORMAL); 
while (GetMessage(&Msg, hMainWnd)){TranslateMessage(&Msg);DispatchMessage(&Msg);}MainWindowThreadCleanup(hMainWnd);return(0);} 
#ifndef _LITE_VERSION#include <minigui/dti.c>#endif--------------------------------------------------------------------------test.c end 
1.  Build MiniGUI for PC:(a) build lib#Cd build_x86#Cd libminigui-1.3.3#./configure#make#make install#cd ..(b) install resource        #cd minigui-res-1.3.3        #make install        #cd ..        (資源被安裝到/usr/local/lib/minigui/中)(c) build and run test        #gcc –o test test.c –lpthread –lminigui –ljpeg –lpng –lz –lttf        把/usr/local/etc/MiniGUI.cfg中[system]組的gal_engine和ial_engine的值都改成qvfb              #qvfb –width 640 –height 480 –depth 16 &        #./test        #cd .. 2.  Build MiniGUI for ARM:(a)    build lib#cd build_arm#cd libminigui-1.3.3#make menuconfig在默認的設(shè)置下將“GAL engine options”中的“NEWGAL”改成“OLDGAL”;將“Font options”中的最后三項保留,其余全部不選;將“Image options”中對JPG和PNG的support去掉;將“Development environment options”中“Compiler”設(shè)置成“arm-linux-gcc”,“Path prefix”設(shè)置成“/usr/local/arm/2.95.3/arm-linux”(假設(shè)交叉編譯環(huán)境安裝在/usr/local/arm)。其余選項全部取默認值。保存修改并退出menuconfig#make#make install#cd ..(b)    build test.c#arm-linux-gcc –o test test.c –lpthread –lminigui這樣就會產(chǎn)生一個名為test的文件。(c)    設(shè)置root file system假設(shè)已經(jīng)有一個可以用的root file system把先前安裝在/usr/local/arm/2.95.3/arm-linux/lib下的庫文件復(fù)制到目標文件系統(tǒng)的/lib目錄下。如果分不清楚那個目錄下哪些是需要復(fù)制的庫文件,可以重復(fù)一次2.(a)的過程,并且把其中“Path prefix”的值改成你事先建立的一個空的目錄的路徑。比如,我建立了一個新的目錄/root/need,并且把“Path prefix”的值改成了“/root/need”, 那么在執(zhí)行完2.(a)后,/root/need/lib目錄下的所有文件就是我們所需要復(fù)制的MiniGUI庫文件。(這個辦法很冗余-_-)把/usr/local/etc/MiniGUI.cfg文件復(fù)制到目標文件系統(tǒng)的/usr/local/etc/目錄下,并且修改該文件,將[system]組中的gal_engine的值改成“fbcon” ial_engine的值改成“console” mdev的值改成“/dev/mouse” mtype的值改成“PS2”,將[fbcon]組中的defaultmode改成“640x480-16bpp”(根據(jù)實際情況而定)。把/usr/local/lib/minigui/res整個目錄復(fù)制到目標文件系統(tǒng)的/usr/local/lib/minigui中。最后把剛才編譯好的test文件復(fù)制到目標文件系統(tǒng)的/bin下面。(d)    設(shè)置鼠標我的LCD沒有帶觸摸屏,所以要設(shè)置鼠標,我的鼠標是USB口的。修改文件系統(tǒng)的/etc/init.d/rcS,添加一行:“l(fā)n /dev/input/mice /dev/mouse”(e)    run給板子上電,通過minicom執(zhí)行:#test &就能在LCD上看到運行結(jié)果了。
<!--插入廣告JS代碼-->
  • 上一篇: 基于AT91RM9200微處理器的最小系統(tǒng)設(shè)計
  • 下一篇: 基于ARM處理器的CAN-Ethernet通信模塊實現(xiàn)
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1