嵌入式爱好者

查看: 10578|回复: 7

Qtopia4.3.3编译与移植到ok-2440-III 过程与总结

[复制链接]

0

主题

0

帖子

0

积分

扫一扫,手机访问本帖
发表于 2010-2-2 14:09:02 | 显示全部楼层 |阅读模式
作者:阿公
一.      编译

过程参考了很多网上资料,在此表示感谢。

声明:在网上总是找到一些不全面的资料,很多人都像我一样,小菜鸟一个。因此总是严格的按照网上说的一步步做,结果自然就是出现很多错误,原因是我们不了解每一步这样做的意义。针对这个问题,我专门为像我这样的小菜菜写下了傻瓜式的编译移植过程,欢迎转载,但注意一点不要说是你写的就行,要不我到网上搜到,心理会觉得怪怪的。

PC系统:ubuntu9.04

板子:飞凌嵌入式公司的ok-2440-III开发板 ,内核是2.6.12

步骤一: 下载qtopia的开源代码

网址下载 http://www.qtcn.org/download/qto ... ce-src-4.3.3.tar.gz

步骤二: 编译

1.     安装交叉编译器 cross-3.4.1

随便在一个目录下(我选择了/usr/local/arm)  tar  -xjvf  cross-3.4.1.tar.bz2

设置环境变量  #gedit /etc/bash.bashrc

在这个文件下面加入 export PATH=/usr/local/arm/usr/local/arm/3.4.1/bin:$PATH

重启电脑后用echo$PATH 查看 有没有看到路径了,看到了就是对了。如果你以前就安装了这个编译器那这一步就不用做了。

2.     解压源代码 (任何一个目录下都可以)

tar –xzvf qtopia-core-opensource-src-4.3.3.tar.gz
在解压后得到的目录下修改qmouselinuxtp_qws.h 具体操作如下:

进入 qtopia-core-opensource-src-4.3.3/src/gui/embedded/ 下

# gedit qmouselinuxtp_qws.h

加入         #define QT_QWS_IPAQ
                       #define QT_QWS_IPAQ_RAW

还有需要注意的地方是:看一下 qmouselinuxtp_qws.cpp里面的 /dev/h3600_tsraw, 是不是你板子上的驱动文件名字(触摸屏),如果不是改成一样就可以了。(qmouselinuxtp_qws.cpp和qmouselinuxtp_qws.h在同一个目录)。
3.配置(进入解压后的目录里)

# ./configure -embedded arm -xplatform qws/linux-arm-g++ -depths 4,8,12,16 -no-qt3support -qt-mouse-linuxtp

可能会出现警告说函数返回值被解除限制之类 没关系 只要没出错误就可以。

# make
# make install

编译完成后,软件会默认安装在 /usr/local/Trolltech/Qtopia Core-4.3.3-arm/  这样编译算是完成了。

步骤三:移植

移植就要用到文件系统啦,会不会用呢?呵呵 不难,随便弄一个yaffs2 文件系统在解压然后重新处理这个文件系统就可以。我用的yaffs2是飞凌公司开发版ok-2440自带的qte_yaffs.tar.bz2 ,制作文件系统要用到这个文件mkyaffs2image 。把这个文件系统里面带的相关qt的文件删掉,重新装入你的qt文件。

具体操作:

1.     删除文件系统里面的  /usr 下面的全部文件夹,然后建立qt目录,/usr/qt

2.     把/usr/local/Trolltech/Qtopia Core-4.3.3-arm/ 下的lib 文件拷贝到qt目录下,把交叉编译器里的libstdc++.so.6复制到 /usr/qt/lib里面, 这个文件在PC 机的交叉编译器里的lib 里面(如果你想要问为什么,那你就不要加进去,试试看)

3.     在文件系统里建立这一系列目录:/usr/local/Trolltech/Qtopia Core-4.3.3-arm/lib 把/usr/qt/lib的fonts文件夹剪切(记得是剪切哦)到/usr/local/Trolltech/Qtopia Core-4.3.3-arm/lib下

4.     在文件系统里面的 /usr/ 下建立qtopia 目录,用于放应用程序,随便从sample里面弄几个过来放进去,假如你加入的是chip。

5.     进入文件系统里面的 /bin 然后 # gedit qtopia_setup  

加入(注意:下面的 h3600z-tsraw是指你的触摸屏文件,如果不是,改为你的触摸驱动文件)

export set HOME=/usr

export set QTDIR=/usr/qt
export set QPEDIR=/usr/qtopia
export set KDEDIR=/usr/qt
export set QWS_KEYBOARD="USB:/dev/input/event1"
export set QWS_MOUSE_PROTO="linuxtp:/dev/h3600_tsraw"
export set PATH=$QPEDIR/bin:$PATH
export QWS_DISPLAY="LinuxFb:mmWidth35:mmHeight45:0"
export QWS_SIZE=320x240
export set LD_LIBRARY_PATH=$PATH:$QTDIR/lib:$QPEDIR/lib

6.  修改profile 文件

#gedit  /etc/profile

加入

#!/bin/sh

export QTDIR=/usr

export QPEDIR=/usr

export LD_LIBRARY_PATH=/usr/qt/lib

export HOME=/usr

7.  修改rcS文件

gedit /etc/init.d/rcS

加入

#!/bin/sh

/bin/mount -a

/sbin/ifconfig eth0 192.168.0.15 up



/bin/mknod /dev/can c 98 0



/bin/ln -s /dev/sound/dsp /dev/dsp



/bin/ln -s /dev/fb/0 /dev/fb0

/bin/qtopia_setup

注意:如果此文件中已经有那不需要重复。



现在可以了,把这个文件系统放到板子上,然后执行 cd /usr/qtopia

#./chip –qws 就可以看到你想要的东西了, 用鼠标操作吧,触摸屏还没做好,本人正在进行中 ,敬请关注!
回复

使用道具 举报

MagicTony 该用户已被删除
发表于 2010-8-10 12:54:53 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

dingfang 该用户已被删除
发表于 2010-9-7 16:58:34 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

jlbo2004 该用户已被删除
发表于 2010-9-8 19:51:33 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

jlbo2004 该用户已被删除
发表于 2010-9-8 19:52:57 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

oliverchina 该用户已被删除
发表于 2010-11-5 10:41:03 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Skyweet 该用户已被删除
发表于 2011-3-21 22:02:46 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

idolidolidol 该用户已被删除
发表于 2011-5-8 13:04:07 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-10-6 19:25

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表