上 深度剖析E680G开发三.移植OPIE操作系统( 四 )


这两个成果大概在2007年可进入现实 , 届时Linux系统将具备更卓越的可用性 。也就
是说 , Linux桌面应用的全面铺开指日可待 , 而除了开发者和厂商的努力外 , 如何向
企业和个人用户推广以及提供培训将是厂商要考虑的主要问题 , 我们今天恰好站在
这样的一道门槛上 。
全球各地有着共同目标的艺术家通过互联网组织到一起 , 共同为Linux系统
设计一流的视觉界面、系统图标 , 而所有的自由软件程序员都有一个共同的目标 ,
那就是开发出一流水准的软件提供给大众使用 。这种基于挑战自我、带有浓烈精神
色彩的软件开发模式成为商业软件之外的另外一极 。现在 , 微软面对的并不是那些
只在业余时间鼓捣代码的程序员 , 而是分布在全球各地、数量庞大、且拥有一流技
术水平的开发者 , 这些开发者被有效地组织起来 , 形成一个个有序的协作团队 , 大
量实力雄厚的商业公司在背后提供支持 。
写到这里 , 我只想说一句 , 伟大的开源奉献精神!
五、Qt在嵌入式操作系统的发展过程
Qt最初是作为一个跨平台(Win32、Mac、Unix)的CGUI库开发的 。在2000年
TrollTech发布了Qt的嵌入式版本 。到目前分为四个版本:Win32版 , 适用于Windows
平台;X11版 , 适合于使用了X系统的各种Linux和 Unix平台;Mac版 , 适合与苹果
MacOSX;embedded版 , 适合于具有帧缓冲(frame buffer)的Linux平台 。
Qt在刚出现的时候 , 对于Linux和Unix系统 , 只有构建于Xlib之上的X11版 。但
随着Linux操作系统在嵌入式领域的应用日渐广泛 , Qt推出了嵌入式的版本Qt-embedded
即Qte 。由于嵌入式受限的硬件环境往往难以运行庞大的X服务器 , Qt的嵌入式版跳过
了Xlib和XServer , 直接操作帧缓冲 , 很大的提高了速度 , 缩减了体积 。
Qtopia最初是sourceforge.net上的一个开源项目 , 全称是Qt Palmtop Environment ,
是构建于Qte之上一个类似桌面系统的应用环境 , 包括了PDA和手机等掌上系统常见
的功能如电话簿、日程表等 。现在Qtopia 已经成为了Trolltech的又一个主打产品 ,
为基于Linux操作系统的PDA和手机提供了一个完整的图形环境 。
值得注意的是 , Qte和Qtopia之间的关系 。在版本4之前 , Qte和Qtopia是不同的
两套程序 , Qte是基础类库 , Qtopia是构建于Qte之上的一系列应用程序 。但从版本
4开始 , Trolltech将Qte并入了Qtopia , 并推出了新的Qtopia4 。在该版中 , 原来的
Qte被称为Qtopia Core , 作为嵌入式版本的核心 , 既可以与Qtopia配合 , 也可以独
立使用 。原来的Qtopia则被分成几层 , 核心的应用框架和插件系统被称为 Qtopia
Platform , 上层的应用程序则按照不同的目标用户分为不同的包 , 如Qtopai PDA ,
Qtopia Phone等 。
六、OPIE(Open Palmtop Integrated Environment)
OPIE全称为开放掌上电脑集成环境 。是基于Qtopia , 最类似于桌面领域中的KDE ,
是为掌上电脑专门设计的LINUX操作系统 。OPIE操作系统完美地支持Motorola的A、E
系统的智能手机使用的硬件设施 , 并且两者有着相同的LINUX內核模块 。OPIE操作系
统可以理解为就是一个界面接口程序 。
七、写在最后
通过这些内容我们大体得知 , 普通PC的Linux操作系统架构如下:
Linux KernelXLibGLibGNOMEGNOME/GTK
Linux KernelXLibQtKDEKDE/Qt
而在一般采用Qt嵌入式操作系统的架构如下:
Linux Embedded KernelFramebufferQteQtopia

我们再来看E680g操作系统的架构:
MontaVista Linux KernelFramebufferQteezx图形库
这样看来 , 似乎要移植OPIE操作系统 , 只需要重新交叉编译一下即可 。我们将
在下文做一次实际的完整操作 。

推荐阅读