ubuntu12.10 建立qt嵌入式开发环境(二)

上一篇只说了主机这边的设置,忽略了开发板那边的设置。

来说说开发板环境的搭建。

如果是初学的话,那么一定要自己移植一下内核,自己做一下文件系统

参考:http://blog.csdn.net/zhaole20094463/article/details/6882266  2440开发板内核移植

            http://blog.csdn.net/zhaole20094463/article/details/8087327  6410内核移植

            http://blog.csdn.net/zhaole20094463/article/details/8087332    6410文件系统制作

            http://blog.csdn.net/zhaole20094463/article/details/6899439     2440根文件系统制作

如果是已经上手了,对嵌入式有一定的了解了那么就直接来开发吧。用官方的内核文件系统不失为一个快的

方法。我采用的开发板是飞凌公司的tiny6410,内核文件系统都是用的官方自带的。

但是他的文件系统中用的是qtopia我用不到,所以为了腾空间就全部给删掉了,装上了我自己移植的qt4.8.3

如果我们要做一个有意思的东西,我想漂亮的交互界面就必不可少了。那么能做出优秀的界面又在嵌入式领域

应用很广泛的是什么呢?答案是唯一的qt

首先我们就是在主机上搭建qt开发环境。

目前的qt正在淡化qt designer  和qt  creater 的区别,qt -creater  现在既能编译工程又可以设计界面,总的来看

是更加的方便了。

从ubutnu软件管理中心中搜素qt 从搜素结果中选择qt创造器(我安装的是中文版)。

这样qtcreater 就有了还差两个qmake 一个是x86的(主机)一个是arm的(开发板)。

怎么办? 来吧,移植吧

参考:http://blog.csdn.net/zhaole20094463/article/details/8683387

1.安装tslib

为什么要装tslib?主要是为了校准触摸屏以及去抖等功能,为了能更好的使用触摸屏还是装吧。
下载地址:http://sourceforge.net/projects/tslib.berlios/files/
网上说的tslib1.4其实就是tslib1.0.4,怎么就变成1.4了,汗。。。这个工具比较小,配置一下后直接编译就行了。

  tar -xvjf tslib-1.0.tar.bz2      

  
  
  cd tslib-1.0   ./autogen.sh   ./configure--prefix=/opt/tslib-1.0 --host=arm-linux ac_cv_func_malloc_0_nonnull=yes   make   make install

prefix后面是安装目录,自己随便定义,装好后修改/opt/tslib-1.0/etc/ts.conf,去掉module_raw input 前面的#号,然后把/opt/tslib-1.0里的文件都拷入开发板,比如我放在了/usr/local里。再配置开发板的环境变量,让tslib能正常工作。

1
2
3
4
5
export set TSLIB_FBDEVICE= /dev/fb0
export set TSLIB_TSDEVICE= /dev/event4
export set TSLIB_CONFFILE= /usr/local/etc/ts .conf
export set TSLIB_CALIBFILE= /etc/pointercal
export set TSLIB_PLUGINDIR= /usr/local/lib/ts

运行/usr/local/bin中的ts_calibrate进行校准,成功的话会出现界面,并让你点击十字符号,完成后会生成/etc/pointercal文件,这是触摸屏的校准配置文件。
遇到的问题:
1.在autogen时出错,提示

./autogen.sh: 4: autoreconf: not found

这是因为系统没有安装automake,装上就行了。

apt-get install autoconf automake libtool

2.安装Qt4.8.3

为了开发方便,我们一般在PC端写好程序,仿真,调试完成后再用arm-linux-gcc编译成arm版的程序,最后拷到开发板上运行。所以我们必须编译两套Qt库文件:PC端的和arm端的。

2.1.安装Linux/X11版Qt

下载页面:http://qt-project.org/downloads
选择Qt libraries 4.8.3 for Linux/X11得到qt-everywhere-opensource-src-4.8.3.tar.gz,这个和Qt libraries 4.8.3 for embedded Linux是同一个文件,配置不同就可以编译出不同的版本,所以我们下一个就行了,解压开,配置,make。

1
2
3
4
5
tar -xvzf qt-everywhere-opensource-src-4.8.3. tar .gz
cd qt-everywhere-opensource-src-4.8.3
. /configure -prefix /opt/qt-4 .8.3-x11
make
make install
因为库比较大,要编译好一段时间,完成后install,-prefix后面的是安装目录

2.2.安装embedded版Qt

源代码是一样的,重新配置就行了。

1
2
3
. /configure -prefix /opt/qt-4 .8.3-arm -embedded arm -release -shared-fast -no-largefile -qt-sql-sqlite -qt3support -no-xmlpatterns -no-glib -no-phonon -no-mmx -no-3dnow -no-sse -no-sse2 -no-svg -webkit -qt-zlib -qt-libtiff -qt-libpng -qt-libjpeg - make libs -nomake examples -nomake docs -nomake demo -no-nis -no-cups -iconv -no-dbus -openssl -xplatform qws /linux-arm-g ++ -little-endian -qt-freetype -depths 16,24,32 -qt-gfx-linuxfb -qt-gfx-transformed -qt-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-linuxinput -no-kbd-qvfb -armfpa -no-mouse-qvfb -qt-mouse-linuxtp -qt-mouse-tslib -DQT_QLOCALE_USES_FCVT -I /opt/tslib-1 .0 /include -L /opt/tslib-1 .0 /lib
make
make instal

   dfsdf

不知到你注意到了我加红和加粗的两个选项,这两个选项前面加上-no这个参数

因为我在编译过程中出现了错误:Openssl  not supoort  。。。。。。肯定跟第二个红色参数有关(我安装了相应插件也不好使)

于是我参考网上的另外一篇帖子更改了这两个编译参数,我想第一个应该没有关系不过没做个测试,如果你在做这个的话fast不改试试是不是

我的猜想是正确的,然后留言告诉我。

注意:

这里有一个问题,关于环境变量的

你在编译x11 pc机版本的时候指定了一个安装目录,

在编译arm版本的时候又指定了一个安装目录,你执行第二个编译安装的时候,会发现第二个参数没有起作用,arm版本的东西安装

到了前一个目录里。

我做了很多次实验每次第二个编译目录都把第一个目录替换掉了。这么说来原因大概是环境变量没有被第二个编译文件改变掉。

解决方法:

编译第二个目录时在打开一个终端,将第一终端关闭这样他们的环境变量就不会相互影响了

如果还不行,就把上一个编译目录删掉,在另外一个终端中解压一个新的目录。

编译出来的arm版本中的库传输到开发板上并将指明环境变量即可

配置选项要根据自己的硬件选取,这样编译出来的库文件才会比较小。装好后把目录下的imports、lib、mkspecs 、plugin文件夹拷到开发板上的/opt/Qt目录下,目录随便,和环境变量里的一致就行。然后配置开发板的环境变量,让他能找到Qt。

1
2
3
4
5
6
7
8
9
10
11
export set QTDIR= /opt/Qt
export set QPEDIR= /opt/Qt
export set LD_LIBRARY_PATH=$QTDIR /lib : /usr/local/lib :$LD_LIBRARY_PATH
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/
export set QWS_KEYBOARD= "TTY:/dev/tty1"
export set QWS_MOUSE_PROTO= "TSLIB:/dev/event4"
export PATH=$QTDIR /bin :$PATH

这样大部分工作就完成了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值