李 妍 孫永倩
摘要:介紹了嵌入式圖形用戶界面μC/GUI的特點(diǎn)及移植需要的硬件環(huán)境。詳細(xì)闡述了μC/GUI在基于ARM7 S3C44BOX的開發(fā)板上的移植過程,并給出了具體實(shí)現(xiàn)步驟及其需要修改的源代碼。
關(guān)鍵詞:μC/GUI嵌入式系統(tǒng)S3C44BOX移植
中圖分類號(hào)TP317.4
文獻(xiàn)標(biāo)識(shí)碼B文章編號(hào):1002-2422(2007)05-0064-02
1μC/GUI簡(jiǎn)介
μC/GUI是一種高效的、與處理器和LCD控制器完全獨(dú)立的通用GUI,它的設(shè)計(jì)是模塊化的,由在不同的模塊中的不同的層組成。
1.1μC/GUI特點(diǎn)
μC/GUI適用于所有的CPU,因?yàn)樗?00%由ANSI的c語言編寫的。μC/GUI能夠適應(yīng)大多數(shù)的使用黑白或彩色LCD的應(yīng)用。它提供非常好的允許處理灰度的顏色管理,還提供一個(gè)可擴(kuò)展的2D圖形庫及占用極少RAM的窗口管理體系。
1.2μC/GUI的文件結(jié)構(gòu)
μC/GUI包含三個(gè)總的文件夾:分別是APlmcation、Config、GUI。
(1)Application是應(yīng)用程序的文件夾,它主要包含主函數(shù)文件和其它資源文件:
(2)Config是GUI的配置文件夾,它包含三個(gè)文件:
①GUICONF.h:μC/GUI的配置文件,負(fù)責(zé)配置GUI的對(duì)OS、window manager、DMA、觸摸屏、Unieode碼的支持,以及設(shè)置默認(rèn)字體和各種控件的默認(rèn)顏色等;
②GUITouchConf,h:負(fù)責(zé)配置觸摸屏;
③LGDConf.h:負(fù)責(zé)配置LCD顯示器,如分辨率,顏色位數(shù),以及LCD控制器的其它設(shè)置;
(3)GUI是μC/GUI的實(shí)現(xiàn)部分,它是GUI最重要的組成部分,其中包含八至九個(gè)文件夾,分別是:
①ConvertColor是彩色顏色轉(zhuǎn)換文件夾,它里面包含24位色與各種顏色之間的轉(zhuǎn)換函數(shù);
②ConvertMono是灰度顏色轉(zhuǎn)換文件夾,它里面包含24位色與單色、四級(jí)灰度、16級(jí)灰度和用戶自定義顏色之間轉(zhuǎn)換的函數(shù)。
③Core是GUI的核心,GUI多數(shù)的處理函數(shù)都在這個(gè)文件夾里面;
④Font是GUI的字體文件夾,可以通過對(duì)它里面文件的增減來增刪字體;
⑤LCDDriver是GUI的底層接口部分,所移植的部分就在這個(gè)文件夾;
⑥MemDev是GUI的DMA模式的一些處理函數(shù)文件;
⑦Widget里面含有各種窗口控件,如對(duì)話框,按鈕等控件;
⑧WM是GUI的窗口消息處理函數(shù)文件夾;
⑨Touch是觸摸屏和鼠標(biāo)的底層接口部分。
2μC/GUI在S3C44BOX上的移植
2.1需要移植的文件
我們主要移植的使LCD的直接驅(qū)動(dòng)模式,于是μC/GUI移植時(shí)需要修改的文件有:修改Main.c、LCDConf.h,在LCDDrive文件夾添加LCD 44b0.h,LCD 44b0.c其中LCD 44b0.h是LGD 44b0.c的聲明。
2.2具體移植步驟
2.2.1硬件環(huán)境設(shè)置
要進(jìn)行μC/GUI的移植需先進(jìn)行可實(shí)現(xiàn)移植的硬件環(huán)境設(shè)置,硬件設(shè)置如下:
(1)使用JEDI仿真器連接目標(biāo)板;
(2)使用S3CEV448011實(shí)驗(yàn)板附帶的串口線連接實(shí)驗(yàn)