新聞中心

移植ucGUI到s3c2440

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

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

本文引用地址:http://m.butianyuan.cn/article/201611/317290.htm

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

2、參考《基于MDK+jlink平臺s3c2440裸機(jī)程序》建立工程S3C2440-ucGUI。
直接用友善之臂裸機(jī)下的s3c2440 LCD底層驅(qū)動,在MDK環(huán)境調(diào)通LCD驅(qū)動。

3、復(fù)制源碼到工程目錄下
A.復(fù)制Config和gui目錄到工程目錄下。
B.復(fù)制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
相應(yīng)的文件夾下的全部文件添加進(jìn)相應(yīng)的組下,
把GUI-LCDDriver下的LCDWin.c和GUI_X下的GUI_X.c添加進(jìn)相應(yīng)的組下。

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 ..之后,添加以下代碼:(前三個函數(shù)還沒寫好,目前只是為了編譯通過)

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); /* 這個函數(shù)是底層控制LCD在指定點畫點的函數(shù) */
}

7、ucGUI的頭文件路徑:
Config
GUI/Core
GUI/Widget (如果使用到視窗控件庫)
GUI/WM (如果使用視窗管理器)
將目前使用到的前兩個包含路徑添加進(jìn)工程:
"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!");

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


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



關(guān)鍵詞: 移植ucGUIs3c244

評論


技術(shù)專區(qū)

關(guān)閉