OMAPL138开发板的Linux QT图像界面开发教程

更新时间:2023-09-14 15:53:01 阅读量: 初中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

DSP+ARM+FPGA

三核主板方案领导者

目录

1

Qt介绍 .................................................................................................................................. 3 1.1 Qt简介 ....................................................................................................................... 3 1.2 Qt发展历史 ............................................................................................................... 3 1.3 Qt平台支持 ............................................................................................................... 5 1.4 Qt优势 ....................................................................................................................... 6 1.5 QT相关网站 .............................................................................................................. 6 2

移植Qt4.7到OMAPL138开发板 ...................................................................................... 7 2.1 安装触摸屏支持库tslib .......................................................................................... 11

2.1.1 解压tslib库 ................................................................................................... 11 2.1.2 配置tslib ........................................................................................................ 11 2.1.3 配置编译安装选项 ........................................................................................ 14 2.1.4 编译和安装tslib ............................................................................................ 15 2.1.5 在OMAPL138开发板安装tslib .................................................................. 15 2.1.6 OMAPL138开发板触摸屏校准 ................................................................... 16 2.2 交叉编译Qt4.7 ........................................................................................................ 18

2.2.1 解压安装Qt源码 .......................................................................................... 18 2.2.2 配置Qt编译环境 .......................................................................................... 20 2.2.3 编译和安装Qt4.7 .......................................................................................... 23 2.3 在OMAPL138开发板上部署Qt4.7 ...................................................................... 24 2.4 在OMAPL138开发板上运行Qt示例程序 .......................................................... 24 3

使用Qt Creator工具开发Qt4程序―Hello World!‖ ...................................................... 25 3.1 在Ubuntu系统下安装Qt Creator .......................................................................... 25 3.2 使用Qt Creator编写Qt4程序示例程序―Hello World!‖ .................................... 32

3.2.1 新建工程 ........................................................................................................ 32 3.2.2 设计界面 ........................................................................................................ 36 3.2.3 编辑代码 ........................................................................................................ 39

1/71

DSP+ARM+FPGA

三核主板方案领导者 3.2.4 在pc机上运行Qt程序―Hello World!‖ .................................................... 41 3.3 设置QtCreator支持交叉编译 ................................................................................ 42 3.4 交叉编译Qt4 ........................................................................................................... 43 3.5 在OMAPL138开发板上Qt程序运行―Hello World!‖ ......................................... 48 4

LED Demo按键程序点亮OMAPL138开发板LED灯.................................................. 49 4.1 新建LED Demo工程 .............................................................................................. 49 4.2 建立信号槽响应函数 .............................................................................................. 54 4.3 移植led Qt程序到OMAPL138开发板 ................................................................ 61 4.4 制作简单点亮LED灯启动脚本 ............................................................................. 63 5

OMAPL138开发板按键button demo测试实验 .............................................................. 65 5.1 建立按键demo项目工程 ....................................................................................... 65 5.2 移植按键Demo程序到Omapl138开发板上 ........................................................ 69 5.3 按键实验测试 .......................................................................................................... 71

2/71

DSP+ARM+FPGA

三核主板方案领导者

1 Qt介绍

图1

Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它

既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,易于扩展,允许组件编程。2008年,奇趣科技被诺基亚公司收购,QT也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。 1.1 Qt简介

Qt是1991年奇趣科技开发的一个跨平台的C++图形用户界面应用程序框架。它提供

给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt很容易扩展,并且允许真正地组件编程。基本上,Qt同 X Window 上的 Motif,Openwin,GTK 等图形界面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西。 1.2 Qt发展历史

* 1996 OctKDE组织成立

* 1998 Apr 05Trolltech的程序员在 5 天之内将 Netscape5.0 从Motif移植到Qt上

3/71

DSP+ARM+FPGA

三核主板方案领导者

* 1998 Apr 08 KDE Free Qt基金会成立 * 1998 Jul 09 Qt 1.40 发布 * 1998 Jul 12 KDE 1.0 发布 * 1999 Mar 04QPL1.0 发布 * 1999 Mar 12 Qt 1.44 发布 * 1999 Jun 25 Qt 2.0 发布 * 1999 Sep 13 KDE 1.1.2 发布 * 2000 Mar 20嵌入式Qt发布 * 2000 Sep 06 Qt 2.2 发布 * 2000 Oct 05 Qt 2.2.1 发布

* 2000 Oct 30 Qt/Embedded 开始使用GPL宣言 * 2000 Sep 04 Qt free edition 开始使用 GPL

* 2008 Nokia从Trolltech公司收购Qt, 并增加LGPL的授权模式

* 2011 Digia从Nokia收购了Qt的商业版权,从此Nokia负责Qt on Mobile, Qt

Commercial由Digia负责

*根据最新消息,NOKIA已经停止Meltemi系统开发,QT部门被解散

* 2012 Aug 09 作为非核心资产剥离计划的一部分,诺基亚宣布将Qt软件业务出售给

芬兰IT服务公司Digia。

* 2013年7月3日,Digia公司Qt开发团队在其官方博客上宣布Qt 5.1正式版发布。

4/71

DSP+ARM+FPGA

三核主板方案领导者 1.3 Qt平台支持

Qt支持下述平台:

MS/Windows - 95、98、NT4.0、ME、2000、XP 、 Vista、Win7、win8;

Unix/X11 - Linux、SunSolaris、HP-UX、CompaqTru64 UNIX、IBMAIX、SGI IRIX、

FreeBSD、BSD/OS和其它很多X11平台;

Macintosh -Mac OS X;

Embedded - 有帧缓冲(framebuffer)支持的嵌入式Linux平台,Windows CE; Qt Creator

在发布Qt 4.6 的同时,作为Qt开发跨平台 IDE 的Qt Creator 也发布了更新版本。

Qt Creator 1.3 和Qt 4.6共同构成的Qt SDK,包含了开发跨平台应用程序所需的全部功能。

Qt Creator是一个用于Qt开发的轻量级跨平台集成开发环境。Qt Creator可带来两大

关键益处:提供首个专为支持跨平台开发而设计的集成开发环境 (IDE),并确保首次接触Qt框架的开发人员能迅速上手和操作。

Qt Creator包含了一套用于创建和测试基于Qt应用程序的高效工具,包括一个高级的

C++代码编辑器上下文感知帮助系统可视化调试器源代码管理项目和构建管理工具.

Qt Creator在LGPL2.1版本授权下有效,并且接受代码贡献。 Qt Linguist

Qt Linguist被称为Qt语言家。它的主要任务只是读取翻译文件、为翻译人员提供友

好的翻译界面,它是用于界面国际化的重要工具。

Linguist工具从4.5开始可以支持Gettext的PO文件格式。

5/71

DSP+ARM+FPGA

三核主板方案领导者 1.4 Qt优势 优良的跨平台特性

Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux,

Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64),Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。 面向对象

Qt的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说

是非常方便的。Qt提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件之间的协同工作变得十分简单。 丰富的 API

Qt包括多达 250 个以上的 C++ 类,还提供基于模板的 collections, serialization,

file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理功能。

支持 2D/3D 图形渲染,支持 OpenGL 大量的开发文档 XML 支持 1.5 QT相关网站

Qt软件下载:http://qt.digia.com/ Qt开发文档:http://doc.qt.digia.com/

Qt中文论坛:http://www.qtcn.org/bbs/home.php

6/71

DSP+ARM+FPGA

三核主板方案领导者 2 移植Qt4.7到OMAPL138开发板

备注:若需要移植Qt4.7到OMAPL138开发板,需要将光盘Linux目录下的

rootfs.tar.bz2的文件系统代替预装在SD卡的文件系统,否则会出现触摸屏无法使用的情况。主要原因是SD卡中预装的文件系统的触摸屏库的版本和将要移植的版本不一致。

在移植Qt之前,请务必确认开发板系统已经可以正常启动,并且已经安装了交叉编

译工具链和g++。编译Qt需要安装g++工具,安装命令(确保虚拟机可以上网): Host# sudo apt-get install g++

图2

7/71

DSP+ARM+FPGA

三核主板方案领导者

图3

如果无法安装,如出现以下信息:

图4

请在Ubuntu选择system->software sources进行选择源

8/71

DSP+ARM+FPGA

三核主板方案领导者

图5

点击download from选择china->mirrors.163.com

图6

9/71

DSP+ARM+FPGA

三核主板方案领导者

图7

deb http://mirrors.163.com/ubuntu/ raring main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ raring-security main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ raring-updates main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ raring-proposed main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ raring-backports main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ raring main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ raring-security main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ raring-updates main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ raring-proposed main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ raring-backports main restricted universe multiverse

选择后在/etc/apt/sources.list文件最后添加以下内容:

图8

10/71

最后update:

DSP+ARM+FPGA

三核主板方案领导者 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

export QWS_MOUSE_PROTO=tslib:/dev/input/event0:$QWS_MOUSE_PROTO export QWS_DISPLAY=LinuxFb:/dev/fb0 export

LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:/opt/tslib/lib:/home/tl/qt/Qt4.7/lib:$LD_LIBRARY_PATH

修改完成后如下图:

图14

以上语句主要是设置鼠标、触摸屏和Qts显示需要调用的文件路径,然后将

/home/tl/tslib目录拷贝到开发板的/opt目录下。 2.1.6

OMAPL138开发板触摸屏校准

执行以下命令运行触摸屏校准程序:

/opt/tslib/bin/ts_calibrate

Target#

这时LCD屏幕会出现校准界面,点击准星5次即可完成校准,后台信息如下图:

16/71

DSP+ARM+FPGA

三核主板方案领导者

图15

系统会自动将校准信息保存在/etc/pointercal文件中,可以使用―cat /etc/pointercal‖查看

其保存的校准信息,如下图:

图16

执行以下命令将ts_calibrate文件拷贝到/bin目录下,并修改权限为777,这样以后就

不用将校准文件的路径打全,在任意路径下输入―ts_calibrate‖再按回车即可。 Target# Target#

cp /opt/tslib/bin/ts_calibrate /bin chmod 777 /bin/ts_calibrate

如下图所示: 17/71

DSP+ARM+FPGA

三核主板方案领导者

图17

2.2 交叉编译Qt4.7 2.2.1

解压安装Qt源码

本文档提到的Qt4.7在本教程中默认是指Qt4.7.0版本。将光盘

tools\\qt-everywhere-opensource-src-4.7.0.tar.gz的Qt源码复制到共享目录,进入Qt工作目录(若不存在/home/tl/qt目录请先建立): Host# cd qt

将Qt4.7源码拷贝到虚拟机共享目录,然后复制到/home/tl/qt并解压安装。

Host# cp /mnt/hgfs/shareVM/qt-everywhere-opensource-src-4.7.0.tar.gz ./ Host# tar zxvf qt-everywhere-opensource-src-4.7.0.tar.gz -C ./

18/71

DSP+ARM+FPGA

三核主板方案领导者

图18

图19

19/71

DSP+ARM+FPGA

三核主板方案领导者

图20 2.2.2

配置Qt编译环境

qt-everywhere-opensource-src-4.7.0解压后,进入解压目录,再执行以下命令新建一个

编译配置目录mkspecs/qws/linux-omapl138-g++,它是存放OMAPL138 的Qt编译配置的文件夹。

Host# cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++

进入mkspecs/qws/linux-omapl138-g++目录,可以看到该目录下有qmake.conf配置文

件,需要修改此文件指定的交叉编译器。

20/71

本文来源:https://www.bwwdw.com/article/wpfh.html

Top