Chinaunix首页 | 论坛 | 博客
  • 博客访问: 301691
  • 博文数量: 71
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 564
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-20 18:15
个人简介

用编程改变大众。。。

文章分类

全部博文(71)

文章存档

2016年(7)

2015年(54)

2014年(10)

我的朋友

分类: C/C++

2014-09-28 08:50:12

基于海思3515芯片移植qt-embedded
   最近,基于个人需要, 想要移植一下qt-embeded于海思的3515芯片上。最终移植成功,特记录此文档,希望对有缘阅此文档的读者和朋友,有所帮助吧。
    1 
      1.1 下载qt-embedded-linux-opensource-src-4.5.3.tar.gz源码
      下载地址
        
      1.2 解压文件
      下载的压缩文件位于/home/xi/mywork/software/目录下, 
      #cd /home/xi/mywork/software                        //进入源码包所在的目录
      #tar -xvzf qt-embedded-linux-opensource-src-4.5.3.tar.gz        //解压源码在当前的目录。
        
      解压成功,最后会生成qt-embedded-linux-opensource-src-4.5.3目录。

    2 编绎源码
      2.1 指定编绎器类型
      #cd qt-embedded-linux-opensource-src-4.5.3
      #vim mkspecs/qws/linux-arm-g++/qmake.conf
      把所有的arm-linux-**改为arm-hisiv100-linux-**
        
      2.2 配置configure 
      指定编绎哪些模块,哪些模块不编绎。 qtconfigure.sh  用于保存configure配置。
      #vim qtconfigure.sh 
      ./configure /
        --prefix=/usr/local/Trolltech/Qt-Embedded-4.5.3-arm /
         -no-pch /
        -xplatform /
        qws/linux-arm-g++ /
        -arch arm /
        -embedded arm /
        -no-freetype /
        -qt-mouse-pc /
        -fast /
        -no-largefile /
        -no-accessibility /
        -no-stl /
        -no-qt3support /
        -no-xmlpatterns /
        -no-phonon /
        -no-svg /
        -no-webkit /
        -no-scripttools /
        -no-mmx /
        -no-3dnow /
        -no-sse /
        -no-sse2 /
        -no-openssl /
        -no-nis /
        -no-cups /
        -no-iconv /
        -no-pch /
        -no-dbus      
       #chmod +x qtconfigure.sh;./qtconfigure.sh 
      注: --prefix=/usr/local/Trolltech/Qt-Embedded-4.5.3-arm 指定qt的库文件,demo程序等的安装目录为/usr/local/Trolltech/Qt-Embedded-4.5.3-arm


      2.3 指定编绎时不编绎浏览器, 屏蔽webkit和browser,
      vim examples/examples.pro,屏蔽以下行(行首添加#)
      contains(QT_CONFIG, webkit): SUBDIRS += webkit

      vim demos/demos.pro,屏蔽以下两行(行首添加#)
      contains(QT_CONFIG, webkit):contains(QT_CONFIG, svg):SUBDIRS += demos_browser
      demos_browser.subdir = browser


          2.4 gmake & gmake install

      最终会在/usr/local/Trolltech/Qt-Embedded-4.5.3-arm下看到如下目录。 
       bin demos examples include lib mkspecs plugins

       3 开发板nfs运行qt程序。
      3.1 开发板mount 服务器下的/home/zhoumin 目录到 开发板的 /mnt 目录下。
          mount -t nfs -o nolock 192.168.*。*:/home/zhoumin /mnt
      3.2设定qt程序运行的环境变量 /mnt/usr/qt/hismall 为下载编绎qte 后生成的库所在的目录。
        export QTDIR=/mnt/usr/qt/hismall
        export PATH=$QTDIR/bin:$PATH
        export TSLIB_CONSOLEDEVICE=none
        export LD_LIBRARY_PATH=$T_ROOT/lib:$QTDIR/lib

    4 运行qt程序
      4.1 运行qt demo 程序前应先打开framebuffer设备文件,可以先运行海思提供的framebuffer演示demo程序。
       ./api_sample_hifb &  //程序后台执行
       我们的目的是打开framebuffer设备文件 ,自行写个小程序也行。 

      4.2 运行qt程序。
       #cd /mnt/open-source/qt-embedded-linux-opensource-src-4.5.3/demos/affine 
       #./affine -qws

       注:什么是QWS Client和QWS Server?
       QT Embedded也是一种C/S结构,需要有一个QT application做QWS Server,程序启动时带有-qws参数的就是QWS Server,不带这个参数就是QWS Client。
       因此任何一个基于QT的application都可以做QWS Server。当然QWS Server一定先于QWS Client启动,否则QWS Client将启动失败。在实际应用中,
       会指定某个特殊的application做QWS Server,这个application一般还会管理一些其它的系统资源。

比较常见的tslib变量声明
echo "Set ENV for tslib......" 
export TSLIB_ROOT=/usr/local/tslib 
export TSLIB_TSDEVICE=/dev/event0 /*触摸屏设备*/ 
export TSLIB_CALIBFILE=/etc/pointercal 
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf 
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts 
export TSLIB_CONSOLEDEVICE=none 
export TSLIB_FBDEVICE=/dev/fb0 

echo "set ENV for qte"
export QTDIR=/usr/local/qte
export QWS_DISPLAY=LinuxFb:mmWidth800:mmHeight480:0
export QWS_SIZE=800x480
export QT_QWS_FONTDIR=$QTDIR/lib/fonts
xport QWS_MOUSE_PROTO="Tslib:/dev/event0"
阅读(2831) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:Linux下搭建嵌入式Qt开发环境

给主人留下些什么吧!~~