移植qt库到arm开发板上 并测试 简单qt_ARM程序

来源:互联网 发布:mac app ui设计 编辑:程序博客网 时间:2024/05/16 05:15

第1步:简单裁剪文件系统

注:要想开发板能在nfs挂载成功并运行程序,必须要一个针对ARM的硬件平台的文件系统,这种文件系统一般开发板供应商都会给你的。我使用的是urbetter-rootfs-qt-2.2.0.tgz。

解压文件系统到前面 安装qt-embedded-linux-opensource-src-4.5.3

所设置的共享目录 /home/nfs 下面


toshiba@ubuntu:~/linux2.6.28/filesystem$ sudo tar -xvf urbetter-rootfs-qt-2.2.0.tgz  /home/nfs/

toshiba@ubuntu:~$ cd /home/nfs

toshiba@ubuntu:/home/nfs$ ls


bin  dev  etc  file  home  lib  linuxrc mnt opt proc  root  sbin  sys  tmp  usr  var

(下面的操作是参考网络上的 )

                                                  参考地址 http://blog.csdn.net/zjg555543/article/details/7755714


删除 /home/nfs /opt/Qtopia 下所有内容(可以手动删) 

//删除文件系统自带的系统软件等

删除 /home/nfs/usr/local 下的所有内容删除(可以手动删) 

//删除文件系统自带的用户程序等

打开/home/nfs/etc/init.d/rcS 文件             //屏蔽系统默认启动代码

删除如下内容:

/bin/qtopia &                           //启动代码

echo " " > /dev/tty1

echo "Starting Qtopia, please waiting..." > /dev/tty1   //提示信息

echo " "

echo "Starting Qtopia, please waiting..."

保存关闭



qt的安装目录下将库文件/usr/local/Trolltech/QtEmbedded-4.5.3/lib全部拷贝到/home/nfs /opt/Qtopia


tslib的安装目录将整个文件夹拷贝到/home/nfs /usr/local/


#cd /usr/local/tslib/

#ls 

应该看到以下目录

 /bin,                 //包含一些触摸屏的可执行文件,如校准文件,测试文件

 /etc, //触摸屏初始化配置文件,下面是要修改的

 /include, //包含头文件等

 /lib //包含触摸屏支持库

#cd ./bin

应该看到一些可执行文件,其中ts_calibrate是校准程序,ts_test是测试程序

#cd ..

#cd ./etc

应该看到一个触摸屏的配置文件/ts.conf

打开该文件,进行编辑

在文件末尾添加以下语句

module_raw input    //启动触摸屏的数据输入方式,这样tslib才能从底层获得数据

module pthres 

module variance delta=30

module dejitter delta=100

module linear

保存并关闭该文件。


设置nfs文件系统的环境变量

# gedit /home/nfs/etc/profile(手动以记事本打开一样的)


在该文件末尾加上如下内容:

export QTDIR=/opt/Qtopia                          //Qt根目录

export PATH=$QTDIR/bin:$PATH                 //Qt可执行文件目录

export QT_QWS_FONTDIR=/opt/Qtopia/lib/fonts //Qt字体库

export TSLIB_ROOT=/usr/local/tslib //tslib路径

export TSLIB_TSDEVICE=/dev/input/event1 //指定触摸屏对应驱动设备

export TSLIB_FBDEVICE=/dev/fb0

export TSLIB_CONSOLEDEVICE=none

export TSLIB_CALIBFILE=/etc/pointercal //指定校准文件生成目录

export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf //指定tslib配置文件

export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts //指定tslib数据读取库

export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$QTDIR/lib:$LD_LIBRARY_PATH

//指定QT库和tslib校准库

保存并关闭



测试 简单qt_ARM程序


创建hello目录 ,进入目录里编写一个简单的测试程序,文件名为hello.cpp,在该文件目录下,进行工程编译,看是否能正确通编译
  
         hello.cpp源码:


#include <QApplication>
#include <QLabel>

int main(int argc, char **argv)
{
    QApplication app(argc, argv);
    QLabel *label = new QLabel;
    label->setText("hello to World!");
    label->show();

    return app.exec();
}
  
  顺序执行以下操作:
  1. 执行:qmake-arm  -project  hello.cpp
             生成 hello.pro 工程文件
  2. 执行:qmake-arm  hello.pro
              生成 Makefile 文件    (可以打开查看一下)
  3. 执行:make
           生成 hello.o  hello 文件


将hello可执行文件  复制到/home/nfs/file 下

使用minicom2.5串口终端  NFS网络挂载  uboot zImage 等等,请参考(快速移植Linux到S3C6410详解流程 Ubuntu12.04


在开发板的根目录file里面找到 hello

  在终端里面执行  #  ./hello   -qws


开发板的左上角 就能看见一个很小的 “hello to world!” 界面,此时可以把鼠标插到开发板上,拖动 放大输出界面


0 0
原创粉丝点击