qt-embedded和tslib移植到FS2410开发板

  qt-embedded和tslib移植到FS2410开发板 收藏
1、环境:

主机:Ubuntu 10.04

开发板:FS2410

Qt-E:qt-embedded-linux-opensource-src-4.5.2

Tslib:tslib-1.4

Cross-compiler:gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu-

2、步骤:

a)下载Qt和Tslib

ftp://ftp.trolltech.com/qt/source/    这里面是老版本的,要最新版本的就去nokia官网吧

b)解压Qt和Tslib

$cd /home/user

$tar -xjvf qt-embedded-linux-opensource-src-4.5.2.tar.bz2

$tar -xzvf tslib-1.4.tar.gz

b)编译Tslib

$cd tslib

$./autogen.sh

(注:此步需要一些工具,ubuntu下需要安装automake、autoconf、libtool,可以执行下面语句安装

$sudo apt-get install automake autoconf libtool)

 


执行configure生成Makefile

$echo "ac_cv_func_malloc_0_nonnull=yes" > $ARCH-linux.cache

$./configure --host=arm-softfloat-linux-gnu --prefix=/home/user/tslib --cache-file=$ARCH-linux.cache

(注:--host是交叉编译器的前缀,--prefix是最终编译生成的可执行文件和库文件以及配置文件所安装的目录,这个目录不能与tslib源码目录相同,可以执行./configure --help来查看更多选项)

编译安装

$make

$make install

把指定的安装目录下的tslib文件拷贝到你所挂载的根文件下

$cp -a /tslib /rootfs

修改ts.cong文件

$vim /rootfs/tslib/etc/ts.cong

将第二行“#module_raw input”注释去掉,变为“module_raw input”,注意一定要顶格。


到此tslib编译安装完成。

c)编译Qt-E

$cd ../

$cd qt-embedded-linux-opensource-src-4.5.2

创建config.sh脚本

$vim config.sh

脚本文件内容:

#!/bin/sh

./configure /
        -prefix /home/user/qt-embedded-arm /
        -release /
        -shared /
        -fast /
        -no-largefile /
        -exceptions /
        -no-accessibility /
        -stl /
        -qt-sql-sqlite /
        -no-qt3support /
        -no-xmlpatterns /
        -no-phonon /
        -svg /
        -no-webkit /
        -no-scripttools /
        -qt-zlib /
        -qt-gif /
        -no-libtiff /
        -qt-libpng /
        -no-libmng /
        -qt-libjpeg /
        -no-openssl /
        -nomake demos /
        -nomake examples /
        -nomake docs /
        -L /home/xin/arm/tslib/lib /
        -I /home/xin/arm/tslib/include /
        -no-rpath /
        -no-optimized-qmake /
        -no-nis /
        -no-cups /
        -iconv /
        -pch /
        -no-dbus /
        -no-separate-debug-info /
        -xplatform qws/linux-arm-g++ /
        -embedded arm /
        -armfpa /
        -little-endian /
        -qt-freetype /
        -depths 16 /
        -no-opengl /
        -qt-gfx-linuxfb /
        -qt-kbd-usb /
        -qt-mouse-tslib /
        -no-glib

(注:具体的configure选项参数可以执行$./configure --help查看,我所列的选项去除了网络功能,其他功能基本比较全,仅供参考)

执行脚本

$./config.sh

编译安装

$make && make install             //时间较长,我的小黑X61大概用了2小时左右,我去吃了饭,洗了个澡,小憩了以下,早上醒来惊喜的发现,编译完成!


移植到开发板上,拷贝编译好的库文件和插件

$cd ../

$cp qt-embedded-arm/lib /rootfs/opt/qt/ -a

$cp qt-embedded-arm/plugin /rootfs/opt/qt/ -a

至此Qt-E和Tslib都移植完成了,但要在开发板上运行qt程序还需要设置一些环境变量

d)设置环境变量

$cd /rootfs

$vim etc/profile

添加内容如下:

export TSLIB_ROOT=/tslib
export TSLIB_TSDEVICE=/dev/event0
export LD_LIBRARY_PATH=/tslib/lib:$LD_LIBRARY_PATH
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_PLUGINDIR=/tslib/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_CONFFILE=/tslib/etc/ts.conf
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_TSEVENTTYPE="H3600"
export QWS_SIZE=320*240
export QWS_MOUSE_PROTO=Tslib:/dev/event0
export QWS_DISPLAY="LinuxFb:mmWidth50:mmHeight65:0"
export POINTERCAL_FILE=/etc/pointercal
export QWS_SW_CURSOR
export QWS_KEYBOARD="TTY:/dev/tty1"

export set QTDIR=/opt/qt
export PATH=$QTDIR:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$QTDIR/plugins/imageformats:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=$QTDIR/plugins/
export QT_QWS_FONTDIR=$QTDIR/lib/fonts

e)以上步骤基本就应该可以运行你的qt程序了,但还有几个注意事项

i-内核得支持LCD、触摸屏和事件接口(event interface support)

ii-如果文件系统不支持mdev或udev的话,请手动添加设备文件

$cd rootfs/dev

$mknod fb0 c 29 0

$mknod event0 c 13 64


$mknod mouse0 c 13 32

f)测试

运行tslib校准程序

$cd rootfs/tslib/bin

$./ts_calibrate

g)开发自己的Qt-E程序

用Qt Creator编写一个简单的Hello world程序

去掉工程中的*.o文件

用自己编译安转好的Qt-embedded下的qmake来创建Makefile

$/home/user/qt-embedded-arm/bin/qmake -project

$/home/user/qt-embedded-arm/bin/qmake

$make

将生成的可执行文件拷贝到开发板上运行吧


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhengzhixin3000/archive/2010/07/01/5707784.aspx

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值