原创 在mini2440上移植qt embedded for linux 4.5.2

2011-2-17 23:27 1321 3 3 分类: MCU/ 嵌入式

作者:孙晓明华清远见嵌入式学院讲师。

【实验环境】

1、主 机:Fedora9 DVD 发行版
        2、目标机:mini2440友善之臂
        3、源码包:
        ftp://ftp.qtsoftware.com/qt/source/qt-embedded-linux-opensource-src-4.5.2.tar.gz
        4、编译器 arm-linux-gcc-4.1.2
        http://qtextended.org/downloads/toolchains/arm920t-eabi.tgz

我这几天移植qt-embedded-linux-opensource-src-4.5.2 因为之前使用友善的 arm-linux-gcc-4.3.2编译qt-embedded-linux-opensource-src-4.5.2 没有错误,但是运行 例子程序example/widget/analogclock/analogclock -qws &  就会出段错误, 所有改用 openmoko的arm-linux-gcc-4.1.2编译, 最后可以成功看到界面。
        移植的tslib1.4 在,并且运行ts_calibrate 五点校准,触摸屏是有反应的,并能生成/etc/pointercal
        ts_test 也是好使的,拖拽都没有问题。 但是就是运行移植的 QTE的程序 触摸屏一点反应也没有。 顺便说一下,内核还是用的mini2440出厂时nand里的linux-2.6.29,没有动过,触摸屏已经是被内核支持了。

这是我配置的环境变量:

以下环境变量都是我在终端敲入的
        export QTDIR=/usr/local/QtEmbedded-4.5.2-moko-arm
        export QPEDIR=/usr/local/QtEmbedded-4.5.2-moko-arm
        export PATH=$QTDIR/bin:$PATH
        export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH

        export TSLIB_ROOT=/usr/local/tslib
        export TSLIB_TSDEVICE=/dev/event0
        export LD_LIBRARY_PATH=/usr/local/tslib/lib:$LD_LIBRARY_PATH
        export TSLIB_FBDEVICE=/dev/fb0
        export TSLIB_PLUGINDIR=/usr/local/tslib/lib/ts
        export TSLIB_CONSOLEDEVICE=none
        export TSLIB_CONFFILE=/usr/local/tslib/etc/ts.conf
        export POINTERCAL_FILE=/etc/pointercal
        export TSLIB_CALIBFILE=/etc/pointercal
        export QWS_MOUSE_PROTO=Tslib:/dev/event

这是我安装tslib1.4的步骤:

一、tslib移植

第一步:解压tslib-1.4.tar.gz
 
        tar -zxvf tslib-1.4.tar.gz

第二步:进入解压过的目录
  
        cd tslib-1.4

第三步:执行tslib-1.4目录下的autogen.sh

       ./autogen.sh

第四步:执行autogen.sh脚本所生成的Makefile文件
        在命令行打入以下命令:

        echo "ac_cv_func_malloc_0_nonnull=yes" >$ARCH-linux.cache
        ./configure --host=arm-linux  --prefix=/usr/local/tslib --cache-file=$ARCH-linux.cache

第五步:
        make
        make install

第六步:把指定安装目录下的tslib的文件都copy到你所挂载的根文件下

        sudo cp -a /home/linux/tslib/*    /opt/FriendlyARM/mini2440/root_qtopia/usr/local/tslib/ 

第七步:修改/opt/FriendlyARM/mini2440/root_qtopia/usr/local/tslib/  下的etc目录中ts.conf文件

        vi ts.conf  将第二行的#module_raw input修改成module_raw input 注意一定要顶格写否则程序执行时会发生读取ts.conf错误

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
3
关闭 站长推荐上一条 /5 下一条