[ZLG-ARM] 好**啊

[复制链接]
1711|3
 楼主| postcode 发表于 2009-7-13 13:24 | 显示全部楼层 |阅读模式
Trolltech&nbsp;提供三大Qtopia&nbsp;版本:<br /><br />  Qtopia&nbsp;手机版、Qtopia&nbsp;PDA&nbsp;版和Qtopia&nbsp;消费电子产品平台<br /><br />  Qtopia&nbsp;手机版:&nbsp;面向嵌入式Linux&nbsp;的Qtopia&nbsp;手机版(Qtopia&nbsp;Phone)&nbsp;是Qtopia&nbsp;的一个自定义版本用于内存有限的智能手机和功能手机它的用户界面可自定义内存占用量低手机制造商使用它可以创建令人赞叹的图形用户界面从而令手机卓越超群Qtopia&nbsp;手机版有两个版本键盘驱动和手写笔驱动。<br /><br />  Qtopia&nbsp;PDA&nbsp;版:&nbsp;Qtopia&nbsp;PDA&nbsp;版Qtopia&nbsp;PDA&nbsp;是一个强大的平台专用于基于Linux操作系统的PDA&nbsp;个人数字助理设备许多PDA&nbsp;都已采用了Qtopia,Qtopia&nbsp;PDA&nbsp;版已经成了事实上的Linux&nbsp;标准它代表了可行的第三种PDA&nbsp;设计方案Qtopia&nbsp;PDA&nbsp;版具有可定制的用户界面支持多种不同的屏幕尺寸以及横向和纵向布局。<br /><br />  Qtopia&nbsp;消费电子产品平台:While&nbsp;Qtopia&nbsp;手机版和Qtopia&nbsp;PDA&nbsp;版是针对移动电话和PDA&nbsp;制造商的统包解决方案,而Qtopia&nbsp;消费电子产品平台(Qtopia&nbsp;CEP)&nbsp;则是一套高层次开发平台适用于那些希望自行设计和开发应用套件的制造商。<br /><br />Qtopia&nbsp;CEP使得制造商能够在形形色色的手写笔和键盘驱动的设备上创建自定义的环境这些设备包括电视机Web&nbsp;Pad&nbsp;无线联网板机顶盒以及许多其它基于Linux&nbsp;的设备等等。&nbsp;Qtopia&nbsp;产品系列旨在为基于Linux&nbsp;的消费电子设备提供和创建图形用户界面它为制造商提供了前所未有的灵活性和众多选择。<br />qtopia-opensource-4.3.2在arm上的移植过程如下:<br /><br />1、下载<br />下载地址:<br />ftp://ftp.trolltech.com/qtopia/source/qtopia-opensource-src-4.3.2.tar.gz<br /><br />2、准备工作<br />建立build目录和安装目录:<br />/opt/qtopia/source&nbsp;源代码解压到该目录<br />/opt/qtopia/target&nbsp;编译目录<br />/usr/local/qtopia&nbsp;安装目录<br /><br />3、编译tslib-1.3.tar.bz2&nbsp;<br />详细步骤如下:&nbsp;<br />#&nbsp;tar&nbsp;jxvf&nbsp;tslib-1.3.tar.bz2&nbsp;&nbsp;<br />#&nbsp;cd&nbsp;tslib-1.3&nbsp;<br />#&nbsp;export&nbsp;CC=arm-linux-gcc&nbsp;<br />#&nbsp;export&nbsp;CXX=arm-linux-g++&nbsp;<br />#&nbsp;./autogen.sh&nbsp;<br />#&nbsp;./configure&nbsp;--prefix=/opt/tslib&nbsp;--host=arm-linux&nbsp;<br />#&nbsp;make&nbsp;<br />#&nbsp;make&nbsp;install<br /><br />注意:<br />当然,在ubuntu下要先安装两个工具,如果没安装,./autogen.sh是通不过的,安装如下:<br />#sudo&nbsp;apt-get&nbsp;install&nbsp;libtool&nbsp;automake<br />Make&nbsp;过程中有个错误,如下:<br />libtool:link:&nbsp;only&nbsp;absolute&nbsp;run-paths&nbsp;are&nbsp;allowed<br />要修改/tslib/plugins/Makefile里面找rpath将<br />LDFLAGS&nbsp;:=$(LDFLAGS)&nbsp;-rpath&nbsp;$(PLUGIN_DIR)<br />修改为:<br />LDFLAGS&nbsp;:=$(LDFLAGS)&nbsp;-rpath&nbsp;`cd&nbsp;$(PLUGIN_DIR)&nbsp;&&&nbsp;pwd`<br /><br />4、修改源代码<br />把qtopia-opensource-src-4.3.2.tar.gz解压到source里<br />#cp&nbsp;qtopia-opensource-src-4.3.2.tar.gz&nbsp;/opt/qtopia/<br />#tar&nbsp;–xzvf&nbsp;qtopia-opensource-src-4.3.2.tar.gz&nbsp;<br />#mv&nbsp;qtopia-opensource-4.3.2&nbsp;source<br />修改如下:<br />#cd&nbsp;source&nbsp;<br />#&nbsp;vi&nbsp;qtopiacore/qconfig-qpe.h&nbsp;<br />首先注释掉关于鼠标光标的宏定义,让程序运行时,触摸屏中央有光标出现:&nbsp;<br />//&nbsp;Qtopia&nbsp;Core&nbsp;<br /><br />/*&nbsp;<br />#ifndef&nbsp;QT_NO_QWS_CURSOR&nbsp;<br />#&nbsp;&nbsp;define&nbsp;QT_NO_QWS_CURSOR&nbsp;<br />#endif&nbsp;<br />*/&nbsp;<br /><br />/*&nbsp;<br />#ifndef&nbsp;QT_NO_QWS_MOUSE&nbsp;<br />#&nbsp;&nbsp;define&nbsp;QT_NO_QWS_MOUSE&nbsp;<br />#endif&nbsp;<br />#ifndef&nbsp;QT_NO_QWS_MOUSE_AUTO&nbsp;<br />#&nbsp;&nbsp;define&nbsp;QT_NO_QWS_MOUSE_AUTO&nbsp;<br />#endif&nbsp;<br />*/&nbsp;<br /><br />其它宏定义根据需要进行注释。&nbsp;<br />保存后将qconfig-qpe.h拷贝到global目录。&nbsp;<br />#&nbsp;cp&nbsp;qtopiacore/qconfig-qpe.h&nbsp;qtopiacore/qt/src/corelib/global/qconfig-qpe.h&nbsp;<br /><br />注释掉其他文件里的QT_NO_QWS_CURSOR的定义&nbsp;<br />#&nbsp;vi&nbsp;qtopiacore/qt/src/corelib/global/qfeatures.h&nbsp;<br /><br />注释掉如下内容:&nbsp;<br /><br />/*&nbsp;<br />#if&nbsp;!defined(QT_NO_QWS_CURSOR)&nbsp;&&&nbsp;(defined(QT_NO_CURSOR))&nbsp;<br />#define&nbsp;QT_NO_QWS_CURSOR&nbsp;<br />#endif&nbsp;<br />*/&nbsp;<br /><br />保存退出。&nbsp;<br />#&nbsp;vi&nbsp;qtopiacore/qt/src/corelib/global/qglobal.h&nbsp;<br /><br />注释掉以下内容:&nbsp;<br />//#&nbsp;&nbsp;&nbsp;&nbsp;define&nbsp;QT_NO_QWS_CURSOR<br /><br />5、配置、编译qtopia<br />#cd&nbsp;/opt/qtopia/target<br />#../source/configure&nbsp;-release&nbsp;-image&nbsp;/usr/local/qtopia&nbsp;-prefix&nbsp;/usr/local/qtopia&nbsp;-xplatform&nbsp;<br />linux-arm-g++&nbsp;-arch&nbsp;arm&nbsp;-no-qvfb&nbsp;-displaysize&nbsp;800x480&nbsp;-no-modem&nbsp;-extra-qt-config&nbsp;“-little<br />-endian”&nbsp;-extra-qtopiacore-config&nbsp;'-release&nbsp;-xplatform&nbsp;qws/linux-arm-g++&nbsp;-embedded&nbsp;arm&nbsp;-<br />qconfig&nbsp;qpe&nbsp;-depths&nbsp;8,16,32&nbsp;-qt-sql-sqlite&nbsp;&nbsp;-qt-kbd-usb&nbsp;-no-kbd-tty&nbsp;-no-mouse-linuxtp&nbsp;&nbsp;-qt<br />-mouse-tslib&nbsp;-I/opt/tslib/include&nbsp;-L/opt/tslib/lib'<br /><br />主要配置选项解说如下:&nbsp;<br />-xplatform&nbsp;linux-arm-g++&nbsp;-arch&nbsp;arm&nbsp;目标平台为arm-linux,体系结构为arm。&nbsp;<br />-no-qvfb&nbsp;&nbsp;目标平台已支持framebuffer,因而不使用虚拟帧缓冲。&nbsp;<br />-extra-qtopiacore-config&nbsp;为Qtopia&nbsp;core&nbsp;配置选项。&nbsp;<br />-xplatform&nbsp;qws/linux-arm-g++&nbsp;-embedded&nbsp;arm&nbsp;目标平台编译配置文件使用<br />qtopiacore/qt/mkspecs/qws/linux-arm-g++目录下的配置文件,嵌入式平台为arm。&nbsp;<br />-qconfig&nbsp;qpe&nbsp;使用配置文件qconfig-qpe.h,若使用qconfig-large.h配置文件,则使用-qconfig&nbsp;large<br />选项。&nbsp;<br />-qt-sql-sqlite&nbsp;数据库支持Sqlite。&nbsp;<br />-qt-kbd-usb&nbsp;键盘支持usb协议。&nbsp;<br />-no-mouse-linuxtp&nbsp;-qt-mouse-tslib&nbsp;-I/opt/tslib/include&nbsp;-L/opt/tslib/lib&nbsp;触摸屏协议不支持linuxtp,支持tslib,并在后面添加上刚才编译的tslib的头文件和库。<br /><br />#make&nbsp;<br />#make&nbsp;install<br /><br />Make&nbsp;过程会出现一些问题,无非就是一些库没安装,装上即可。<br /><br />编译完后,把opt/tslib/lib下的库复制到/usr/local/qtopia/lib下<br /><br />6、进入开发板,配置与运行<br />#mount&nbsp;–t&nbsp;nfs&nbsp;192.168.2.223:/&nbsp;/tmp&nbsp;–o&nbsp;proto=tcp&nbsp;–o&nbsp;nolock<br />#mkdir&nbsp;–p&nbsp;/usr/local/qtopia<br />#mount&nbsp;/tmp/usr/local/qtopia&nbsp;/usr/local/qtopia<br />#cd&nbsp;/usr/local/qtopia/bin<br />#export&nbsp;QWS_DISPLAY='LinuxFb:mmWidth35:mmHeight45:0'<br />#./qpe&nbsp;&<br /><br />如果没问题,就成功了。<br /><br />后记:<br />1、编译完tslib后,要换一个终端来编译qtopia,就是取消环境变量CC和CXX,否则就会出现错误<br />2、触摸还没校准,可能是内核的触摸驱动没调好,也可能是环境变量还没设好<br />3、因为开发板的文件系统下已有时区,刚好是在/usr/share/zoneinfo下,所以不用复制过来了<br />&nbsp;<br /> &nbsp;&nbsp;<br />
chun1chun 发表于 2009-7-13 13:52 | 显示全部楼层

4.5.2已经出来了,不过我对其总是不明白

  
armqt 发表于 2009-7-15 13:28 | 显示全部楼层

  
chun1chun 发表于 2009-7-17 13:20 | 显示全部楼层

好**啊

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

86

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部