最具体的QT4移植ARM9开发板方法58156.docx
《最具体的QT4移植ARM9开发板方法58156.docx》由会员分享,可在线阅读,更多相关《最具体的QT4移植ARM9开发板方法58156.docx(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、QT4移植到ARM9开发板1 编译qte1 从 下载源代码,选择开源版本(非商业版本),选择Qt libraries 4.5 for embedded linux(128M)2 在源代码目录下下执行:3 ./confiigure embeedded arm -xplattform qws/llinux-arm-gg+ -no-qtt3suppport -qt-moouse-llinuxttp 4 在redhatt9.0环境境需要作一些些修改才能编编译通过:5 ln -s /usr/kkerberros/inncludee/com_err.hh /usrr/incllude/6 ln -s /u
2、sr/kkerberros/inncludee/proffile.hh /usrr/incllude/7 ln -s /usr/kkerberros/inncludee/krb55.h /uusr/inncludee/8 vi src/gui/ttext/qqfonteenginee_ft.ccpp, 注释掉7100行9 make (时时间4个小时时左右)10 make innstalll2编译busyybox1.13.441 从http:/www.busybbox.neet/dowwnloadds/下载bbusyboox工具。2 修改Makeffile CROSSS_COMPPILE=aar
3、m-liinux-3 Make meenuconnfig选择择动态编译,默默认配置保存存即可4 如果在Redhhat2.44虚拟机上编编译,需需修修改netwworkinng/intterfacce.c添加宏定义#ddefinee ARPHHRD_INNFINIBBAND 3325. makke alll insttall(使使用3.4.1编译器)3建立配置文件件1 进入_insttall目录录2 mkdir ddev liib tmpp procc3 cd dev 4 mknod ffb0 c 29 0 建立frramebuuffer设设备文件5 mknod tts0 133 128 建立触
4、摸摸屏设备文件件6 mknod cconsolle c 55 17 mknod ttty0 cc 4 08 mknod ttty1 cc 4 19 mknod ttty2 cc 4 2 10 mknod ttty3 cc 4 311 mknod ttty4 cc 4 412 cd lib13 cp arff 3.4.1/arm-llinux/lib/* .14 cp arff qt-eembeddded-liinux-oopensoource-src-44.5.1/lib/* .15 应用测试程序拷拷贝到开发板板根目录16 cp qt-eembeddded-liinux-oopensoourc
5、e-src-44.5.1/demoss/defoorm/deeform .注:命令中引用用的路径为相相对路径4运行QTE测测试程序1 两种方式2 可以用mkcrramfs将将busybbox的_iinstalll目录做成成文件系统镜镜像,然后下下载3 可以用NFS挂挂载4 ./deforrm qws 屏屏幕看结果我发现做出来的的东西然后写写下来一起分分享是很快乐乐的事,哈哈哈,越写越上上瘾了,但毕毕竟精力有限限,干的也比比较少,时间间总感觉不够够用。所以干干点写点,还还是老话大部部分来自网上上,里面我就就多罗嗦两句句。好了不多多说了,接着着上次触摸屏屏驱动移植开开始写,上次次我们把触摸摸屏给移
6、植了了,怎么能用用实践来检验验呢,来看看看我的QT44程序是否能能通过触摸屏屏就可以控制制呢,就这个个问题我做了了一些工作。老老样子介绍系系统:1.主主机系统:uubuntuu 8.100 交叉编译译器3.4.5 u-bboot-11.3.4 linuxx-2.6.26.522.目标系统统:s3c224103.首先要让触触摸屏很好的的工作就先去去做校准的工工作,这里我我们用tsllib-1.4,具体的的移植过程如如下:(1)得到源码包包tslibb-1.4.tar.ggz,上网一一搜索就很多多,具体就不不说了。(22)$cd tslibb$expoort PRREFIX=/homee/yoyo
7、oili/ttslib(这个就是ttslib编编译以后的安安装目录)$exporrt CC=arm-ssoftflloat-llinux-gnu-ggcc$./autoggen.shh$echoo ac_cv_fuunc_maalloc_0_nonnnull=yes arm-linuxx.cachhe$./cconfiggure -hostt=arm-linuxx -prrefix=$PREFFIX -cachee-filee=arm-linuxx.cachhe$makke $maake innstalll这样在/hhome/yyoyoilli/tsllib下面就就是我们交叉叉编译tsllib
8、以后产产生的必要的的文件,主要要是头文件和和库文件,在在移植QT44的时候需要要这些文件。(3)在开发板的/home/yoyoili创建tslib目录,将编译好的tslib目录下的lib,etc,bin目录拷贝到这个目录,然后编辑etc/ts.conf,具体内容如下,其他的内容全部删除:我的如下:module_raw inputmodule pthres pmin=1module variance delta=30module dejitter delta=100module linear注意module_raw前不要有空格!(4)接下来就是测试触摸屏和tslib是否好用了,首先设置环境变量,
9、在开发板上设置:$export TSLIB_ROOT=/home/yoyoili/tslib$export TSLIB_TSDEVICE=/dev/event0$export LD_LIBRARY_PATH=/home/yoyoili/tslib/lib:$LD_LIBRARY_PATH$export QWS_SIZE=320x240$export TSLIB_FBDEVICE=/dev/fb0$export TSLIB_PLUGINDIR=/home/yoyoili/tslib/lib/ts$export TSLIB_CONSOLEDEVICE=none$export TSLIB_CONFF
10、ILE=/home/yoyoili/tslib/etc/ts.conf$export POINTERCAL_FILE=/etc/pointercal$export QWS_MOUSE_PROTO=Tslib:/dev/event0$export TSLIB_CALIBFILE=/etc/pointercal这里强烈建议大家写一个脚本来执行,否则我们宝贵的时间就浪费在这上面了!(5)$cd /home/yoyoili/tslib/bin运行:./ts_calibrate,然后在/etc就有个pointercal文件了。这个就是校准后产生的文件,以后我们的QT程序通过触摸屏来控制必须有它的。(6)
11、接下来我们就开始移植我们QT4了,这个我们还是基于以前写的那个QT4移植文档,具体可以看我以前的日志,源码包还是qt-4.4.3的,重新解压然后,如果你的交叉编译器是arm-softfloat-linux-gnu-gcc,请修改源代码的mkspec/qws/linux-arm-g+/qmake.conf。然后修改mkspec/qws/linux-arm-g+/qmake.conf对QMAKE_INCDIR和QMAKE_LIBDIR进行赋值,具体如下:QMAKE_INCDIR =/home/yoyoili/tslib/includeQMAKE_LIBDIR =/home/yoyoili/tsli
12、b/lib也就是指定了交叉编译好的tslib的头文件和库的路径而已,然后就开始配置./configure -prefix /home/yoyoili/source/qt/build -release -shared -fast -pch -no-qt3support -qt-sql-sqlite -no-libtiff -no-libmng -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -no-openssl -nomake examples -nomake demos -nomake tools -optimized-qmake -no-phono
13、n -no-nis -no-opengl -no-cups -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-xkb -no-sm -no-xinerama -no-xshape -no-separate-debug-info -xplatform qws/linux-arm-g+ -embedded arm -depths 16 -no-qvfb -qt-gfx-linuxfb -no-gfx-qvfb -no-kbd-qvfb -no-mouse-qvfb -qt-kbd-usb -confirm-license -no-armfpa -n
14、o-feature-QWS_CURSOR -qt-mouse-tslib make如果出现错误,可以重新关掉终端,然后重新解压QT4包,再配置和编译一下。make install这样我们的/home/yoyoili/source/qt/build就有了我们的QT4的东西了,主要是库文件,在开发板上创建/home/yoyoili/source/qt/build/lib,fonts目录,拷贝相应的库文件到开发板的/home/yoyoili/source/qt/build/lib目录下。libQtCore.so,libQtGui.so.4,libQtNetwork.so.4。向开发板的/home/y
15、oyoili/source/qt/build/fonts/拷贝unifont_160_50.qpf,wenquanyi_120_50.qpf这些字体。这些字体是在编译好的qt的/home/yoyoili/source/qt/build/lib/fonts目录下面,然后拷贝开发板的/home/yoyoili/source/qt/build/fonts/下即可。编写一个设置环境变量的脚本:#!/bin/shexport TSLIB_ROOT=/home/yoyoili/tslibexport TSLIB_TSDEVICE=/dev/event0export LD_LIBRARY_PATH=/hom
16、e/yoyoili/tslib/lib:/home/yoyoili/source/qt/build/lib:$LD_LIBRARY_PATHexport QWS_SIZE=320x240export QTDIR=/home/yoyoili/source/qt/buildexport TSLIB_FBDEVICE=/dev/fb0export TSLIB_PLUGINDIR=/home/yoyoili/tslib/lib/tsexport TSLIB_CONSOLEDEVICE=noneexport QT_QWS_FONTDIR=/home/yoyoili/source/qt/build/fon
17、tsexport TSLIB_CONFFILE=/home/yoyoili/tslib/etc/ts.confexport POINTERCAL_FILE=/etc/pointercalexport QWS_MOUSE_PROTO=Tslib:/dev/event0export TSLIB_CALIBFILE=/etc/pointercal -f /etc/pointercal | /home/yoyoili/tslib/bin/ts_calibrate /判断是否有校准文件,如果没有,要校准,如果有不用校准!./demo -qws &最近一直在试验验如何把自己己编译的 qqt4 / qtop
18、iia4 应用用程序 移植植 到 ARRM开发板上上去,今天(2008年11月14日星期五)终于把这条路子走通了,感觉一下子轻松了很多,可以舒一口气了,值得庆祝!以后的事虽很多,但总算心里有点底了,后面的任务应该是如何完善自己开发的系统程序,添加必要的功能。如何在arm开开发板中移植植自己开发的的qt4应用程程序,我以自自己编写的wwwjweddm程序为例例:1、设置好主机机开发环境,qt-x11和qtcore安装完毕,可以参考有关文章设置好环境2、开发自己的的应用程序,可可以参考有关关书籍精通通qt4编程qtt c+ GUI编程程3、保证自己的的应用程序在在主机上编译译通过,特别别是在QVF
19、FB中使用qtccore的库库编译通过;4、开始交叉编编译,首先设设置好QT/embeddded ffor arrm的库路径径,具体如下下:可以根据据自己的具体体情况修改,在在ARM板上上嵌入式qtt4的库文件件编译过程可可以参考另一一篇文章:Qtopia-core-4.3.44在s3c22410上的的交叉编译移移植http:/在主机/rooot目录下面面新建一个文文件 #geedit qqte_ennv,添加如如下内容export QTDIRR=/mntt/nfs/qtcorre434export PATH=$QTDIIR/binn:$PATTHexport LD_LIIBRARYY_PAT
20、HH=$QTDDIR/liib:$LDD_LIBRRARY_PPATH需要交叉编译的的时候,重新新开一个终端端,在/rooot目录下下(主机上为为了方便,我我一直采用rroot用户户登陆),先先ls一下,看看文件在不在在,然后#. qte_env /*注注意 . 后面有有一个空格*/这样即设定好了了qte ffor arrm的库路径径,在此终端端下面,进入入要编译的工工程文件路径径下;#cd /mnnt/nfss/qtcoore4344/demooes/wwwjwedmm#make cclean#qmake projject#qmake#make 如果没出出错即可以生生成一个wwwjwedmm
21、的二进制可可执行文件#ls 拷贝这个wwjjwedm到到开发板上去去,不过我使使用的是qtt4的库太大大,不能移植植到开发板,我我使用nfss挂载的方式式,可以参考考其他文章,如如何建立交叉叉编译环境。连接好主机和开开发板之间的的串口线和网网线,设置好好地址,保证证能启动挂载载,所涉及的的一些内容和和具体事项可可以访问htttp:/启动开发板,进进入板载系统统中,rootuutu-liinux# mounnt -t nfs 1192.1668.1.2200:/mmnt/nffs /mnnt/nfss -o nnolockkrootuutu-liinux# cd /mnt/nnfs/qttcor
22、e4434/deemos/wwwjweddmrootuutu-liinux wwjweedm# ./wwjjwedm qws既可以在板子上上启动自己编编译的wwjjwedm程程序;*注意:qt44用不同的版版本,编译参参数不一样可可能编译的库库是不一样的的,执行wwwjwedmm程序时会出出现不同大大大小小的错误误,在这里我我交叉编译使使用的qt44的库和我要要nfs挂载载的库是同一一个库路径,保保证编译以及及在arm板板上执行文件件是不出现错错误。mini24440 qt44 移植(转转+自己添加加)LInux环境境搭建与设置置 20099-04-224 10:06 阅读5441评论11 字
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 具体 QT4 移植 ARM9 开发 方法 58156
限制150内