Qtopia即QPE(Qt Palmtop Environment )是由著名的TrolLTEch公司基于Qt的嵌入式版本Qt/Embedded库的基础上,专门针对PDA、SmartPhone这类运行嵌入式Linux的移动计算设备和手持设备所开发的开放源码的一套应用程序包和开发库。Qtopia是基于qt/embedded程序库编写的应用程序环境,(Qtopia是Qt在Linux/embedded Linux版本里的一个applICation实现。)界面优美。主要应用于高端手机,pda等嵌入式系统,具有广阔的发展前景。
3.3.2 目标板上的移植 目标板上的移植与宿主机类似,只需将编译参数做一定的修改即可。表4列出了qtopia移植中qtembedded共享库的支持,环境变量声明和关键的编译配置命令,以及最后目标板上qpe的架构。图1是在XSbase255开发系统上移植Qt/Embedded和Qtopia的显示截图。
表4 Qtopla配置编译及其架构
图1 基于XSbase的Qtopia图形
www.55dianzi.com
4 添加应用程序到qtopia
如前所述,我们已经安装好了Qtopia应用环境。下面介绍如何在Qtopia里添加我们编写的应用程序(camera)例子,具体Qt程序的编写不在本文内容之内。
(1) 建立camera程序的图标文件制作一个32×32大小的PNG格式的图标文件,将此文件存放在Qtopia/pIC/inline目录下,然后我们要用到qt-x11-free-3.3.3里的一个工具qembed将Qtopia/pics/inline下所有的图形文件转换成一个C语言的头文件,此头文件包含了该目录下的图形文件的rgb信息。
(2) 重新交叉编译qtopia。
(3)建立.desktop文件,将其保存在qtopia/apps/applications目录下,具体内容可参考qtopia自带应用的.desktop文件。
(4)制作文件系统映像我们需要利用原有的文件系统映像,把新建的应用程序的相关文件加入其中。表5为我们下载到Flash中的JFFS2的文件系统结构。根目录下除opt以外的文件目录都来自原有文件系统。我们首先需要把新建的应用程序的相关文件(包括启动器文件,包含了图标的库文件libqte.SO.*和应用程序的可执行文件)复制到qpe的对应的目录下。接下来通过JFFS2工具mkfs.jffs2创建生成新的文件系统映像。利用bootloader将生成的文件系统映像下载后写入flash,从而为内核启动作好了根文件挂载的准备。
表5 文件系统组织图
(5)自动运行我们对嵌入式系统上的linux启动过程进行了研究,若要使qpe能够自动运行,我们需要改写其脚本文件,在etc/profile脚本中,做如下添加。 重新运行qtopia,就可以看到我们添加的应用的图标,点击此图标就可以运行此应用程序了。图2是我们编写的Camera程序在Qtopia下的截图。
图2 添加camera程序后的Qtopia
参考文献
1 Intel XScale. http://www.intel.com/design/pca/applicationsprocessors .
2 'Linux Device Driver', Alessandro Rubini & Jonathan Corbet.
上一页 [1] [2]
本文关键字:开发 应用程序 综合-其它,单片机-工控设备 - 综合-其它