李 妍 孙永倩
摘要:介绍了嵌入式图形用户界面μC/GUI的特点及移植需要的硬件环境。详细阐述了μC/GUI在基于ARM7 S3C44BOX的开发板上的移植过程,并给出了具体实现步骤及其需要修改的源代码。
关键词:μC/GUI嵌入式系统S3C44BOX移植
中图分类号TP317.4
文献标识码B文章编号:1002-2422(2007)05-0064-02
1μC/GUI简介
μC/GUI是一种高效的、与处理器和LCD控制器完全独立的通用GUI,它的设计是模块化的,由在不同的模块中的不同的层组成。
1.1μC/GUI特点
μC/GUI适用于所有的CPU,因为它100%由ANSI的c语言编写的。μC/GUI能够适应大多数的使用黑白或彩色LCD的应用。它提供非常好的允许处理灰度的颜色管理,还提供一个可扩展的2D图形库及占用极少RAM的窗口管理体系。
1.2μC/GUI的文件结构
μC/GUI包含三个总的文件夹:分别是APlmcation、Config、GUI。
(1)Application是应用程序的文件夹,它主要包含主函数文件和其它资源文件:
(2)Config是GUI的配置文件夹,它包含三个文件:
①GUICONF.h:μC/GUI的配置文件,负责配置GUI的对OS、window manager、DMA、触摸屏、Unieode码的支持,以及设置默认字体和各种控件的默认颜色等;
②GUITouchConf,h:负责配置触摸屏;
③LGDConf.h:负责配置LCD显示器,如分辨率,颜色位数,以及LCD控制器的其它设置;
(3)GUI是μC/GUI的实现部分,它是GUI最重要的组成部分,其中包含八至九个文件夹,分别是:
①ConvertColor是彩色颜色转换文件夹,它里面包含24位色与各种颜色之间的转换函数;
②ConvertMono是灰度颜色转换文件夹,它里面包含24位色与单色、四级灰度、16级灰度和用户自定义颜色之间转换的函数。
③Core是GUI的核心,GUI多数的处理函数都在这个文件夹里面;
④Font是GUI的字体文件夹,可以通过对它里面文件的增减来增删字体;
⑤LCDDriver是GUI的底层接口部分,所移植的部分就在这个文件夹;
⑥MemDev是GUI的DMA模式的一些处理函数文件;
⑦Widget里面含有各种窗口控件,如对话框,按钮等控件;
⑧WM是GUI的窗口消息处理函数文件夹;
⑨Touch是触摸屏和鼠标的底层接口部分。
2μC/GUI在S3C44BOX上的移植
2.1需要移植的文件
我们主要移植的使LCD的直接驱动模式,于是μC/GUI移植时需要修改的文件有:修改Main.c、LCDConf.h,在LCDDrive文件夹添加LCD 44b0.h,LCD 44b0.c其中LCD 44b0.h是LGD 44b0.c的声明。
2.2具体移植步骤
2.2.1硬件环境设置
要进行μC/GUI的移植需先进行可实现移植的硬件环境设置,硬件设置如下:
(1)使用JEDI仿真器连接目标板;
(2)使用S3CEV448011实验板附带的串口线连接实验