嵌入式Linux环境下MiniGUI的研究与移植
作者:小野狼
-- 发布时间:2009-8-31 16:31:10
-- 嵌入式Linux环境下MiniGUI的研究与移植
前言
近年来随着嵌入式设备与市场需求的广泛结合,手机、PDA、DVD播放机等产品的应用对可视化操作界面的简洁和方便提出了更高的要求,这都需要一个稳定可靠的高性能GUI系统来提供支持。图形用户界面(Graphic User Interface,简称GUI)的广泛流行是当今计算机技术的重要成就之一,它极大地方便了非专业用户的使用,人们可以通过窗口、菜单方便地进行操作。由于嵌入式系统实时性要求高,同时嵌入式系统硬件配置又有限,所以对轻型GUI的需求更加突出。另外,嵌入式系统往往是一种订制设备,它们对GUI的需求也各不相同,因此GUI也必须是可订制的。综上所述,嵌入式系统对GUI的基本要求应包括轻型、占用资源少、高性能、高可靠性以及可配置。MiniGUI是目前比较常用的几种GUI系统之一,与其他的GUI相比,MiniGUI最显著的特点就是轻型、占用资源少,而且在这几年的发展里,MiniGUI已经非常成熟和稳定了,在许多产品和项目中都已得到了实际应用。
1 MiniGUI的特点和体系结构
1. 1 MiniGUI的特点
MiniGUI是由原清华大学教师魏永明主持开发的轻量级图形系统,是一种面向嵌入式或实时系统的图形用户界面支持系统。它遵循GPL公约,是基于SVGALib及LinuxThread库的多窗口GUI支持系统。能跨多种操作系统,主要运行于linux及一切具有POSIX线程支持的POSIX兼容系统,包括普通嵌入式Linux、eCos、uC/OS-II、VxWorks等系统,是国内最早的自由软件之一。
MiniGUI的主要特点有:
(1) 遵循GPL条款的纯自由软件;
(2) 提供了完备的多窗口机制;
(3) 多字符集和多字体支持,目前支持ISO8859-1、GB2312及Big5等字符集,并且支持各种光栅字体和TrueType、Type1等矢量字体;
(4) 全拼和五笔等汉字输入法支持;
(5) BMP、GIF、JPEG及PCX等常见图像文件的支持;
(6) Windows的资源文件支持,如位图、图标、光标、插入符、定时器及加速键等;
(7) 可移植性好。
1.2 MiniGUI的体系结构
1.2.1多线程的分层设计
从整体结构上看,MiniGUI是分层设计的,结构如图1所示。在最底层,GAL(图形抽象层)和IAL(输入抽象层)及鼠标和键盘的驱动;中间层是MiniGUI的核心层,包括窗口系统必不可少的各个模块;最顶层是API,即编程接口。GAL和IAL为MiniGUI提供了底层的Linux控制台或者X Window上的图形
相关文档:
2009 年 4 月 23 日
本文中我们针对 Linux 上多线程编程的主要特性总结出 5 条经验,用以改善 Linux 多线程编程的习惯和避免其中的开发陷阱。在本文中,我们穿插一些 Windows 的编程用例用以对比 Linux 特性,以加深读者印象。
背景
Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微 ......
Linux/UNIX C++高级培训---远程班
http://www.xuanyuan-soft.cn/index.php?option=com_content&view=article&id=84&Itemid=85
课程概要
培养目标
:Linux/UNIX C++软件工程师
专注Linux/UNIX服务器端的软件开发(后台开发),培养企业所需的专业Linux/UNIX C ......
/
根目录
/bin
常用的命令
binary
file 的目录
/boot
存放系统启动时必须读取的档案,包括核心
(kernel)
在内
/boot/grub/menu.lst
GRUB设置
/boot/ ......
linux的网卡IP地址是存放在文档中的,这个配置文档在/etc/sysconfig/network-scripts下,名称分别为ifcfg-eth0,ifcfg-eth1....假如您有一块网卡,就只有ifcfg-eth0一个文档,假如您有两块或两块以上的网卡,就会有ifcfg-eth1、ifcfg-eth2等文档的出现。
文档结构:
DEVICE=eth0 &n ......
随着Linux应用的扩展,许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。作为一个
Linux系统管理员,我看了许多有关Linux的文档和书籍,并为学习Linux付出了许多艰苦的努力。当真正获得了一份正式的Linux系统管理工作
后,我更加深
刻地理解了Linux的灵魂:服务于多用户。Linux ......