如题,我用的是arm-linux-4.4.1版本的交叉
编译器,QT版本是4.6.3,
移植步骤大致跟
天嵌QT4.5版的差不多,arm版的移植步骤如下:
1.编译tslib1.4,安装在/opt/tslib下
- ./autogen.sh
- echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
- ./configure --host=arm-linux --cache-file=arm-linux.cache --prefix=/opt/tslib
复制代码2.编译qt-embedded-arm,安装在 /opt/QT/qt-embedded-4.6.3-arm下
- ./configure
-embedded arm -xplatform qws/linux-arm-g++ -qt-kbd-tty -qt-mouse-tslib
-qt-mouse-pc -qt-gfx-linuxfb -no-gfx-qvfb -no-gfx-vnc -no-glib -release
-shared -no-qt3support -no-xmlpatterns -no-svg -no-webkit -qt-zlib
-qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -make libs -no-nis
-no-cups -no-iconv -no-dbus -no-openssl -little-endian -qt-freetype
-depths all -prefix /opt/QT/qt-embedded-4.6.3-arm -I /opt/tslib/include
-L /opt/tslib/lib
复制代码3.将tslib/lib下所有文件复制到qt-embedded-4.6.3-arm/lib下(不复制的话则第4步编译
程序时找不到某些库)。
4.用arm版本的qmake编译程序测试无问题。(此时删掉/opt/tslib目录发现依然可以编译,似乎编译只依赖于qt-embedded-4.6.3-arm/lib下的库)
5.将qt-embedded-4.6.3-arm下的lib和plugins文件夹复制到开发板文件系统的/opt/QT/qt-embedded-4.6.3-arm下(保持开发板目录结构与PC机一致)。然后删除.so以外的文件并只保留需要的字体。
6.复制tslib/etc/ts.conf文件到开发板文件系统的/etc下,去掉第二行前的#号
- # Uncomment if you wish to use the linux input layer event interface
- module_raw input
复制代码7.在/etc/profile中添加如下内容:
- # QT
- QTDIR=/opt/QT/qt-embedded-4.6.3-arm
- export LD_LIBRARY_PATH=$QTDIR/lib:$QTDIR/plugins/imageformats:$LD_LIBRARY_PATH
- export TSLIB_PLUGINDIR=$QTDIR/lib/ts
- export TSLIB_CONSOLEDEVICE=/dev/tty
- export TSLIB_TSDEVICE=/dev/event0
- export TSLIB_FBDEVICE=/dev/fb0
- export TSLIB_CONFFILE=/etc/ts.conf
- export TSLIB_CALIBFILE=/etc/pointercal
- export set QWS_FONTDIR=$QTDIR/lib/fonts
- export set QWS_MOUSE_PROTO="TSLIB:/dev/event0"
- export set QWS_DISPLAY="LinuxFB:/dev/fb0"
- export set QWS_DISPLAY="LinuxFB:mmWidth130:mmHeight100:0"
复制代码8.将自己的QT
测试程序和ts_calibrate复制到开发板文件系统的/home/usr目录下,最后将文件系统制作成bin文件烧入开发版中。
9.cd
/home/usr,先运行ts_calibrate校准触摸屏,然后运行自己的QT测试程序。发现程序可以运行,点击触摸屏可以控制鼠标移动,但鼠标却
无法点击QT界面上的任何按钮,点击拖拽均无反应。看来触摸屏的点击信号没有跟鼠标的点击信号联系起来,仅仅只将触摸点的位置信息传给了鼠标。不知问题出
在哪里。。。求指教。。。
PS:在移植之前有移植过触摸屏驱动(否则不可能使用触摸屏),驱动程序用的是天嵌手册中提到的tq
2440_ts.c
找出问题了 是安装tslib的configure错了。。。
应该是:
- ./configure
--host=arm-linux -disable-hp3600 --disable-arctic2 --disable-mk712
--disable-collie --disable-corgi --disable-ucb1x00
--disable-linear-h2200 --with-gnu-ld --prefix=/opt/tslib
ac_cv_func_malloc_0_nonnull=yes
复制代码
阅读(2935) | 评论(0) | 转发(0) |