新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > Qt Embedded4.6.2与tslib1.4移植到arm平台

Qt Embedded4.6.2与tslib1.4移植到arm平台

作者:时间:2016-11-09来源:网络收藏

相关环境:

开发板:友善之臂mini2440(64M版)(注:内核是使用友善之臂编译的2.6.32版内核)

本文引用地址:http://www.eepw.com.cn/article/201611/317662.htm

主机操作系统:fedoa 12 i686

所需资源:

tslib1.4

qt-everywhere-opensource-src-4.6.2

友善之臂提供的交叉编译工具(gcc版本为4.3)

移植过程:

tslib的移植:

  • 解压下载的tslib1.4压缩包
  • 进入生成的目录,我的是~/tslib/
  • 执行./autogen.sh

注:如果出现“configure.ac:26: error: possibly undefined macro: AC_ENABLE_SHARED”这样的错误,请安装libtool,即:yum install libtool

  • 执行./configure --prefix=/opt/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes
  • 经过一小段时间的编译,如果没出错就执行make install,我的已经安装到/opt/tslib
  • 修改/opt/tslib/etc/ts.conf,把第二行的#号去掉
  • 通过nfs将/opt/tslib通过nfs mount到板子上,或是下载/opt/tslib到板子的/opt/tslib
  • 修改开发板的/etc/profile文件添加如下的内容:
    export TSLIB_ROOT=/opt/tslib
    export TSLIB_TSDEVICE=/dev/input/event0
    export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$LD_LIBRARY_PATH
    export TSLIB_FBDEVICE=/dev/fb0
    export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
    export TSLIB_CONSOLEDEVICE=none
    export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
    export POINTERCAL_FILE=/etc/pointercal
    export TSLIB_CALIBFILE=/etc/pointercal
    export QWS_MOUSE_PROTO=’TSLIB:/dev/input/event0’
    注:红色部分可根据实际更改
  • 可以先手动执行以上的所有export命令,再运行板子的/opt/tslib/bin/ts_calibrate,我是通过网络连接的板子(本本没串口),执行的如下命令:
    /opt/tslib/bin/ts_calibrate >> /dev/tty1
    如果板了屏幕出现校准的"十",就表示移植已经成功啦!

qt embedded 的编译与移植测试

  • 将下载的qt-everywhere-opensource-src-4.6.2包解压,把得到目录更名为qt-4.6.2-arm

  • 进入qt-4.6.2-arm目录
  • 输入如下的命令进行相关功能的定制,关于更多的定制选择可以参考./configure --help
    ./configure -embedded arm -xplatform qws/linux-arm-g++ -no-qt3support -fast -no-largefile -qt-mouse-tslib -I /opt/tslib/include -L /opt/tslib/lib -nomake tools -nomake demos -nomake examples
  • 输入make进行编译
  • make install安装,安装目录为/usr/local/Trolltech/QtEmbedded-4.6.2-arm
  • 通过nfs把/usr/local/Trolltech mount到板子的同名目录上
  • 编译qt-4.6.2-arm/examples/widgets/calculator下的文件,依次输入如下命令:
    cd qt-4.6.2-arm/examples/widgets/calculator
    /usr/local/Trolltech/QtEmbedded-4.6.2-arm/bin/qmake -project
    /usr/local/Trolltech/QtEmbedded-4.6.2-arm/bin/qmake
    make
  • 将得到的calculator二进制文件下载到板子,或是放到/usr/local/Trolltech/
  • telnet到板子的系统,进入calculator所在的目录,输入如下命令:
    ./calculator -qws >> /dev/tty1
  • 如果出现板子的屏幕出现一个计算器,表明移植已经成功啦!

注:一般来说,在编译成功并安装后,可以把安装目录下的/lib/目录中的几个libQt*.so库文件拷贝到板子的/lib目录,还要为这几个文件在板子的目录下建立几个软链接(如,ln -s libQtCore.so.4.6.2 libQtCore.so.4 )。我的板子的flash才64M,为了方便,就把整个安装目录挂载到板子上了。

特别说明:

  • 如果计算器按钮的字太小,应该是字体设置的问题,请自行解决
  • 这里给出的方法并不一定是最优的,仅供参考


评论


相关推荐

技术专区

关闭