将qt-embedded-linux移植至arm(s3c2440)

来源:互联网 发布:php空格 编辑:程序博客网 时间:2024/04/29 03:28

宿主机: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显示也不是很正常),所以出现画面之后触屏暂时无法使用,待重新编译下内核,将触摸驱动起来之后再进行后面的移植工作。

 

 

原创粉丝点击