Chinaunix首页 | 论坛 | 博客
  • 博客访问: 99852
  • 博文数量: 20
  • 博客积分: 496
  • 博客等级: 二等列兵
  • 技术积分: 140
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-07 10:26
文章分类

全部博文(20)

文章存档

2012年(9)

2011年(11)

分类: LINUX

2011-05-05 14:36:25

4.7.2DM365上的移植笔记

环境:虚拟机Vmware+Fedora 14

       编译工具链使用TI提供的mvl_5_0_0801921_demo_sys_setuplinuxQT源码包使用qt-everywhere-opensource-src-4.7.2tslib使用tslib-1.4.tar.gzQT-creater使用qt-creator-linux-x86-opensource-2.1.0

       为编译QT等源码包创建临时工作目录:/home/(user)/QT

编译工具链安装

省略。

的编译及移植

tslib-1.4.tar.gz解压到你的临时工作目录下,然后按以下步骤执行:

#cd /home/(user)/QT/tslib

#.autogen.sh

#./configure --prefix=/usr/local/Trolltech/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes

修改/home/(user)/QT/tslib/libtools文件,将文件当中所有的arm-linux-arm-unkown-linux-arm_v5t_le-替换,修改LD=”……..”LD="/usr/local/montavista/pro/devkit/arm/v5t_le/armv5tl-montavista-linux-gnueabi/bin/ld",修改NM=”………..”NM="arm_v5t_le-nm -B",将该文件中所有的$echo$ECHO替换(否则在make时会报X—tagcommond not found 等一堆错误)。

修改/home/(user)/QT/tslib目录以及子目录下所有Mafile文件,将文件中所有的arm-linux-arm-unkown-linux-arm_v5t_le-替换。

#make

#make install

执行完毕后会在/usr/local/Trolltech目录下生成一个tslib文件夹,这个文件夹下的所有内容就是嵌入式系统触摸屏所需要的一些配置文件、动态库、测试和校准程序等。修改usr/local/Trolltech/tslib/etc/ts.conf文件为:

module_raw input

module pthres pmin=1

module variance delta=30

module dejitter delta=100

module linear

注意:每一行必须要顶格些,前面不能有空格等。否则在运行时会出现段错误。

/usr/local/Trolltech/tslib整个文件夹复制到你为DM365所制作的文件系统的对应目录下,我的文件系统在/home/dm365/target/filesys,所以将/usr/local/Trolltech/tslib复制到了/home/dm365/target/filesys/usr/local/Trolltech

修改/home/dm365/target/filesys/etc/profile文件,在文件末尾添加:

export TSDIR=/usr/local/Trolltech/tslib

export QTDIR=/usr/local/Trolltech/QtE-4.7.2-arm

export LD_LIBRARY_PATH=$TSDIR/lib:$QTDIR/lib:$LD_LIBRARY_PATH

export TSLIB_ROOT=$TSDIR/lib

export TSLIB_TSDEVICE=/dev/input/event0

export TSLIB_FBDEVICE=/dev/fb/0

export TSLIB_PLUGINDIR=$TSDIR/lib/ts

export TSLIB_CONSOLEDEVICE=none

export TSLIB_CONFFILE=$TSDIR/etc/ts.conf

export POINTERCAL_FILE=/etc/pointercal

export TSLIB_CALIBFILE=/etc/pointercal

export QWS_MOUSE_PROTO=Tslib:/dev/input/event0

 

其中QTDIR目录在QT4.7.2移植完成后也需要添加的,在此一并添加了,只是在移植QT4.7.2时按照这个目录放置即可,当然你也可以修改这个目录。

4.7.2-X86版本的编译安装

解压qt-everywhere-opensource-src-4.7.2.tar.gz源码包到/home/(user)/QT。并进入该目录:

#./configure -embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb

# gmake

# gmake install

安装过程比较长,没有碰到过错误。安装完成后在/usr/local/Trolltech目录下会产生一个QtE-4.7.2-x86文件夹。

# cd /home/qt-everywhere-opensource-src-4.7.2/tools/qvfb

    复制/home/qt-everywhere-opensource-src-4.7.2/tools/shared/deviceskin目录下的deviceskin.cppdeviceskin.h文件至/home/qt-everywhere-opensource-src-4.7.2/tools/qvfb目录下,修改该目录下Makefile文件中LIBS = $(SUBLIBS)  -L/home/qt-everywhere-opensource-src-4.7.2/lib -lQtGui -L/home/qt-everywhere-opensource-src-4.7.2/lib -lQtNetwork -lQtCore –lpthread为:

LIBS = $(SUBLIBS)  -L/home/qt-everywhere-opensource-src-4.7.2/lib -lQtGui -lXtst -L/home/qt-everywhere-opensource-src-4.7.2/lib -lQtNetwork -lQtCore –lpthread

然后执行:

#/home/qt-everywhere-opensource-src-4.7.2/bin/qmake –project

#/home/qt-everywhere-opensource-src-4.7.2/bin/qmake

#make

执行完成后会在该目录下生成qvfb可执行文件,运行该程序会出现窗口,这就是虚拟的显示设备,将该文件复制到/usr/sbin目录下即可,需要时在终端输入qvfb命令即可。

安装完成后删除/home/(user)/QT下的qt-everywhere-opensource-src-4.7.2目录。

4.7.2-ARM版本的编译安装及移植

解压qt-everywhere-opensource-src-4.7.2.tar.gz源码包到/home/(user)/QT。并进入该目录:

# ./configure -prefix /usr/local/Trolltech/QtEm-4.7.2-arm -opensource -confirm-license -release -shared -embedded arm -xplatform qws/linux-arm-g++ -depths 16,18,24 -fast -optimized-qmake -pch -qt-sql-sqlite -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -little-endian -host-little-endian -no-qt3support -no-libtiff -no-libmng -no-opengl -no-mmx -no-sse -no-sse2 -no-3dnow -no-openssl -no-webkit -no-qvfb -no-phonon -no-nis -no-cups -no-glib -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-separate-debug-info -nomake examples -nomake tools -nomake docs -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib

执行完成后,修改

/home/(user)/QT/qt-everywhere-opensource-src-4.7.2/mkspecs/qws/linux-arm-g++目录下的qmake.conf文件,将其中的arm-linux-替换为arm_v5t_le-

#gmake

#gmake install

       安装完成后在/usr/local/Trolltech目录下会产生一个QtE-4.7.2-arm文件夹。

    /usr/local/Trolltech/QtE-4.7.2-arm/lib下的所有文件复制到/home/dm365/target/filesys/usr/local/Trolltech/QtE-4.7.2-arm/lib下。

    设置环境变量,这一步在前面移植tslib的时候已经添加进去了,你可以再检查一下你的实际目录与环境变量中设置是否一致。

    安装完成后删除/home/(user)/QT下的qt-everywhere-opensource-src-4.7.2目录。

五、安装Qt-creator-2.1.0

把下载的qt-creator-linux-x86-opensource-2.1.bin文件拷到一个目录(如前面的/home/tmp目录),进入目录:

设置qt-creator-linux-x86-opensource-2.1.bin文件为可执行

#chmod +x qt-creator-linux-x86-opensource-2.1.bin

安装:

# ./ qt-creator-linux-x86-opensource-2.1.bin

启动安装界面,默认一路Next即可。

*如果我们下载的是QtSDKqt-sdk-linux-x86-opensource-2010.02.bin),这里可以选择安装Qt的开发环境,这样,在前面安装pcQt那步就可以省了,关键是可以省出很多时间的。

启动Qt-creator

Qt-creator菜单栏Tools—Options…打开Options窗口。

Options界面左侧,点击Qt4—Qt Versions右侧显示Qt Versions设置界面。

Qt Versions界面中点击那个蓝色的大号图标

在下方Version Name:文本框内输入Qt的版本名,可以随便填,能区分各个版本即可(如 x86版取QtE-4.7.2-x86arm版取QtE-4.7.2-arm)。

单击Qmake Location:右侧Browse…按钮,在弹出的“Select QMake Executable”窗口中找到对应版本的qmake程序(按照我们前面安转的,x86版路径:/usr/local/Trolltech/QtE-4.7.2-x86/bin/qmakearm版路径:/usr/local/Trolltech/QtE-4.7.2-arm/bin/qmake),单击打开,回到Qt Versions界面。单击Debugging Helper:右侧Rebuild按钮,等待片刻,看到Debugging Helper:后出现一个绿色的“√”即可。

同理完成其他版本的添加。

添加完毕,单击OK按钮关闭Options窗口。

到此,Qt-creator配置完毕(我暂时就配置了这些)。

usr/local/Trolltech/QtE-4.7.2-x86/demos下复制books例程到/home/(user)/test文件夹下。

启动Qt-creatorFile—Open File or Project…,打开/home/(user)/test /books/books.pro

这里我们分两部分,首先编译x86下的,并运行在qvfb下,再编译arm下的,移到开发板下运行。

1x86下的编译与调试

Qt-creator界面左侧点击Projects图标,打开工程设置界面。

从上往下,

Edit Project Settings for Project books——Build Settings——Edit Build Configuration:单击Add,在下拉列表中选择Using Qt Version “QtE-4.7.2-x86”弹出对话框单击Ok按钮,在Edit Build Configuration:下会出现蓝色的Make QtE-4.7.2-x86 Release active.字符,单击激活QtE-4.7.2-x86 Release

Run Settings——Edit run configuration:右侧单击Show Details按钮,在打开的下拉列表中Arguments:文本框中添加参数“-qws”。

 

设置完毕,点击Edit图标,回到编辑界面。

编译:在Build菜单下,先Clean Project books”,然后Build Project books”,在右下角Compile Output窗口能看到编译信息(按我们上面这样走来,到此编译不会出问题的)。

运行:

启动终端,# /usr/local/Trolltech/QtE-4.7.2-x86/bin/qvfb -width 480 -height 272 &,启动Qvfb

回到Qt-creatorBuild——Run,运行程序。

切换我们的Qvfb窗口中,就可以看到Books运行的界面了。

2arm编译并移植

编译:在Projects设置界面下,选择Using Qt Version “QtE-4.7.2-arm”项,余下参数不变,build

复制编译好的文件(也许还有images文件夹)到DM365NFS文件系统的/opt目录下,我直接把books文件夹复制过去了。

       启动DM365板子,执行命令:

#cd /opt

#./books –qws

注意:由于QT默认的显示设备是/dev/fb0,而我们的DM365平台显示设备是/dev/fb/0。所以在运行./books –qws 之前在dev目录下创建一个链接:

#ln –s /dev/fb/0 /dev/fb0 最好将这句命令添加到/etc/init.d/rcS文件当中。

       如果是首次运行还需要在./books –qws之前执行tslib校准程序:

#cd /usr/local/Trolltech/tslib/bin

#./ts_calibrate

注意你的文件系统必须是可写的,因为这个程序执行完成后会在/etc目录下产生一个pointercal文件,否则在运行./books –qws时触摸屏是不能用的或着不好用的。还有这个pointercal文件不能手动创建。

 

 

 

 

阅读(4724) | 评论(4) | 转发(0) |
1

上一篇:没有了

下一篇:Qt-extended-4.4.3移植

给主人留下些什么吧!~~

2011-11-09 09:45:06

你好..我按照你的这种方法还是会出一些问题,能把tslib那一块说得更详细一点吗..还有为什么要修改那些东西能解释一下吗,谢谢

zhjy821152011-09-27 16:08:39

匿名: tslib编译的时候为萨不用将CC=gcc改称CC=arm_v5t_le-gcc吗 这样设置好像是用gcc编译的,移植上去可以用吗?  我是新学的,问问  呵呵.....
当初好像是configure的时候加上不起作用,所以我在Makefile里面改了,文档里面可能没写清楚

2011-09-09 10:14:32

tslib编译的时候为萨不用将CC=gcc改称CC=arm_v5t_le-gcc吗 这样设置好像是用gcc编译的,移植上去可以用吗?  我是新学的,问问  呵呵