ucgui-3.90a 在 ARM Linux 下的移植
默认分类 2010-12-29 17:45:25 阅读 131 评论 0 字号:大中小订阅
前不久把 ucgui-3.90a 移植到了 Linux 下,还是写个总结吧。。。
ucgui 的可移植性很高,只需要做很少的改动就可以移植到各个平台,移植到 Linux 下也一样。
首先编辑 GUIConf.h 这个文件:
#ifndef GUICONF_H
#define GUICONF_H
#define GUI_OS (1) /* Compile with multitasking support */
#define GUI_SUPPORT_TOUCH (0) /* Support a touch screen (req. win-manager), for
linux */
#define GUI_SUPPORT_UNICODE (1) /* Support mixed ASCII/UNICODE strings, for linux */
#define GUI_DEFAULT_FONT &GUI_Font6x8
#define GUI_ALLOC_SIZE 25*1024 /* Size of dynamic memory */
#define GUI_SUPPORT_CURSOR (1) /* for linux*/
#define GUI_WINSUPPORT 1 /* Window manager package available */
#define GUI_SUPPORT_MEMDEV 1 /* Memory devices available */
#define GUI_SUPPORT_AA 1 /* Anti aliasing available */
#endif /* Avoid multiple inclusion */
接着修改 LCDConf.h 文件,因为我们直接使用 framebuffer 设备,所以只需要修改 LCDConf.h 文件的
前面部分即可:
#define LCD_XSIZE (720) /* X-resolution of LCD, Logical coor. for linux */
#define LCD_YSIZE (576) /* Y-resolution of LCD, Logical coor. for linux */
#define LCD_BITSPERPIXEL (16) /* for linux */
#define LCD_SWAP_RB (1) /* for linux, actually 1555 format */
#define LCD_FIXEDPALETTE (555) /* for linux, actually 1555 format */
#define LCD_CONTROLLER (-1) /* for linux */
接下来修改 LCDDummy.c,添加对 framebuffer 的支持:
/* for linux framebuffer */
#include <unistd.h>
#include <stdio.h>
评论14