嵌入式linux图形界面开发介绍一、Linux图形领域的基础设施Linux的基本图形函数库,主要包括:SVGALib、XWindow、FrameBuffer等嵌入式linux下界面开发,它们通常是作为其他中级图形或则图形应用程序的基本函数库。、SVGALibSVGALib是Linux中最早出现的非X图形支持库。这个库从最初对标准VGA兼容芯片的支持开始,仍然发展到对旧式SVGA芯片的支持以及对当今流行的中级视频芯片的支持。它为用户提供了在控制台上进行图形编程的插口,使用户可以在PC兼容系统上便捷地获得图形支持。并且该系统的插口有些零乱。SVGALib从最初的vgalib发展而至,保留了老系统的许多插口linux设置环境变量,而这种插口却不能更好的讨好新显示芯片的图形能力,不能较好地隐藏硬件细节。许多操作,不能手动使用显示芯片的加速能力支持。、XWindowXWindow是Linux系统中使用的最多的桌面图形系统支撑库,各个厂家的KDE,GONE等桌面系统都是以XWindows为基础,在XWindows基础里面可以运行着包括CAD建模工具和办公套件在内的大量应用程序,XWindow为了满足对游戏、多媒体等应用对图形加速能力的要求,提供了DGA(直接图形访问)扩充,通过该扩充,应用程序可以在全屏模式下直接访问显示卡的帧缓冲区,并才能提供对个别加速功能的支持。
、FrameBufferFrameBuffer是一个提供显示显存和显示芯片寄存器从数学显存映射到进程地址空间中的设备,是内核的一种驱动程序的插口,这些插口将显示设备具象成缓冲区,用户可以将它看成是显示显存的影像,可以通过对FrameBuffer直接操作来实现对显示设备的控制,FrameBuffer总的具象文件为,不同硬件设备各自实现中的插口,如三s3c2410芯片的实现文件为。该驱动程序的设备文件通常是/dev/fb0、/dev/fb1等等二、几种常见的嵌入式linux图形用户界面常见的嵌入式linux图形用户界面有Qt/Embeddedlinux防火墙设置,MiniGui,MicroWindowsQt/EmbeddedQt/Embedded是Qt库开发商TrollTech(英国奇趣科技)开发的面向嵌入式linux系统的Qt版本,与许多基于Qt的XWindow程序可以十分便捷地移植到Qt/Embedded版本上嵌入式linux下界面开发,Qt/Embedded是使用C++编撰的函数库,对硬件资源的要求比较高。目前,该系统采用两种条款发布,如个人学****研究应遵守GPL条款;假如要开发商业程序,需向TrollTech缴纳一定授权费用。
MiniGUIMiniGUI是由北大魏永明主持编撰,如今由上海飞漫公司开发、发布,自1998年开始使用,至今早已比较成熟、稳定,可以应用在包括手持设备、机顶盒、游戏终端等等在内的各类高档或则高端的嵌入式系统当中,可以在基于ARM、MIPS、StrongARM以及PowerPC等的嵌入式系统上运行。目前MiniGUI也包括开源版本和商业授权版本,MiniGUI的开源版本为MiniGUI及MiniGUI-STR,个人可以下载学****研究,商业授权版本需向飞漫公司支付一定的费用。MicroWindowsMicroWindows(/)是一个开放源码的项目,目的是将桌面系统的特点移植到资源受限制的设备中,在2005年这个项目更名为Nano-XWindowSystem。Nano-XWindowSystem可以运行在有FrameBuffer支持的32位Linux中,也可以运行在由SVGAliblibrary或XWindows支持的环境中。Nano-X的体系结构为分层结构,最底层为显示屏、鼠标、键盘、触摸屏驱动;中间层为图形驱动引擎,提供颜色、调色板、字体等的管理,提供画点、画线、画六边形及五边形填充的支持;最下层为API的实现,包括窗口的管理、用户交互和消息风波的管理。
Nano-XWindowSystem提供两种类型的API,一种为Win32兼容的API,支持Win32GDI模型,同样该类型的API是与WinCEAPI兼容的;另一种为类XLib的API,该API编撰的应用程序支持两种模式,一种模式为C/S模式,该模式下可以让应用在嵌入式设备或远程主机上运行而联接到Nano-
本文原创地址://gulass.cn/ltxjmkfjj.html编辑:刘遄,审核员:暂无