QTE与Tslib移植记录.doc_第1页
QTE与Tslib移植记录.doc_第2页
QTE与Tslib移植记录.doc_第3页
QTE与Tslib移植记录.doc_第4页
QTE与Tslib移植记录.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实现2410平台的Qte移植与触摸屏校准下面的操作在work/gui/target文件夹下面进行,首先建立相应的文件夹,把需要用到的文件拷贝到target目录下。首先要校准我们的触摸屏:下面是移植过程:解压tslib-1.3.tar.bz2文件,生成tslib-1.3的目录#cd tslib-1.3#mkdir image /安装目录#./autogen.sh /生成config文件#echo ac_cv_func_malloc_0_nonnull=yes arm-linux.cache #./configure -host=arm-linux -cache-file=arm-linux.cache -prefix=$PWD/image -enable-inputapi=no 红色的部分是触摸屏驱动不支持ioctl操作,必须要有。#make为了防止出现“libtool:link: only absolute run-paths are allowed“的错误,在/tslib/plugins/Makefile里面找rpath,找到将其注释并加上绝对路径。#LDFLAGS :=$(LDFLAGS) -rpath $(PLUGIN_DIR)LDFLAGS :=$(LDFLAGS) -rpath cd $(PLUGIN_DIR) & pwd注意上面的符号,是esc那个键下面的按键符号#make install编译完成后在image目录里就是需要移植到板内的文件。在rootfs下面建立tslib文件夹,将image里面的文件拷贝到tslib下面,然后在rootfs下面的etc下面的profile文件中添加下述的配置文件。添加到最后面。export QWS_MOUSE_PROTO=TPanel:/dev/ts0export T_ROOT=/tslibexport LD_LIBRARY_PATH=$T_ROOT/lib:$LD_LIBRARY_PATHexport TSLIB_CONSOLEDEVICE=noneexport TSLIB_FBDEVICE=/dev/fb0export TSLIB_TSDEVICE=/dev/ts0export TSLIB_CALIBFILE=/etc/pointercalexport TSLIB_CONFFILE=$T_ROOT/etc/ts.confexport TSLIB_PLUGINDIR=$T_ROOT/share/ts/pluginsexport TSLIB_TSEVENTTYPE=H3600ln -sf /dev/ts0 /dev/h3600_tsrawln -sf /dev/ts0 /dev/h3600_ts解释一下上述几个文件:/bin/几个所需的测试文件,比如生成的校准文件,测试文件等等/lib/几个所需的库文件/plugins/触摸屏插件模块库/etc/配置文件启动开发板。然后在putty中运行/tslib/bin目录下面的ts_calibrate,这时候屏幕上面依次出现5个叉,点击后消失,在etc下面生成了/etc/pointercal文件,这个是我们后面qt应用程序运行时需要的触摸屏校准文件。比较重要!pointercal是因屏而异的,每个触摸屏的参数都不一样,要各自校准。这一步还可以继续测试先修改下tslib/etc/ts.conf文件module mousebutsmodule variance xlimit=50 ylimit=50 pthreshold=3module dejitter xdelta=1 ydelta=1 pthreshold=3module linear将第一行的#注释去掉,然后在putty下面运行tslib/bin下面的ts_test文件,会发现十字叉随着鼠标游动,说明鼠标校准正常了,如果无效果重新启动开发板,重复执行ts_test测试。要将我们写好的程序发布到开发板上,我们需要对 Qt/Embedded 重新编译,得到我们需要的库文件,然后拷贝到rootfs下面,最后发布的时候一并烧写到nand中就可以了。与前面在宿主机上编译类似,步骤如下:在work/gui下面执行 root#mkdir target 上面一步,如果你的work/gui/target存在,就可以省略root#cd work/gui/target/进入到你的源代码包所在的位置,把源代码包拷贝到target文件夹下面。root#cp -arf tmake-1.13.tar.gz qt-embedded-2.3.10-free.tar.gz qt-x11-2.3.2.tar.gz /work/gui/target 通过上一步我们将文件拷贝到work/gui/target下面第一步,解压安装包并设置环境变量 1安装 Tmake cd /work/gui/target tar xzf tmake-1.13.tar.gzexport TMAKEDIR=$PWD/tmake-1.13 2安装 Qt 2.3.2 cd /work/gui/target tar xzf qt-x11-2.3.2.tar.gzexport QT2DIR=$PWD/qt-2.3.2 3安装 Qt/Embedded cd /work/gui/target tar xzf qt-embedded-2.3.10-free.tar.gzexport QTEDIR=$PWD/qt-2.3.10 第二步,编译 Qt/Embedded。 1.Build Qt2.3.2 cd $QT2DIRexport TMAKEPATH=$TMAKEDIR/lib/linux-g+ export QTDIR=$QT2DIR export PATH=$QTDIR/bin:$PATH export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH ./configure -no-xft /出现选项时都输入 yes make cp arf bin/uic $QTEDIR/bin/2. Build Qvfb export TMAKEPATH=$TMAKEDIR/lib/linux-g+ export QTDIR=$QT2DIR export PATH=$QTDIR/bin:$PATH export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH cd $QTEDIR/tools/qvfb /work/gui/target/tmake-1.13/bin/tmake -o Makefile make 如果此处提示nothing to be done的话,重新make clean一下,删除掉已经有的qvfb,然后就可以执行make了。生成我们自己的qvfb文件。mv qvfb $QTEDIR/bin/ 3.Build Qt/Embedded cd $QTEDIR export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g+ export QTDIR=$QTEDIR export PATH=$QTDIR/bin:$PATH export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH 在src/tools/qconfig-local.h中加入(如果没有该文件则重建一个,将下面的内容添加进去即可)#define QT_QWS_IPAQ#define QT_QWS_IPAQ_RAW#define QT_NO_QWS_CURSOR#define QT_NO_QWS_MOUSE_AUTO /去掉鼠标自动识别功能然后执行./configure -xplatform linux-arm-g+ -no-xft -no-qvfb -depths 4,8,16,32 -L/work/gui/target/tslib-1.3/image/lib -I/work/gui/target/tslib-1.3/src -qconfig local -thread上面-L/work/gui/target/tslib-1.3/image/lib/ -I/work/gui/target/tslib-1.3/src这里注意,你的tslib-1.3解压后文件在那里,蓝色部分给出相应的位置即可。然后执行make sub-src 只编译库文件这步完成后,我们会在$QTEDIR/lib/目录下面看到 libqte.so libqte.so.2 libqte.so.2.3 libqte.so.2.3.10 这四个文件,我们可以使用 file 命令来查看这个库文件是否是我们需要的在开发板上跑的库。 file libqte.so.2.3.10 提示出现libqte.so.2.3.10: ELF 32-bit LSB shared object, ARM, version 1 (ARM), not stripped 表明我们得到了开发板上面应用程序运行时需要的库文件。有了这个库以后我们就可以把它拷贝到我们的开发板中相应的库目录下面,这里我们选择了开发板上的/usr/lib 目录,将$QTEDIR/lib/下的 libqte.so*复制到rootfs/usr/lib 目录下,供开发板上上面的应用程序用。*表示可以是任意字符,只要前面是libqte.so的都拷贝。至此平台搭建完毕,下面进行应用程序的开发。下面我们要做的是先把一个qte里面自带的demo演示程序放到rootfs里面,然后启动开发板,运行看看效果。是否lcd正常显示,是否支持触摸屏等等。1 修改 tmake 配置文件 gedit $ TMAKEDIR/lib/qws/linux-arm-g+/tmake.conf 将其中“TMAKE_LINK= arm-linux-gcc” “TMAKE_LINK_SHLIB= arm-linux-gcc” 修改为: “TMAKE_LINK= arm-linux-g+” “TMAKE_LINK_SHLIB= arm-linux-g+” 2 生成可执行文件 这里我们采用了 Qt/Embedded 自带的一个 demo,它在$QTEDIR/examples/progressbar目录下,这个目录包括下面几个文件:main.cpp、Makefile.in、progressbar.h、 Makefile、progressbar.cpp、,如果已经有了 progressbar的执行文件,可以使用 make clean 删除。 在这里已经有了工程文件 ,这个是 Qt 已经配置好的,一般情况下我们自己编写程序事需要 progen 工具来生成这个文件的,以这个程序为例 $TMAKEDIR/bin/progen t app.t o 在使用 tmake 工具生成 makefile 文件之前,我们要确保 tamke 工具的路径是正确的,可以采用 echo 名来来查看 echo $TMAKEPATH 查看返回的结果的结尾字符是否是“/qws/linux-arm-g+” ,如果不是的话需要在命令行中重新设置 TMAKEPATH export TMAKEPATH=/tmake 的安装路径(如$TMAKEDIR)/lib/qws/linux-arm-g+ 此外还要使 QTDIR 指向 Qt/Embedded的安装路径,如: export QTDIR=$QTEDIR 或者直接指定路径 export QTDIR=/qt-2.3.10 省略号表示你的文件包在的位置注意:如果上述的步骤始终在一个终端下面,按照步骤完成的话,不用重新设置$TMAKEPATH等了。完成了上面的环境变量的设置,并用 echo 命令检查无误以后,就可以使用 tmake 工具来生成我们需要的 makefile 文件,在命令行中输入如下命令: $TMAKEDIR/bin/tmake o makefile make 如果没出现错误的话就可以在当前目录下找到 progressbar这个可执行文件,将该程序复制到开发板文件系统目录下,即rootfs目录下即可。然后在开发板端进行如下操作: root#cd work/rootfile/rootfs/usr/libroot#mkdir fonts 将 pc 端$QTEDIR/lib/fonts下的所有文件复制到开发板/work/rootfile/rootfs/usr/lib/fonts下。 fonts里面包含了qt应用程序需要的字体文件,如果不进行拷贝工作的话,我们做好的程序有些文字显示不出来。启动开发板,由于刚才拷贝了progressbar程序到rootfs目录下,所以我们只要在putty下面执行./progressbar qws就可以看到液晶屏上面出现程序了,而后可以用触摸笔进行程序的校验。如果运行的时候出现下述两个库的错误,请执行以下操作:error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directoryerror while loading shared libraries: libstdc+.so.6: cannot open shared object file: No such file or directorycp local/arm/3.4.1/arm-linux/lib/libgcc_s.so.1 /work/rootfile/rootfs/lib/cp local/arm/3.4.1/arm-linux/lib/libstdc+.so.6 /work/rootfile/rootfs/lib/附录:rootfs里面etc下面的profile文件下面得内容添加到原有的profile文件的最后即可,目的是设置开发板子上面qt应用程序运行的环境。export QTDIR=/usr/export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATHexport PATH=$QTDIR/qt_bin:$QTDIR/bin:$PATHexport QWS_MOUSE_PROTO=TPanel:/dev/ts0expo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论