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

用编程改变大众。。。

文章分类

全部博文(71)

文章存档

2016年(7)

2015年(54)

2014年(10)

我的朋友

分类: C/C++

2014-09-30 15:07:04

主机环境:fedora 14
编译器:gcc  4.5.1
交叉编译器:arm-linux-gcc  3.4.3
(注意:makefile中调用的交叉编译器默认为arm-linux-gcc,arm-linux-g++,所以请在编译前重命名海思的两个交叉编译工具,否则会提示找不到交叉编译器)
 
注意:首先确保交叉编译器已加入路径PATH,如果没有加入,执行
       export PATH=$PATH:/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin
 
1.首先安装触摸屏库tslib1.4
先安装automake,autoconf,libtool
    sudo yum install automake autoconf libtool 
解压,cd 到其目录下
配置 
./autogen.sh
./configure --prefix=/home/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes ac_cv_func_malloc_0_nonnull=yes --enable-static
然后编译安装: 
make 
make insall 
触摸屏的库就生成好了,在/home/tslib目录下,只要将它放到开发板上,设置下环境变量就可以用了. 


2.安装Qt-x11,Qt-Embedded-x86和Qt-Embedded-arm
Qt-x11用于PC机上的开发,主要产生design和qvfb(开发板虚拟工具)
Qt-Embedded-x86是QT基于X86的嵌入式开发工具
Qt-Embedded-arm是QT基于arm的嵌入式开发工具 
(1)选择要安装的版本,Qt-x11版本是4.5.3,配合的qt/e版本是4.5.3
(2)安装好各种库:libx11-devel,libxtst-devel,libxext-devel
(3)进入root用户模式. 
(4).下载源代码包: 
    qt-x11-opensource-src-4.5.3.tar.bz2 
    qt-embedded-linux-opensource-src-4.5.3.tar.bz2 
    下载地址:ftp://ftp.qt.nokia.com/qt/source/ 
(5).编译及安装qt-x11-opensource-src-4.5.3 
    tar zxvf qt-x11-opensource-src-4.5.3.tar.gz 
    cd qt-x11-opensource-src-4.5.3
./configure -static -release -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libjpeg -nomake demos -nomake examples -qt-sql-sqlite -prefix /usr/local/Trolltech/Qt-4.5.3
    gmake 
    gmake install 
    历经漫长的编译过程,约一个半小时,默认安装在/usr/local/Trolltech/Qt-4.5.3下.
(6)生成qvfb虚拟工具
    cd ~/qt-x11-opensource-src-4.5.3/tools/qvfb
    make
    会在qt-x11-opensource-src-4.5.3/bin下生成qvfb
(7)编译及安装qt-embedded-linux-opensource-src-4.5.3 的x86和arm版本 
    解压后复制一份,分别改名为Qt-Embedded-4.5.3-x86 和Qt-Embedded-4.5.3-arm用来编译产生x86版本和arm版本(编译大概1个半小时)
    =========================================================================================================================== 
    x86版本:(安装目录/usr/local/Trolltech/Qt-Embedded-4.5.3-x86)
        ./configure -prefix /usr/local/Trolltech/Qt-Embedded-4.5.3-x86 -embedded x86 -qvfb -fast -release -static -qt3support  -no-pch
        gmake
        gmake install
    ===========================================================================================================================
    arm版本:    (安装目录/usr/local/Trolltech/Qt-Embedded-4.5.3-arm) 
        ./configure -prefix /usr/local/Trolltech/Qt-Embedded-4.5.3-arm -release -static -fast  -qt3support -qt-sql-sqlite -no-libtiff -no-libmng -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -no-openssl   -optimized-qmake -no-phonon -no-nis -no-opengl -no-cups -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-xkb -no-sm -no-xinerama -no-xshape -no-separate-debug-info -xplatform qws/linux-arm-g++ -embedded arm  -no-qvfb -qt-gfx-linuxfb -no-gfx-qvfb -no-kbd-qvfb -no-mouse-qvfb -qt-kbd-usb -confirm-license -qt-mouse-tslib -I/home/tslib/include -L/home/tslib/lib
        gmake
        gmake install
    =========================================================================================================================== 
        注:
            所有选项的意思请查看 ./configure -help 


            -prefix 后面是安装目录
            -I/home/tslib/include -L/home/tslib/lib 是触摸屏库,如果不想要触摸屏就不要了,可以根据上面的选项自行修改
 
(8).设置环境变量
通过设置PATH和LD_LIBRARY_PATH实现 ,在/etc/profile文件的最后加上如下设置内容:


 PATH=$PATH:/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/bin:/usr/local/Trolltech/Qt-Embedded-4.5.3-x86/bin:/usr/local/Trolltech/Qt-Embedded-4.5.3-arm/bin


LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Trolltech/Qt-Embedded-4.5.3-x86/lib:/usr/local/Trolltech/Qt-Embedded-4.5.3-arm1/lib


export PATH


export LD_LIBRARY_PATH
 
接着执行 source  /etc/profile使环境变量生效
三个版本所用的工具有些名字是一样的,但工作显然不一样,可以通过建立别名来区分
在~/.bashrc文件中添加如下三行别名


alias designer='/usr/local/Trolltech/Qt-4.5.3/bin/designer'


alias qmake='/usr/local/Trolltech/Qt-Embedded-4.5.3-x86/bin/qmake'


alias arm-linux-qmake='/usr/local/Trolltech/Qt-Embedded-4.5.3-arm//bin/qmake'




重启之后就可以使用designer和qmake以及arm-linux-qmake了.
 
 将qvfb复制到/usr/local/Trolltech/Qt-Embedded-4.5.3-x86/bin目录下,方便虚拟,比如虚拟xx程序:
    qvfb -width 240 -height 320&
    ./xx -qws




3.下面设置开发板上的QT/E环境. 
(1)给板子加入QT/E库文件,即Qt-Embedded-4.5.1-arm/lib目录下的库文件 
(2)给板子增加触摸屏库,将tslib整个拷到开板上. 
(3)配置环境变量 
配置脚本为: 
export TSLDIR=tslib 
export TSLIB_CONSOLEDEVICE=none 
export TSLIB_FBDEVICE=/dev/fb0 
export TSLIB_TSDEVICE=/dev/input/event0 #触摸屏设备文件 
export TSLIB_PLUGINDIR=$TSLDIR/lib/ts 
export TSLIB_CONFFILE=$TSLDIR/etc/ts.conf #触摸屏库配置文件 
export TSLIB_CALIBFILE=/etc/pointercal #触摸屏定位文件 
export QWS_MOUSE_PROTO=tslib:/dev/input/event0
export PATH=$QTDIR/bin:$PATH 
export LD_LIBRARY_PATH=$TSLDIR/lib:$QTDIR/lib #将库加入动态共享库路径 
################################不用触摸屏#######################################
export set QTDIR=/opt/Qt
export set QPEDIR=/opt/Qt
export set TSLIB_CONSLOLEDEVICE=none
export set LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/libLD_LIBRARY_PATH:/usr/lib
export set QT_QWS_FONTDIR=$QTDIR/lib/fonts/
export set QWS_SIZE=800x480
#export set QWS_DISPLAY="LinuxFb:mmWidth80:mmHeight120:0"
export set QWS_DISPLAY="LinuxFB:/dev/fb0"
#export set QT_PLUGIN_PATH=$QTDIR/plugins/
########################################
注:该配置脚本应在系统启动时运行. 
(4)修改触摸屏库的配置文件etc/ts.conf,去掉module_raw input前的#号,开启该项功能
   初始化触摸屏,主要是生成定位文件,运行tslib/bin/ts_calibrate 
   然后在屏上点五下,实现定位. 
这样就设置好了. 



阅读(1919) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~