• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > uCGUI 移植到S3C44B0X實驗詳細步驟

    uCGUI 移植到S3C44B0X實驗詳細步驟

    作者: 時間:2011-12-03 來源:網絡 收藏

    一、目的

    本文引用地址:http://www.czjhyjcfj.com/article/150015.htm

    1. 初步掌握底層硬件驅動函數;

    2. 掌握將到ARM S3C44BOX上的方法和


    二、內容

    到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跳變。




    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 庆阳市| 罗平县| 洪泽县| 平顶山市| 随州市| 民丰县| 永康市| 馆陶县| 珠海市| 太仓市| 敦化市| 容城县| 大竹县| 濉溪县| 司法| 新龙县| 东兰县| 吴忠市| 江山市| 余庆县| 海安县| 濮阳市| 白河县| 贺州市| 华容县| 陆河县| 榕江县| 临泽县| 丘北县| 衡阳县| 鞍山市| 上思县| 绿春县| 醴陵市| 东辽县| 碌曲县| 南宫市| 凌海市| 陆川县| 临沂市| 永康市|