课程列表

基本问题

开源资源

好好学习天天向上

联大大纲—通信电子 ;教师介绍; 单片机课程学习经验- 学习路线图; 1.概述 -应用 -定义 -特点 -构成; 2.嵌入式处理器 —DIY CPU处理器ARM处理器Cortex-A8S5PV210讨论; 3.汇编语言 -作业 4.Bootloader -作业 5.Linux内核移植 6.嵌入式Linux程序设计 7.图形用户接口QT 8.其他框架介绍; 9.嵌入式物联网应用系统设计

Qt/Embedded 开发环境包含的示例

/ 编辑工程文件

Qt源码库的路径下自带了一系列的examples例程,方便用户进行学习和参考,可以取其中的一些例程,编译后运行测试之前所搭建的Qt/E编译环境。

1.源码路径

Qt自带analogclock例程为例。例程所在路径如下:

Qt源码目录:/examples/widgets/analogclock

qmake编译工具所在路径:/usr/local/Trolltech/QtEmbedded-4.7.0-arm/bin/qmake

2.使用qmake预编译

在宿主机analogclock例程源码所在路径下使用qmake命令生成Makefile文件,使用qmake命令预编译过程如下。

[root@localhost qt-everywhere-opensource-src-4.7.0]# cd                  

examples/widgets/analogclock/                                             

[root@localhost analogclock]# ls                                          

analogclock.cpp analogclock.h analogclock.pro main.cpp                   

[root@localhost analogclock]#                                            

/usr/local/Trolltech/QtEmbedded-4.7.0-arm/bin/qmake                      

[root@localhost analogclock]# ls                                         

analogclock.cpp analogclock.h analogclock.pro main.cpp Makefile          

2.使用make编译

在宿主机计算器例程源码所在路径下使用make命令编译该工程,编译过程如下。

[root@localhost analogclock]# make                                       

[root@localhost analogclock]# ls                                         

analogclock analogclock.cpp analogclock.h analogclock.pro main.cpp Makefile

[root@localhost analogclock]#                                                   

编译成功后,会在当前目录下生成Qt/E可执行文件analogclock

注意:经过Qt/E环境编译后得到的可执行程序,只能在基于Cortex-A8处理器的目标板上执行,不能在宿主机上运行。

/二、挂载和运行Qt/E ARM应用程序

1.创建宿主机端Qt/ENFS共享目录

在宿主机共享目录/CBT-SuperIOT/下,建立Trolltech目录。后续Qt/Embedded应用程序都将在此目录下共享到ARM设备端,并在ARM设备端执行Qt/E程序。

需要在该目录下搭建好Qt/E环境,也就是拷贝前面编译好的Qt/E动态库以及应用程序到此目录下。

[root@localhost qt-everywhere-opensource-src-4.7.0]# cd /CBT-SuperIOT/    

[root@localhost CBT-SuperIOT]# mkdir Trolltech                             

[root@localhost CBT-SuperIOT]# cd Trolltech/                              

[root@localhost Trolltech]#                                                      

2.复制Qt/E库及插件等资源到NFS 共享目录

[root@localhost Trolltech]# cp /usr/local/Trolltech/QtEmbedded-4.7.0-arm/ ./ -a

[root@localhost QtEmbedded-4.7.0-arm]# ls                                

bin imports include lib mkspecs plugins translations                         

[root@localhost QtEmbedded-4.7.0-arm]#                                   

3.拷贝应用程序到NFS 共享目录

[root@localhost QtEmbedded-4.7.0-arm]# cp /home/cbt/Qt4/Qt4arm-4.7.0/qt-everywhere-opensource-src-4.7.0/examples/widgets/analogclock/analogclock ./

[root@localhost QtEmbedded-4.7.0-arm]# ls                                

bin imports include lib mkspecs plugins translations analogclock         

4ARM端挂载NFS共享目录

启动Cortex-A8嵌入式智能终端(ARM端),连好网线、串口线。在ARM端控制台的终端窗口中使用“mount”命令挂载宿主机实验目录。

[root@Cyb-Bot /]# mount -t nfs -o nolock 192.168.1.7:/ CBT-SuperIOT /mnt/nfs

5.设置环境变量(ARM )

执行上述挂载命令后,宿主机上的NFS共享目录将会挂载到ARM端。挂载点为:

/mnt/nfs/Trolltech/QtEmbedded-4.7.0-arm/

ARM端控制台按以下步骤执行相应命令,通过挂在点进入宿主机NFS共享目录Trolltech下的QtEmbedded-4.7.0-arm目录。

[root@Cyb-Bot /]#cd /mnt/nfs/Trolltech/QtEmbedded-4.7.0-arm/             

[root@Cyb-Bot QtEmbedded-4.7.0-arm]# ls                                  

analogclock imports lib plugins                                          

bin include mkspecs translations                                         

[root@Cyb-Bot QtEmbedded-4.7.0-arm]#               

设置ARM端的环境变量,设置过程如下:

[root@Cyb-Bot QtEmbedded-4.7.0-arm]# export TSLIB_TSDEVICE=/dev/touchscreen-1wire 

[root@Cyb-Bot QtEmbedded-4.7.0-arm]# export TSLIB_CONFFILE=/etc/ts.conf  

[root@Cyb-Bot QtEmbedded-4.7.0-arm]# export POINTERCAL_FILE=/etc/pointercal  

[root@Cyb-Bot QtEmbedded-4.7.0-arm]# export WS_MOUSE_PROTO=tslib:/dev/touchscreen-1wire    

6.执行Qt/E 程序

ARM系统中的NFS Qt/E目录下执行以下命令,QT应用程序需要附带“-qws”命令参数。

[root@Cyb-Bot QtEmbedded-4.7.0-arm]# ./analogclock qws                  

如果第一次使用触摸屏,需要进行校准,请在终端输入ts_calibrate 命令完成屏幕校准即可。在ARM端运行Qt/E效果如图7.10所示。

7.10 Qt自带analogclock运行界面

注意:由于平台出厂时候系统文件系统中已经含有相同环境及版本的Qt/E 动态库及相关资源,因此本实验运行的例程,实际使用的是ARM 系统中的动态库文件来运行的。当然,用户如果熟悉Qt/E 的运行环境,同样也可以将前面章节编译生成的Qt/E库和资源下载到ARM 系统的相关目录中实验。