《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > uCGUI如何移植到S3C44B0X
uCGUI如何移植到S3C44B0X
摘要: uCGUI如何移植到S3C44B0X,一,、實驗?zāi)康?.初步掌握uCGUI底層硬件驅(qū)動函數(shù);2.掌握將uCGUI移植到ARMS3C44BOX上的方法和步驟,。二、實驗內(nèi)容移植uCGUI到ARM處理器S3C44BOX上,,并編寫HelloWorld程序,,在Micetek44B0實驗平臺的
關(guān)鍵詞: 軟件 S3C44B0X 移植 uCGUI
Abstract:
Key words :

一,、實驗?zāi)康?/p>

  1. 初步掌握uCGUI底層硬件驅(qū)動函數(shù);

  2. 掌握將uCGUI移植到ARM S3C44BOX上的方法和步驟。

  二,、實驗內(nèi)容

  移植uCGUI到ARM處理器S3C44BOX上,,并編寫Hello World程序,在Micetek 44B0實驗平臺的LCD上顯示“Hello World!”字符串,,在LCD顯示平面坐標(biāo)(20,,20)處,顯示一個小于10000的整數(shù),,該整數(shù)不斷循環(huán)加1,,每次加1后立即更新顯示,從而反應(yīng)出顯示輸出的速度,。

  三,、預(yù)備知識

  1. uCGUI的體系結(jié)構(gòu):

  uCGUI包含三個總的文件夾:Application,Config,GUI.其中:

  Ⅰ Application是應(yīng)用程序的文件夾,,它中間包含主函數(shù)文件,,其它資源文件。

 ?、?Config是GUI的配置文件夾,,它包含三個文件:

  ★ GUICONF.H是uCGUI的配置文件,負責(zé)配置GUI的對OS,window manager,DMA,觸摸屏,,Unicode碼的支持,。以及設(shè)置默認字體和各種控件的默認顏色等。

  ★ GUITouchConf.h負責(zé)配置觸摸屏,。

  ★ LCDConf.h負責(zé)配置LCD顯示器,,如分辨率,顏色位數(shù),以及LCD控制器的其它設(shè)置,。

 ?、?GUI是uCGUI的實現(xiàn)部分,它是GUI最重要的組成部分,,其中包含八—九個文件夾,。

  ★ ConvertColor是彩色顏色轉(zhuǎn)換文件夾,它里面包含24位色—各種顏色之間的轉(zhuǎn)換的函數(shù),。

  ★ ConvertMono是灰度顏色轉(zhuǎn)換文件夾,,它里面包含24位色—單色,四級灰度,,16級灰度和用戶自定義顏色之間轉(zhuǎn)換的函數(shù),。

  ★ Core是GUI的核心,,GUI多數(shù)的處理函數(shù)都在這個文件夾里面,。

  ★ Font是GUI的字體文件夾,我們可以通過對它里面文件的增減來增刪字體,。

  ★ LCDDriver是GUI的底層接口部分我們所移植的部分就應(yīng)該在這個文件夾,。

  ★ MemDev是GUI的DMA模式的一些處理函數(shù)文件。

  ★ Widget里面含有各種窗口控件,,如對話框,,按鈕等控件。

  ★ WM是GUI的窗口消息處理函數(shù)文件夾,。

  ★ Touch是觸摸屏和鼠標(biāo)的底層接口部分,。2.UCGUI需要移植的部分

 

  ① uCGUI移植需要修改的文件有:修改Main.c,LCDConf.h,在LCDDrive文件夾添加LCD 44b0.h, LCD 44b0.c其中LCD 44b0.h是LCD 44b0.c的聲明,,LCD 44b0.c提供一系列LCD底層函數(shù)接口,。

  ② 若要支持DMA模式還要添加一個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ū)動,。

  我們主要移植的使LCD的直接驅(qū)動模式,所以只需要修改<1>就行了,。

  我用的是JediView(for ARM)集成調(diào)試環(huán)境,其它環(huán)境類似,硬件為S3C44b0X,LCD為256色彩色液晶,,分辨率為320×240,。

  四、實驗設(shè)備及工具(包括軟件調(diào)試工具)

  硬件: Micetek 44B0 實驗系統(tǒng)

  JEDI仿真器

  PC機 Pentumn100以上

  軟件: PC機操作系統(tǒng)win2000

  JEDIView集成開發(fā)環(huán)境

  五、程序說明

  新建一個文件夾uCGUI,,添加以上體系的所有文件夾及文件加到uCGUI文件夾,,刪除LCDDrive文件夾下的LCDWin.c,它是在VC下的仿真驅(qū)動程序,,在LCDDrive文件夾添加LCD 44b0.h, LCD 44b0.c,。暫時不移植觸摸屏驅(qū)動,可保持Touch目錄為空,,以后擴展時再用,。

  在uCGUI目錄下新建一個Inc文件夾,將option.h,, 44b.h,, 44blib.h, def.h,,cache.h,,lcdlib.h,44blcd.h添加進來,。

  將lcdlib.c添加到Application文件夾,。

  新建一個工程也叫uCGUI,添加以上體系的所有文件夾及其內(nèi)部文件加到uCGU工程。

  修改include配置:打開 Tools->Option->Directory->Include Files添加路徑

  ……uCGUIguiConvertColor

  ……uCGUIguiConvertMono

  ……uCGUIguiCore

  ……uCGUIguiFont

  ……uCGUIguiLCDDriver

  ……uCGUIguiMemDev

  ……uCGUIguiWidget

  ……uCGUIguiWM

  ……uCGUIguiTouch

  ……:ucOSConfig

  ……guiApplication

  其中……為你所建工程所在路徑,,以上這些路徑在有的編譯器可不加,,自動找到,在JediView(for ARM)集成調(diào)試環(huán)境需要添加,。

  由于uCGUI 用到了數(shù)學(xué)庫,,在Gcc編譯器下需要在link設(shè)置中添加-lm參數(shù),使編譯器可以找到數(shù)學(xué)庫,。

  六,、實驗現(xiàn)象

  液晶顯示屏顯示的是實驗結(jié)果,其中第2行的數(shù)值不斷加1跳變,。

  

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。