第一部分:在UCGUI移植之前
在移植之前,首先要了解在网上下的UCGUI 3.90源码包
1)“tool文件夹” 基本都是字体和模板查看之类的.
2)“sample文件夹” 是实例代码和模版配置头文件,如跟操作系统有关的GUI_X或者一些模板
3)“Start文件夹” 是uCGUI的源代码包
Config,配置文件;
GUI/AntiAlias,抗锯齿支持;
GUI/ConvertMono,用于B/W(黑白两色)及灰度显示的色彩转换程序;
GUI/ConvertColor,用于彩色显示的色彩转换的程序;
GUI/Core µC/GUI,内核文件;
GUI/Font,字体文件;
GUI/LCDDriver,LCD 驱动;
GUI/Mendev,存储器件支持;
GUI/Touch,触摸屏支持;
GUI/Widget,视窗控件库;
GUI/WM,视窗管理器;
移植uC/GUI主要集中在修改三个头文件和两个C文件:
三个头文件
GUIConf.h ,
GUITouchConf.h,
LCDConf.h
两个C文件
GUI_X文件夹下:
GUI_X.C——无操作系统情况
GUI_X_embOS.c——嵌入式操作系
GUI_X_ucos.c——UCOS环境下
这三个之中选择一个
LCDDriver文件夹下
LCDWin.c
LCDNull.c
LCDDummy.c
三个中选择一个,在此实现GUI软件框架调用LCD驱动代码
移植流程:
第一:修改配置文件
GUICon.h ——————GUI功能配置
GUITouchConf.h———触屏功能配置
LCDConf.h——————LCD硬件信息登记
第二:驱动接口
选择LCDDriver中的三个驱动模版之一,然后修改,我选择LCDNull.c,然后将SetPoint和GetPoint函数转发或者组合到自己的LCD驱动代码
第三:外部依赖,操作环境配置
GUI_X文件夹中,选择
GUI_X.c
GUI_X_embos.c
GUI_X_ucos.c
三选一,根据当前软件环境来选择
我做了无操作系统和UCOS-II这两个软件环境下的GUI配置,其实这两个的配置的差别主要就是在外部依赖GUI_X上面