之前移植过6410的,本来想直接用以前的库,发现不行,好像是编译器的问题,以前用的4.5.1版本的,
2440这里用的arm-linux-gcc.4.4.3,重新做了下,在此记录。
一 移植tslib
这个很简单
(1)./autogen.sh
(2)echo "ac_cv_func_malloc_0_nonnull=yes">arm-none-linux-gnueabi.cache
(3)
--prefix=/opt/tslib/ 是指定tslib安装路径
./configure --prefix=/opt/tslib/ --host=arm-none-linux-gnueabi --cache-file=arm-none-linux-gnueabi.cache --enable-inputapi=no
(4)make
(5)make install
(6)将/opt/tslib/etc/下的ts.conf打开,将# module_raw input一行前面的符号和空格去掉。
然后把tslib这个文件夹复制到开发板的/opt/里面,就好了。
二 移植Qt-4.8.5
(1)
要更改mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf这个文件,如下
要不然会出现The tslib functionality test failed!这个错误。
QMAKE_INCDIR=/opt/tslib/include
QMAKE_LIBDIR=/opt/tslib/lib
# modifications to g++.conf
QMAKE_CC = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-gcc
QMAKE_CXX = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-g++
QMAKE_LINK = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-g++
QMAKE_LINK_SHLIB = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-g++
# modifications to linux.conf
QMAKE_AR = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-ar cqs
QMAKE_OBJCOPY = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-objcopy
QMAKE_STRIP = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-strip
----------------------------------------------------------
然后配置
./configure -prefix /usr/local/QT4.8.5-ARM-mini2440/ -force-pkg-config -opensource -confirm-license -release -shared -embedded arm -xplatform qws/linux-arm-gnueabi-g++ -depths 16,18,24 -fast -optimized-qmake -pch -qt-sql-sqlite -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -qt-mouse-tslib -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 -I/opt/tslib/include -L/opt/tslib/lib
加粗线的记着加上,要不点触摸屏会没反应,/usr/local/QT4.8.5-ARM-mini2440/ 这个是我安装的路径。
(2)make
(3)make install
进入编译好的库,把plugins,imports,lib,mkspecs复制到开发板某个目录下,我这里是/opt/Qt-4.8.5-ARM。
配置环境变量,我把下面的写到.bashrc里了。
export TSLIB_ROOT=/opt/tslib
export TSLIB_TSDEVICE=/dev/event0
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_PLUGINDIR=/opt/tslib/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_CONFFILE=/opt/tslib/etc/ts.conf
export POINTERCAL_FILE=/etc/pointercal
export TSLIB_CALIBFILE=/etc/pointercal
export QWS_MOUSE_PROTO=Tslib:/dev/event0
export QTDIR=/opt/Qt-4.8.5-ARM
export QPEDIR=/opt/Qt-4.8.5-ARM
export PATH=$QTDIR/bin:$PATH
export QWS_DISPLAY=LinuxFb:/dev/fb0
export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$QTDIR/lib:$LD_LIBRARY_PATH
export QT_QWS_FONTDIR=$QTDIR/lib/fonts
设置完成。
在开发板上,先进入tslib/bin里面,运行./ts_calibrate进行校准,
校准完成后reboot,
然后运行你的QT程序 ./player -qws
一切正常。
参考:http://www.amobbs.com/thread-5570875-1-1.html