歡迎您光臨本站 登入註冊首頁

uCGUI 移植到 S3C44B0X實驗

admin @ 2014-03-25 , reply:0

概述

一、實驗目的1. 初步掌握uCGUI底層硬體驅動函數;2. 掌握將uCGUI移植到ARMS3C44BOX上的方法和步驟。二、實驗內容移植uCGUI到ARM處理器S3C44BOX上,……

一、實驗目的
1. 初步掌握uCGUI底層硬體驅動函數;
2. 掌握將uCGUI移植到ARM S3C44BOX上的方法和步驟。

二、實驗內容
移植uCGUI到ARM處理器S3C44BOX上,並編寫Hello World程序,在Micetek 44B0實驗平台的LCD上顯示“Hello World!”字元串,在LCD顯示平面坐標(20,20)處,顯示一個小於10000的整數,該整數不斷循環加1,每次加1后立即更新顯示,從而反應出顯示輸出的速度。

三、預備知識
1. uCGUI的體系結構:
uCGUI包含三個總的文件夾:Application,Config,GUI.其中:
Ⅰ  Application是應用程序的文件夾,它中間包含主函數文件,其它資源文件。
Ⅱ Config是GUI的配置文件夾,它包含三個文件:
  ★ GUICONF.H是uCGUI的配置文件,負責配置GUI的對OS,window manager,DMA,觸摸屏,Unicode碼的支持。以及設置默認字體和各種控制項的默認顏色等。
  ★ GUITouchConf.h負責配置觸摸屏。
  ★ LCDConf.h負責配置LCD顯示器,如解析度,顏色位數,以及LCD控制器的其它設置。
Ⅲ  GUI是uCGUI的實現部分,它是GUI最重要的組成部分,其中包含八—九個文件夾。
   ★  ConvertColor是彩色顏色轉換文件夾,它裡面包含24位色—各種顏色之間的轉換的函數。
   ★  ConvertMono是灰度顏色轉換文件夾,它裡面包含24位色—單色,四級灰度,16級灰度和用戶自定義顏色之間轉換的函數。
   ★  Core是GUI的核心,GUI多數的處理函數都在這個文件夾裡面。
   ★  Font是GUI的字體文件夾,我們可以通過對它裡面文件的增減來增刪字體。
   ★  LCDDriver是GUI的底層介面部分我們所移植的部分就應該在這個文件夾。
   ★  MemDev是GUI的DMA模式的一些處理函數文件。
   ★  Widget裡面含有各種窗口控制項,如對話框,按鈕等控制項。
   ★  WM是GUI的窗口消息處理函數文件夾。
   ★  Touch是觸摸屏和滑鼠的底層介面部分。
 2.UCGUI需要移植的部分
① uCGUI移植需要修改的文件有:修改Main.c,LCDConf.h,在LCDDrive文件夾添加LCD 44b0.h, LCD 44b0.c其中LCD 44b0.h是LCD 44b0.c的聲明,LCD 44b0.c提供一系列LCD底層函數介面。
② 若要支持DMA模式還要添加一個LCDMemc.h, LCDMemc.c文件。LCDMemc.h使LCDMemc.c的聲明,LCDMemc.c使DMA模式的底層介面函數。
③ 若要支持觸摸屏和滑鼠還需要在GUICONF.H中修改一下定義:   
#define GUI_SUPPORT_TOUCH         (1)
使GUI支持滑鼠觸摸屏,並配置GUITouchConf.h文件。在GUITouch下添加相應的介面驅動。
我們主要移植的使LCD的直接驅動模式,所以只需要修改<1>就行了。
我用的是JediView(for ARM)集成調試環境,其它環境類似,硬體為S3C44b0X,LCD為256色彩色液晶,解析度為320×240。

四、實驗設備及工具(包括軟體調試工具)
硬體: Micetek 44B0 實驗系統
JEDI模擬器
PC機 Pentumn100以上
軟體: PC機操作系統win2000
JEDIView集成開發環境 

五、程序說明
新建一個文件夾uCGUI,添加以上體系的所有文件夾及文件加到uCGUI文件夾,刪除LCDDrive文件夾下的LCDWin.c,它是在VC下的模擬驅動程序,在LCDDrive文件夾添加LCD 44b0.h, LCD 44b0.c。暫時不移植觸摸屏驅動,可保持Touch目錄為空,以後擴展時再用。
在uCGUI目錄下新建一個Inc文件夾,將option.h, 44b.h, 44blib.h, def.h,cache.h,lcdlib.h,44blcd.h添加進來。
將lcdlib.c添加到Application文件夾。
新建一個工程也叫uCGUI,添加以上體系的所有文件夾及其內部文件加到uCGU工程。
修改include配置:打開 Tools->Option->Directory->Include Files添加路徑
……uCGUIguiConvertColor
……uCGUIguiConvertMono
……uCGUIguiCore
……uCGUIguiFont
……uCGUIguiLCDDriver
……uCGUIguiMemDev
……uCGUIguiWidget
……uCGUIguiWM
……uCGUIguiTouch
……:ucOSConfig
……guiApplication
其中……為你所建工程所在路徑,以上這些路徑在有的編譯器可不加,自動找到,在JediView(for ARM)集成調試環境需要添加。
由於uCGUI 用到了數學庫,在Gcc編譯器下需要在link設置中添加-lm參數,使編譯器可以找到數學庫。

六、實驗現象
    液晶顯示屏顯示的是實驗結果,其中第2行的數值不斷加1跳變。
 


[admin via 研發互助社區 ] uCGUI 移植到 S3C44B0X實驗已經有2544次圍觀

http://cocdig.com/docs/show-post-42082.html