新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 移植ucGUI到s3c2440

        移植ucGUI到s3c2440

        作者: 時間:2016-11-10 來源:網絡 收藏
        說明:此文檔,可能遺漏一些修改過的地方,根據編譯情況,自行修改。

        會在以后的完善過程中更新文檔。

        本文引用地址:http://www.104case.com/article/201611/317290.htm

        1、在http://www.ucgui.com/zuoping.asp下載uc/GUI 3.24版源碼

        2、參考《基于MDK+jlink平臺s3c2440裸機程序》建立工程S3C2440-ucGUI
        直接用友善之臂裸機下的s3c2440 LCD底層驅動,在MDK環境調通LCD驅動。

        3、復制源碼到工程目錄下
        A.復制Config和gui目錄到工程目錄下。
        B.復制Sample目錄下的GUI_X目錄到工程目錄下,要用到GUI_X.c

        4、添加源代碼到工程中。
        A.在Project Workspace下"New Group"建立以下組:
        Config GUI-Core GUI-ConvertColor
        GUI-ConvertMono GUI-LCDDriver GUI-Font GUI_X
        B.把Config GUI-Core GUI-ConvertColor GUI-ConvertMono GUI-Font
        相應的文件夾下的全部文件添加進相應的組下,
        把GUI-LCDDriver下的LCDWin.c和GUI_X下的GUI_X.c添加進相應的組下。

        5、修改配置文件
        A.LCDConf.h
        #define LCD_XSIZE (320)
        #define LCD_YSIZE (240)

        #define LCD_BITSPERPIXEL (16)
        #define LCD_CONTROLLER 1375
        B.GUIConf.h
        #define GUI_OS (0)
        #define GUI_SUPPORT_TOUCH (0)
        #define GUI_SUPPORT_UNICODE (1)

        #define GUI_DEFAULT_FONT &GUI_Font6x8
        #define GUI_ALLOC_SIZE 12500

        #define GUI_WINSUPPORT 0
        #define GUI_SUPPORT_MEMDEV 0
        #define GUI_SUPPORT_AA 0

        6、修改.c文件
        A.在GUI_X.c末尾添加:
        void GUI_X_Warn(const char *s){}
        void GUI_X_ErrorOut(const char *s){}
        B.LCDWin.c
        把以下幾行注釋掉:(否則,編譯不了這個C文件)
        //??#if defined(WIN32) && !defined(LCD_SIMCONTROLLER)

        //??#include
        //??#include "memory.h"

        //#else
        //#endif /* defined(WIN32) && defined(LCD_USE_WINSIM) */

        在#include ..之后,添加以下代碼:(前三個函數還沒寫好,目前只是為了編譯通過)

        int LCDSIM_GetPixelIndex(int x, int y){return 0;}
        void LCDSIM_SetLUTEntry(U8 Pos, LCD_COLOR color){}
        int LCDSIM_GetPixelColor(int x, int y){return 0;}
        void LCDSIM_SetPixelIndex(int x, int y, int Index)
        {
        PutPixel(x, y, Index); /* 這個函數是底層控制LCD在指定點畫點的函數 */
        }

        7、ucGUI的頭文件路徑:
        Config
        GUI/Core
        GUI/Widget (如果使用到視窗控件庫)
        GUI/WM (如果使用視窗管理器)
        將目前使用到的前兩個包含路徑添加進工程:
        "Option for Target Target 1 -> "C/C++" -> "Include Paths"

        8、測試程序:
        在初始完LCD硬件的后面,初始化GUI
        Lcd_Init();
        Lcd_PowerEnable(0, 1);
        Lcd_EnvidOnOff(1);//turn on vedio

        Lcd_ClearScr( (0x00<<11) | (0x00<<5) | (0x00) );

        GUI_Init();
        GUI_DispString("Hello world!");

        更新中............


        主要步驟總結:一、調通LCD硬件的底層驅動。
        二、將ucGUI源代碼加入工程,想辦法,通過構造空接口函數編譯通過。
        三、修改接口函數,讓ucGUI能通過調用底層接口,控制LCD。
        四、逐步添加功能,如抗鋸齒,窗口,觸摸屏



        關鍵詞: 移植ucGUIs3c244

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 辽宁省| 开鲁县| 米泉市| 常州市| 尚义县| 金阳县| 安徽省| 平武县| 平山县| 临西县| 靖江市| 阳山县| 隆昌县| 三亚市| 耒阳市| 平远县| 贵溪市| 济南市| 巴林左旗| 大余县| 静乐县| 望奎县| 略阳县| 安宁市| 巢湖市| 南皮县| 安化县| 酒泉市| 石渠县| 延庆县| 汝城县| 子长县| 彩票| 远安县| 察雅县| 卢龙县| 新化县| 惠水县| 普兰县| 泸定县| 秭归县|