vxWorks6.8 操作系统下 QT 安装设置、运行方法

vxWorks6.8 操作系统下 QT 安装设置、运行方法

1. 前言

本文详细描述了在 vxworks6.8 操作系统下,如何安装设置 QT 的方法,给出
了详细的过程,图文并茂,并给出了在 vxsim 虚拟机和实际目标板上编译运行 QT
demo 程序的详细过程。

2. 开发环境及工具

安装前先准备以下工具
在这里插入图片描述

以上工具中,StrawBerry 可从官网上下载(http://strawberryperl.com),MinGW
也可从官网上下载(http://sourceforge.net/projects/mingw/files),QT for vxworks 版
本和 vxworks6.8 要从相关渠道购买,你懂的。

3. 开发环境安装配置

3.1.安装 Workbench3.2

详见 vxworks6.8 安装手册,按说明书一步一步安装即可,不是本文重点。

3.2.安装 MinGW

解压 MinGW,双击 MinGW-5.1.6.exe 按默认设置安装即可,建议安装在 c 盘。

3.3.安装 Strawberry Perl

双击 strawberry-perl-5.18.1.1-32bit.exe,按默认设置安装即可,建议安
装在 c 盘。
安装后要设置环境变量。在 Path 值下添加
C:\MinGW\bin;C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\s
trawberry\perl\bin。
在这里插入图片描述

3.4.安装 QT4.8.3

将 Qt-vxworks-commercial-src-4.8.3.zip 解 压 , 复 制 到 windriver
workbench 目录中的 workspace 中,复制后,进行名称更改,在 vxsim 虚拟机上
测试的改为 qtsimdkm,在目标机上的改为 qtp4dkm,这样防止开发环境不同,导
致在交叉编译中引入不同的配置,造成后续 QT 程序编译错误。
在这里插入图片描述

设置环境变量
若在 vxsim 虚拟机下开发 QT 程序,则将环境变量的 PATH 指向 qtsimdkm 目 录下的路径,在 path 值后添加 D:\WindRiver\workspace\qtsimdkm\bin
在这里插入图片描述

若在目标机上开发 QT 程序,则将环境变量的 PATH 指向 qtp4dkm 目录下的路 径,在 path 值后添加 D:\WindRiver\workspace\qtp4dkm\bin

注: 1、上述两个路径不要同时写上,以免出错。

4. vxsim 虚拟机上 QT 应用程序开发

4.1.编译 windML 库

参考 windML 官方手册 Wind River Media Library SDK Programmer’s Guide,
5.3,按标准步骤一步步配置、编译即可。注意此时配置选择的 CPU 要为 SIMPC。

4.2.新建 vxWorks 镜像

以 vxsim 虚拟机为例, 在 workbench3.2 中,File->New->Vxworks Image
Project,建立一个 zvipsim 的虚拟机镜像工程。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

工程建立完成后,对镜像进行配置,双击 Kernel Configuration,打开镜像
的配置包界面
在这里插入图片描述

添加以下包
INCLUDE_WINDML
INCLUDE_POSIX_ADVISORY_FILE_LOCKING
INCLUDE_POSIX_FTRUNC
INCLUDE_POSIX_MQ
INCLUDE_POSIX_MEM
INCLUDE_POSIX_SCHED
INCLUDE_POSIX_SEM
INCLUDE_POSIX_PTHREADS
INCLUDE_POSIX_PTHREAD_SCHEDULER
NUM_FILES=200
RTP_FD_NUM_MAX=200
INCLUDE_MMAP (注:vxworks6.8 中无此包)
INCLUDE_POSIX_MAPPED_FILES
INCLUDE_HRFS
INCLUDE_HRFS_FORMAT
HRFS_DEFAULT_MAX_BUFFER=1024
HRFS_DEFAULT_MAX_FILES=200
boy_lazy@163.com
boy_lazy@163.com
INCLUDE_XBD_RAMDRV
INCLUDE_XBD_PART_LIB
之后工程中的 usrAppInit.c 文件中添加以下代码,在系统启动时创建 RAM
disk

/*for QT */
#include "stdio.h"
#include "hrFsLib.h"
#include "xbdPartition.h"
#include "xbdRamDisk.h"
#define DEVNAME "/tmpram" /*name of the RAM disk*/
#define BLOCKSIZE 512
#define DISKSIZE (BLOCKSIZE * 10000)
/*end of QT */
void usrAppInit (void) {
#ifdef USER_APPL_INIT
USER_APPL_INIT; /* for backwards compatibility */
#endif
 /* add application specific code here */
/*for QT -----------------*/
STATUS error;
device_t xbd;
xbd = xbdRamDiskDevCreate(BLOCKSIZE,DISKSIZE,0,DEVNAME);
if(xbd == NULLDEV) {
printf("**Failed to create RAM disk\n");
return ; }
printf(" RAM disk created OK\n");
error= hrfsFormat(DEVNAME,DISKSIZE,BLOCKSIZE,1000);
if(error != OK) {
printf("**failed to format RAM disk, errno=0x%0x\n",error);
return ; }
printf("RAM create and format OK\n");
/*end of QT ---------------------*/
}

完成以上工作,编译镜像,编译成功后用 vxworks6.8 development shell,进入 zvipsim/default
目录,运行 vxsim –size 800M,启动虚拟机,如下图所示。
在这里插入图片描述
在这里插入图片描述

4.3.配置 QT

在 vxworks6.8 development shell,进入到 qtsimdkm 目录,执行 configure,具 体 configure 配置内容如下
configure -confirm-license -embedded -platform win32-g++ -xplatform
qws/vxworks-simdkm-g++ -exceptions -qt-freetype -qt-zlib -qt-libpng -qt-libtiff -qtlibjpeg -qt-libmng -no-qt3support -no-openssl -nomake examples -nomake docs -
nomake translations -no-script -no-webkit -prefix /tmp/qtsimdkm -static -release -D
QT_QWS_TEMP_DIR=\\\"/tmpram\\\" -make make
上述配置内容中的加粗黑色字体要根据不同的开发环境进行修改。以上是
vxsim 虚拟机的配置,若是 x86 平台的目标机,则要改为-xplatform qws/vxworksPentium4dkm-g++,-prefix /ata0a/tmp/qtp4dkm
configure 配置命令及配置结果界面如下:
在这里插入图片描述
在这里插入图片描述

Configure 配置命令执行完后,会在 qtsimskd 目录下生成 makefile 文件。之后
进行 make 操作。 在启动->搜索里输入 cmd, 进入 workspace\qtsimskd 目录,输入 make 命令进
行编译,约要十到二十分钟时间。
Make 编译成功后,需将 workspace\qtsimdkm\lib 下面所有内容复制到 c:\tmp\qtsimdkm\lib。如果是目标环境中,则将编译的 lib 复制到目标机硬盘
/ata0a/tmp/qtp4dkm/lib 下。

4.4.编译、运行 QT 程序

在vxworks Development shell中,进入qtsimdkm\demos\affine中,运行make,
编译 affine 程序,生成可执行的 affine
在这里插入图片描述

编译成功后提示如下
在这里插入图片描述

运行 qt 程序。
将刚编译出来的 qtsimdkm\demos\affine\affine 文件复制到虚拟机镜像所在
目录 workspace\zvipsim\default, 在 vxworks Development shell 中 , 进 入 vxsim 文 件 所 在 目 标
workspace\zvipsim\default,执行 vxsim –size 800M,启动虚拟机
在这里插入图片描述
在这里插入图片描述

在 vxsim0 中,输入 ld<affine,回车,导入 affine;
输入taskSpawn(“main”,200,0x01000000,0x100000,main,0,0,0,0,0),启动程序
即可看到 QT 的 demo 程序!
在这里插入图片描述
在这里插入图片描述

Vxworks vxsim 虚拟机上运行 QT 成功!

5. 在目标机上 QT 应用程序开发

5.1.编译 windML 库

windML 官方手册 Wind River Media Library SDK Programmer’s Guide, 5.3, 按标准步骤一步步配置、编译即可。注意需根据目标板配置选择 CPU,本文所测
试的目标板 CPU 为 Intel ATOM,CPU 选择 Pentium4。

5.2.新建 vxWorks 镜像

按 4.2 节步骤建立 Vxworks Image Project,注意在第二步选择 CPU 和 BSP
时,选择目标板实际的 BSP。建好后,并同 4.2 节一样,在 usrAppInit.c 文件
中添加创建 RAM disk 的代码。建立好镜像工程后,同样需添加以下包。 boy_lazy@163.com
boy_lazy@163.com
需要添加以下包:
INCLUDE_WINDML
INCLUDE_POSIX_ADVISORY_FILE_LOCKING
INCLUDE_POSIX_FTRUNC
INCLUDE_POSIX_MQ
INCLUDE_POSIX_MEM
INCLUDE_POSIX_SCHED
INCLUDE_POSIX_SEM
INCLUDE_POSIX_PTHREADS
INCLUDE_POSIX_PTHREAD_SCHEDULER
NUM_FILES=200
RTP_FD_NUM_MAX=200
INCLUDE_MMAP (注:vxworks6.8 中无此包)
INCLUDE_POSIX_MAPPED_FILES
INCLUDE_HRFS
INCLUDE_HRFS_FORMAT
HRFS_DEFAULT_MAX_BUFFER=1024
HRFS_DEFAULT_MAX_FILES=200
INCLUDE_XBD_RAMDRV
INCLUDE_XBD_PART_LIB
上述工作完成之后,编译,通过网络下载到目标板测试,运行通过。

5.3.配置 QT

在 vxworks6.8 development shell,进入到 qtp4dkm 目录,执行 configure,具体
configure 配置内容如下
blog.csdnimg.cn/20210302163429733.png
configure -confirm-license -embedded -platform win32-g++ -xplatform
qws/vxworks-Pentium4dkm-g++ -exceptions -qt-freetype -qt-zlib -qt-libpng -
qt-libtiff -qt-libjpeg -qt-libmng -no-qt3support -no-openssl -nomake examples
-nomake docs -nomake translations -no-script -no-webkit -prefix
/ata0a/tmp/qtp4dkm -static -release -D QT_QWS_TEMP_DIR=
\\\"/tmpram\\\" -make make
上述配置内容中的黑色字体要根据不同的开发环境进行修改。Configure 配置命令
如下
在这里插入图片描述

置成功后结果如下,会在 qtp4dkm 目录下生成 makefile 文件。

打开命令行,在 cmd, 进入 workspace\qtp4dkm 目录,使用 make 命令编译
QT,约要十到二十分钟时间。编译成功后,提示如下:
在这里插入图片描述

则将编译的 lib 复制到目标机硬盘/ata0a/tmp/qtp4dkm/lib 下,配置完成。
在这里插入图片描述

将 lib 库文件内容上传到目标机硬盘上后,就可以开始测试 QT 程序了。通过
网络方式启动目标机,在 workbench 上建立远程连接,将需下载的应用程序
D:\WindRiver\workspace\qtp4dkm\demos\affine\affine,下载到目标机。
下 载 程 序 后 , 在 调 试 机 上 的 Shell 或 在 目 标 机 上 输 入 启 动 命 令
taskSpawn(“main”,200,0x01000000,0x100000,main,0,0,0,0,0),即可启动 QT 程序。
在这里插入图片描述
在这里插入图片描述

大功告成!
QT 做界面非常方便、漂亮(详请上 QT 官网),再加上触摸屏后(驱动程序需另外编写)

补充:
若已有VXworks操作系统,直接用FlashFXP将程序传到VX目标机.
在这里插入图片描述

打开与目标机连接的电脑->打开telnet服务->打开cmd->输入telnet 目标机IP在这里插入图片描述

cd到.out可执行文件处并执行,命令如下:

cd “/***/***/***/aaa.out/”

ld<aaa.out

若此时看不到界面则执行:

taskSpawn(“main”,200,0x01000000,0x100000,main,0,0,0,0,0)

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页