移植QT到CORTEX-A8上的记录

作者:邹南,华清远见嵌入式培训中心讲师。

前段时间做linux2.6.35+CORTEX-A8的教学项目,这里将过程简单罗列。

一、移植TSLIB

1、拷贝“项目代码\tslib源码”目录下的tslib-1.4.tar.gz到linux系统

2、解压源码

$ tar -zxvf tslib-1.4.tar.gz
        $ cd tslib-1.4

3、执行autogen.sh脚本生产configure文件

$ ./autogen.sh

这一步需要安装一些工具,如:在ubuntu系统下可以执行:

$ sudo apt-get install autotools-dev

4、执行confugure生成Makefile文件

$ echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
        $ ./configure --host=arm-none-linux-gnueabi --prefix=/home/linux/tslib --cache-file=arm-linux.cache

说明:

--host是指你的交叉编译器的前缀;例如:你的交叉编译器是arm-linux-gcc,则--host=arm-linux.如果是arm-none-linux-gnueabi-gcc

则--host=arm-none-linux-gnueabi

--prefix 是你执行make install 的时候编译后生成的可执行文件和库文件以及配置文所安装的目录,这个目录不能和tslib源码目录相同;
configure文件下还有很多选项,你可以执行./configure --help 来进行选择其他项,不过在这里这些选项就够了。

5、编译安装

$ make
        $ make install

6、把指定安装目录下的tslib的文件都拷贝到你所挂载的根文件系统下

$ cp -a /home/linux/tslib /source/rootfs

7、修改/rootfs/tslib下的etc目录中ts.conf文件

#vim ts.conf 将第二行的#module_raw input修改成module_raw input

注意一定要顶格写,否则程序执行时会发生读取ts.conf错误

8、导出环境变量

在/source/rootfs/etc/profile中添加如下代码:

export TSLIB_ROOT=/tslib
        export TSLIB_TSDEVICE=/dev/event0
        export LD_LIBRARY_PATH=/tslib/lib:$LD_LIBRARY_PATH
        export QWS_SIZE=320x240
        export TSLIB_FBDEVICE=/dev/fb0
        export TSLIB_PLUGINDIR=/tslib/lib/ts
        export TSLIB_CONSOLEDEVICE=none
        export TSLIB_CONFFILE=/tslib/etc/ts.conf
        export POINTERCAL_FILE=/etc/pointercal
        export QWS_MOUSE_PROTO=Tslib:/dev/event0
        export TSLIB_CALIBFILE=/etc/pointercal
        export QWS_DISPLAY="LinuxFb:mmWidth100:mmHeight130:0"
        export TSLIB_TSEVENTTYPE=H3600

说明:

        TSLIB_TSDEVICE //触摸屏设备文件名。
                TSLIB_CALIBFILE //校准的数据文件,由ts_calibrate校准程序生成。
                SLIB_CONFFILE //配置文件名。
                TSLIB_PLUGINDIR //插件目录
                TSLIB_CONSOLEDEVICE //控制台设备文件名
                TSLIB_FBDEVICE //设备名

以上环境变量在实际开发中的实际配置可以根据实际情况决定。而这些指定的设备节点一定要和你的开发板上的/dev目录下的设备节点相对应。

9、在开发板上运行/tslib/bin下的测试程序。

# /tslib/bin/ts_calibrate

二、移植QT lib <4.7.0>

../qt-everywhere-source/configure -prefix /qt-everywhere -embedded arm -release -opensource -fast -no-accessibility -no-scripttools -no-mmx -no-multimedia -no-svg -no-webkit -no-3dnow -no-sse -no-sse2 -silent -qt-libpng -qt-libjpeg -no-libtiff -make libs -nomake tools -nomake examples -nomake docs -nomake demo -no-nis -no-cups -no-iconv -no-dbus -no-openssl -xplatform qws/linux-arm-gnueabi-g++ -little-endian -qt-freetype -depths 16,18 -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-linuxinput -no-glib -qt-mouse-tslib -I/home/linux/tslib/include -L/home/linux/tslib/lib

make && make install

三、在板子下配置环境变量:

修改/source/rootfs/etc/profile添加如下内容:

        export LD_LIBRARY_PATH=/qt-everywhere/lib:$LD_LIBRARY_PATH
                export QWS_SW_CURSOR
                export set HOME=/root
                export set QPEDIR=/ qt-everywhere

下面这个脚本是用来编译ARM的QTAPP

#build for arm
         #!/bin/bash
        /home/test/qt2/bin/qmake -spec /home/test/qt2/mkspecs/qws/linux-arm-g++ -o Makefile *.pro
        make clean
        make

下面这个脚本是用来编译x86的QTAPP

#build for x86
        #!/bin/bash
        /home/lapset/qtsdk-2010.01/qt/bin/qmake -o Makefile -spec /home/lapset/qtsdk-2010.01/qt/mkspecs/qws/linux-generic-g++ *.pro
        make clean
        make

嵌入式及3G相关资源及学习请点击:嵌入式开发视频 android开发视频 android培训 3G培训 QT培训 QT开发视频 物联网培训 物联网技术视频 嵌入式学习    

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
华清远见嵌入式linux应用程序开发技术详解(内部资料) 第1章 Linux快速入门   1.1 嵌入式Linux基础   1.2 Linux安装   1.3 Linux文件及文件系统   1.4 实验内容——安装Linux操作系统   本章小结   思考与练习  第2章 Linux基础命令   2.1 Linux常用操作命令  2.2 Linux启动过程详解  2.3 Linux系统服务  2.4 实验内容   本章小结   思考与练习  第3章 Linux下的C编程基础   3.1 Linux下C语言编程概述  3.2 进入Vi  3.3 初探Emacs   3.4 Gcc编译器   3.5 Gdb调试器  3.6 Make工程管理器  3.7 使用autotools   3.8 实验内容   本章小结   思考与练习  第4章 嵌入式系统基础   4.1 嵌入式系统概述   4.2 ARM处理器硬件开发平台   4.3 嵌入式软件开发流程   4.4 实验内容——使用JTAG烧写NAND Flash   本章小结   思考与练习  第5章 嵌入式Linux开发环境的搭建   5.1 嵌入式开发环境的搭建   5.2 U-Boot移植   5.3 实验内容——移植Linux内核   本章小结   思考与练习  第6章 文件I/O编程   6.1 Linux系统调用及用户编程接口(API)  6.2 Linux中文件及文件描述符概述   6.3 不带缓存的文件I/O操作   6.4 嵌入式Linux串口应用开发  6.5 标准I/O开发   6.6 实验内容   本章小结   思考与练习  第7章 进程控制开发   7.1 Linux下进程概述  7.2 Linux进程控制编程   7.3 Linux守护进程   7.4 实验内容   本章小结   思考与练习  第8章 进程间通信   8.1 Linux下进程间通信概述   8.2 管道通信   8.3 信号通信  8.4 共享内存   8.5 消息队列  8.6 实验内容   本章小结   思考与练习 第9章 多线程编程   9.1 Linux下线程概述   9.2 Linux线程实现   9.3 实验内容——“生产者消费者”实验   本章小结   思考与练习  第10章 嵌入式Linux网络编程   10.1 TCP/IP协议概述   10.2 网络基础编程   10.3 网络高级编程   10.4 ping源码分析   10.5 实验内容——NTP协议实现   本章小结   思考与练习  第11章 嵌入式Linux设备驱动开发   11.1 设备驱动概述  11.2 字符设备驱动编写   11.3 LCD驱动编写实例  11.4 块设备驱动编写  11.5 中断编程   11.6 键盘驱动实现   11.7 实验内容——skull驱动   本章小结   思考与练习  第12章 Qt图形编程   12.1 嵌入式GUI简介  12.2 Qt/Embedded开发入门  12.3 实验内容——使用Qt编写“Hello,World”程序   本章小结 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值