宿主机:Fedora13
目标 机:s3c2440
交叉 编译 器:arm-linux-gcc- 3.4.1
交叉编译器路径:/usr/local/arm/3.4.1
qt版本:qt-embedded-linux-opensource-src-4.5.3
tslib版本:tslib-1.4.tar.gz
一、移植tslib
1.下载TSLIB-1.4源码:
#mkdir tslib (这是你存放TSLIB 源码的文件夹,我们下面要通过CVS网络下载源码,网络上也能找到,但是有可能不好用)
#svn co svn://svn.berlios.de/tslib/trunk/tslib tslib
2.编译:
#cd tslib
#./autogen.sh (生成configure)
#./configure --host=arm-linux --prefix=/home/xxxx/tslib_build/ //(xxxx为你的系统用户名)
若make出错可在configure时加入--enable-inputapi=no
#make
#make install
3.添加到文件系统:
把 tslib_build/bin/下的ts_calibrate(触摸校准测试程序)拷到文件系统的/bin下,把tslib_build/lib/下的文件拷到文件系统的lib下,
/tslib_build/etc/ts.conf 拷到文件系统的/etc/下。
二、移植qt
1.下载源码:ftp://ftp.qt.nokia.com/qt/source/qt-embedded-linux-opensource-src-4.5.3.tar.gz
2.解压缩:#tar -xzvf qt-embeded-linux-opensource-src-4.5.3.tar.gz
3.修改源码,去掉鼠标指针:
#cd qt-embedded-linux-opensource-src-4.5.3/src/gui/embedded/
找到 qwscursor_qws.h,在里面加上#define QT_NO_QWS_CURSOR ,程序里面好像可以去掉,也可以不加。
4、configure
在qt-embedded-linux-opensource-src-4.5.3下建立一个脚本
#vim myconfig.sh
根据移植需要选择相应的内容,执行configure
#source myconfig.sh
编译
#make (时间比较长)
5、编译完成后,把编译完的LIB库加到你的文件系统中:
6、制作QT启动脚本:
#vim bin/myqt
添加以下内容:
7、开机自动启动你的QT应用程序:
#vim etc/init.d/rcS
在最后一行添加:/bin/myqt &
8、.把刚才的文件系统,制作成内核支持的格式,然后烧入FLASH中。(移植过程中最好是采用NFS挂载的方式,这样方便调试,测试没有问题才烧到FLASH中),不出意外的话,你会看到TSLIB校准界面了,校准完会出现QT界面,点点看,准不准。
如果启动后显示无法打开/dev/null或者/dev/fb0设备等问题,这就需要自己手动添加相应的节点
#mknod -m 666 /dev/null c 2 2
#mknod /dev/fb0 c 29 0
然后手动执行一下/bin/myqt脚本,不出意外的话应该能正常显示屏幕校准的测试程序了。
由于本人的内核驱动并未完全移植好(尤其是触摸屏,LCD显示也不是很正常),所以出现画面之后触屏暂时无法使用,待重新编译下内核,将触摸驱动起来之后再进行后面的移植工作。