uCGUI如何移植到S3C44B0X
?、?uCGUI移植需要修改的文件有:修改Main.c,LCDConf.h,在LCDDrive文件夾添加LCD 44b0.h, LCD 44b0.c其中LCD 44b0.h是LCD 44b0.c的聲明,LCD 44b0.c提供一系列LCD底層函數(shù)接口。
?、?若要支持DMA模式還要添加一個(gè)LCDMemc.h, LCDMemc.c文件。LCDMemc.h使LCDMemc.c的聲明,LCDMemc.c使DMA模式的底層接口函數(shù)。
?、?若要支持觸摸屏和鼠標(biāo)還需要在GUICONF.H中修改一下定義:
#define GUI_SUPPORT_TOUCH (1)
使GUI支持鼠標(biāo)觸摸屏,并配置GUITouchConf.h文件。在GUITouch下添加相應(yīng)的接口驅(qū)動(dòng)。
我們主要移植的使LCD的直接驅(qū)動(dòng)模式,所以只需要修改1>就行了。
我用的是JediView(for ARM)集成調(diào)試環(huán)境,其它環(huán)境類似,硬件為S3C44b0X,LCD為256色彩色液晶,分辨率為320×240。
四、實(shí)驗(yàn)設(shè)備及工具(包括軟件調(diào)試工具)
硬件: Micetek 44B0 實(shí)驗(yàn)系統(tǒng)
JEDI仿真器
PC機(jī) Pentumn100以上
軟件: PC機(jī)操作系統(tǒng)win2000
JEDIView集成開發(fā)環(huán)境
五、程序說明
新建一個(gè)文件夾uCGUI,添加以上體系的所有文件夾及文件加到uCGUI文件夾,刪除LCDDrive文件夾下的LCDWin.c,它是在VC下的仿真驅(qū)動(dòng)程序,在LCDDrive文件夾添加LCD 44b0.h, LCD 44b0.c。暫時(shí)不移植觸摸屏驅(qū)動(dòng),可保持Touch目錄為空,以后擴(kuò)展時(shí)再用。
在uCGUI目錄下新建一個(gè)Inc文件夾,將option.h, 44b.h, 44blib.h, def.h,cache.h,lcdlib.h,44blcd.h添加進(jìn)來。
將lcdlib.c添加到Application文件夾。
新建一個(gè)工程也叫uCGUI,添加以上體系的所有文件夾及其內(nèi)部文件加到uCGU工程。
修改include配置:打開 Tools->Option->Directory->Include Files添加路徑
……uCGUIguiConvertColor
……uCGUIguiConvertMono
……uCGUIguiCore
……uCGUIguiFont
……uCGUIguiLCDDriver
……uCGUIguiMemDev
……uCGUIguiWidget
……uCGUIguiWM
……uCGUIguiTouch
……:ucOSConfig
……guiApplication
其中……為你所建工程所在路徑,以上這些路徑在有的編譯器可不加,自動(dòng)找到,在JediView(for ARM)集成調(diào)試環(huán)境需要添加。
由于uCGUI 用到了數(shù)學(xué)庫(kù),在Gcc編譯器下需要在link設(shè)置中添加-lm參數(shù),使編譯器可以找到數(shù)學(xué)庫(kù)。
六、實(shí)驗(yàn)現(xiàn)象
液晶顯示屏顯示的是實(shí)驗(yàn)結(jié)果,其中第2行的數(shù)值不斷加1跳變。
評(píng)論