1、 安装虚拟机,再在虚拟机中安装LINUX 操作系统(centos6.4);
【QT ctreator 整体设计流程】参照04- Tiny6410 Linux开发指南中1.3节的-安装并设置Fedora9的安装过程。进行各种环境配置
2安装好LINUX操作系统后。配置系统环境。
安装GCC.
系统自动安装GCC命令:yum -y install gcc gcc-c++ kernel-devel
gcc编译格式:gcc -o led1 led1.c
安装交叉编译环境arm-linux-gcc.
完全按照04- Tiny6410 Linux开发指南中1.3节的1.35小节。
建立交叉编译环境。
3.QT SDK的安装与移植过程
安装Qt4.7
本章节将带领读者一起将目前最新版本的Qt4.7.0移植到mini6410开发板上运行,其间会讲解如何交叉编译Qt4.7.0和其自带的示例程序,并将它们在mini6410上运行。
本章节中会用到如下软件包,请先在光盘A上找到以下软件包和工具:
文章图片
3.3.1 获得 Qt4.7 的源代码
在mini6410光盘A的以下路径“开发文档和教程\01 Qt4和Qtopia编程开发指南\源代码\第三章\3-3”可以拿到Qt4.7.0源代码的原始包qt-everywhere-opensource-src-4.7.0.tar.gz,将其拷贝到 /opt 下,然后在linux终端上输入如下命令(不用键入#),在/opt/mini6410下解压Qt4.7.0的源码包: # cd /opt/mini6410 # tar xvzf /opt/qt-everywhere-opensource-src-4.7.0.tar.gz |
3.3.1 获得 Qt4.7 的源代码
在mini6410光盘A的以下路径“开发文档和教程\01 Qt4和Qtopia编程开发指南\源代码\第三章\3-3”可以拿到Qt4.7.0源代码的原始包qt-everywhere-opensource-src-4.7.0.tar.gz,将其拷贝到 /opt 下,然后在linux终端上输入如下命令(不用键入#),在/opt/mini6410下解压Qt4.7.0的源码包:
# cd /opt/mini6410
# tar xvzf/opt/qt-everywhere-opensource-src-4.7.0.tar.gz
3.3.2 交叉编译Qt4.7
执行以下命令执行Qt4.7.0编译前的配置:
#/opt/mini6410/qt-everywhere-opensource-src-4.7.0
# echo yes |./configure -prefix /opt/Qt4.7 -opensource -embedded arm -xplatformqws/linux-arm-g++ -no-webkit -qt-libtiff -qt-libmng -qt-mouse-tslib-qt-mouse-pc -no-mouse-linuxtp -no-neon
上面的主要参数含义说明如下:
-embedded arm: 表示将编译针对arm平台的embedded版本;
-xplatformqws/linux-arm-g++: 表示使用arm-linux交叉编译器进行编译;
-qt-mouse-tslib: 表示将使用tslib来驱动触摸屏;
-prefix /opt/Qt4.7: 表示Qt4.7最终的安装路径是 /opt/Qt4.7 ,注意,部置到mini6410开发板时,也需要把Qt4.7放在这个路径上;
执行以下命令进行编译并安装Qt4.7:
# make &&make install
上面命令中出现的&&符号表示只有左边的make 命令执行成功时(返回0),才会执行右边的make install命令。
编译完成后,Qt4.7被安装在/opt/Qt4.7 目录下。
3.3.3 移植Qt4.7到mini6410上
在PC上执行如下命令将Qt4.7打包:
# cd /opt
#打包完成后,将qt4.7.tgz拷贝到SD卡, 然后将SD卡插入mini6410开发板,执行以下命令将qt4.7.tgz解压到开发板上的/opt目录下:tar cvzf qt4.7.tgz Qt4.7
@# rm/usr/local/Trolltech/QtEmbedded-4.7.0-arm/ -rf
@# cd /opt
@# tar xvzf /sdcard/qt4.7.tgz
注意,一定要保持Qt4.7的目录为/opt/Qt4.7, 因为我们在配置Qt4.7时,指定了-prefix参数为/opt/Qt4.7 。
至此,Qt4.7在mini6410上部署完成了,接下来我们将运行一个示例程序来测试Qt4.7是否能正常工作。
3.3.4 在mini6410上运行Qt4.7的示例程序
在运行任何Qt4.7程序之前,需要先退出Qtopia2.2.0 或者Qt-Extended4.4.3 等一切Qt程序,退出Qtopia2.2.0的方法是:在Qtopia2.2.0中点“设置”中的“关机”可出现如下界面,点“Terminate Server”即可关闭Qtopia-2.2.0系统。
文章图片
也可以使用其他的方法,比如在启动脚本/etc/init.d/rcS中注释掉qtopia启动项,再重新系统系统;或者使用killall命令杀死相关的进程(比较多);甚至是直接删除/opt目录中的所有内容重启。
如何运行Qt4.7的示例程序呢?
在我们部署到 mini6410开发板上的Qt4.7的/opt/Qt4.7/examples/目录就带有不少的示例程序,并且已经编译好生成有可执行文件,我们试着直接运行一个程序试试:
@# /opt/Qt4.7/demos/embedded/fluidlauncher/fluidlauncher
程序没法运行,提示有错误,原因是Qt4.7的环境没有设置好,为了更方便地运行Qt4程序,我们先编写一个脚本setqt4env,这个脚本用于设置Qt4.7所需要的环境变量。
输入以下命令创建并编写脚本 /bin/setqt4env :
@# vi/bin/setqt4env
在vi编辑器中输入如下内容:
#!/bin/sh
if [ -e/etc/friendlyarm-ts-input.conf ] ; then
./etc/friendlyarm-ts-input.conf
fi
true${TSLIB_TSDEVICE:=/dev/touchscreen}
TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_TSDEVICE
exportTSLIB_CONFFILE
exportTSLIB_PLUGINDIR=/usr/lib/ts
exportTSLIB_CALIBFILE=/etc/pointercal
exportQWS_DISPLAY=:1
exportLD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
exportPATH=/bin:/sbin:/usr/bin/:/usr/sbin:/usr/local/bin
if [ -c /dev/touchscreen]; then
exportQWS_MOUSE_PROTO="Tslib MouseMan:/dev/input/mice"
if [ ! -s/etc/pointercal ] ; then
rm /etc/pointercal
/usr/bin/ts_calibrate
fi
else
exportQWS_MOUSE_PROTO="MouseMan:/dev/input/mice"
fi
export QWS_KEYBOARD=TTY:/dev/tty1
export HOME=/root
将脚本设置可执行权限:
@# chmod +x/bin/setqt4env
现在再试一下运行示例程序:
@# . setqt4env
@# cd/opt/Qt4.7/demos/embedded/fluidlauncher/
@# ./fluidlauncher -qws
上面的命令中,先调用setqt4env设置一下环境变量,再调用示例程序,注意,setqt4env命令前面的“.”与setqt4env之间要有一个空格隔开,表示脚本中导出的环境变量将应用到当前shell会话中。
示例程序的运行结果如下:
文章图片
1.5.3USB Host接口
本开发板带有3个A型USB Host 1.1接口,它和普通PC的USB接口是一样的,可以接USB摄像头、USB键盘、USB鼠标、优盘等常见的USB外设;还可以接USB Hub进行扩展,各个OS均已经自带USB Hub驱动,不必另外编写或配置,USB Host的接口定义如下:
文章图片
3 QT CREATE的安装
在QT官网下载qt create软件包:下载地址:
http://mirrors.hust.edu.cn/qtproject/development_releases/qtcreator/2.6/2.6.0-rc/
安装好后:应用程序中就含有QT软件了。
文章图片
打开QT CREATE
文章图片
在工具的选项中进行环境配置:
文章图片
QT版本设置和编译器设置
文章图片
QT CREATE 环境配置好后就可以进行QT开发了。
QT界面设计(ui)
文章图片
程序设计
文章图片
文章图片
文章图片
4超级终端
下载HAP_SecureCRT包进行安装
安装好后打开软件
推荐阅读
- Linux|109 个实用 shell 脚本
- linux笔记|linux 常用命令汇总(面向面试)
- Linux|Linux--网络基础
- linux|apt update和apt upgrade命令 - 有什么区别()
- linux|2022年云原生趋势
- Go|Docker后端部署详解(Go+Nginx)
- 开源生态|GPL、MIT、Apache...开发者如何选择开源协议(一文讲清根本区别)
- GitHub|7 款可替代 top 命令的工具