嵌入式Linux系统GUI特点介绍

为了执行一个特定的图形操作,DirectFB芯片驱动程序将访问图形设备内存映射的I/O端口,并且把命令传递到图形设备卡的加速引擎。实际的硬件加速是完全在用户空间内完成的。
2.2 SWT+GtkFB图形系统的优点
2.2.1 内存消耗小、运行速度快特别适合嵌入式产品
由于GtkFB直接运行在FrameBufer之上,跳过X系统,这样省下了X Server这一部分资源,这使得在内存消耗、运行速度上得到显著提高。另外采用的JNI技术使得程序运行速度、事件的响应有较高的提高,能满足时间要求较为严格的实时应用场合。
2.2.2 系统稳定性好
SWT 的稳定性,关键是源于SWT 的设计理念。SWT最大化了操作系统的图形构件API,就是说只要操作系统提供了相应图形的构件,那么SWT只是应用JNI技术调用它们,只有那些操作系统中不提供的构件,SWT才自己去做一个模拟的实现。可以看出SWT性能上的稳定很大程度上取决于相应操作系统图形构件的稳定性。
2.2.3 易于移植和共享
SWT的API和桌面版完全相同,因而代码可以很容易地在桌面和嵌入式设备之间移植与共享。
2.2.4 小巧可配置
SWT采用了LGPL授权方式,用户可以自由地甚至是鼓励修改源代码使其更加满足用户的需求,很容易根据用户的需求来裁减特定的SWT+GtkFB,依据LGPL许可证,用户需要公布修改的源代码,但用户不必公布自给应用程序的源代码。
2.2.5 易于开发
SWT是基于Java语言开发的,具有平台独立性、面向对象、可移植、安全等Java语言所拥有特点。用户可以很容易的基于SWT提供的Widget(构件)开发出满足自己需要的Widget,而且很容易地使用这些Widget去构建应用程序。
3 SWT+GtkFB图形系统的实现
3.1 前期准备
在Linux编译和安装SWT+GtkFB,首先到http://www.gtk.org/download下载如下的包:pkg-config、glib2.x;atk、pango、DirectFB、gtk+2.x。其次到http://www.eclipse.org/download下载swt.tgr.gz。
下一步就是在/home/XXX/目录下创建SWT 和GTK两个目录并且设置环境变量。如下:
export SWT_HOME=/home/XXX/SWT
export SWT_HOME=/home/XXX/GTK
export PKG_CONFIG_PATH=$GTK_HOME /lib/pkgconfig
export LD_LIBRARY_PATH=$GTK_HOME/lib;$LD_LIBRARY_PATH
此外增加“/home/XXX/GTK/bin”到系统的环境变量PATH下。
3.2 编译和安装Gtk+2.0
3.2.1 编译和安装pkg-config
tar zxvf glib-2.0.6.tar.gz -C $GTK_HOME/src
cd $GTK HOME/src/glib-2.0.6
./configure --prefix=$GTK_HOME
make
make install
3.2.2 编译和安装atk
tar zxvf atk-1.0.1.tar.gz -C $GTK_HOME/src
cd $GTK_HOME/src/atk-1.0.1
./configure --prefix=$GTK_HOME
make
make install
3.2.3 编译和安装pango、Direct FB、gtk+2.0 、swt-forgtk2.2
步骤类似atk的安装。
4 嵌入式Linux GUI的应用前景展望
嵌入式Linux GUI的应用领域很多,既可以用于家电市场,还可以用于商业市场、工业及自动化市场、国防市场、通讯市场等。例如,在通讯市场,手机、可视电话、机顶盒等可能成为嵌入式Linu.x的运行平台,一个人性化的用户界面是赢得消费者关键因素。因此嵌入式Linux图形系统将担任着更加重要的角色。
未来几年,嵌入式Linux GUI将朝以下方向发展:第一,轻型、占用资源少,不希望建立在庞大累赘的、非常消耗系统资源的操作系统和GUI之上。第二,高性能、高可靠性,特别是工业实时控制系统,对实时性的要求非常高,并且比起嵌入式系统来说,对GUI的要求也更高。第三,可配置,我们必须清楚的意识到,嵌入式系统是一种定制设备,它们对GUI的需求各不相同,有的系统只要求一些图形功能,而有些系统要求完备的GUI支持,因此,GUI也必须是可定制的。
linux相关文章:linux教程
评论