飞腾CPU vxWorks6.9.4.x编译和使用QT4.8.6

开发环境及工具

vxWorks6.9.4开发环境
Mingw(gcc440)
Strawberry Perl
qt-everywhere-enterprise-src-4.8.6源码包
windml库
Win10(64bit) 开发机操作系统

安装步骤及设置

安装vxWorks6.9.4开发环境
默认已安装完成,安装目录为 D:\WindRiver
安装Perl开发工具
安装strawberry-perl-5.30.2.1-64bit.msi,选默认安装。
安装Mingw编译环境
将MinGW(gcc440)压缩包解压至C盘根目录。
部署源码包 (DKM和RTP两个目录) 将qt-everywhere-enterprise-src-4.8.6 源码包拷贝至D:\WindRiver\workspace工作空间下并改名为qtarmdkmsmp-4.8.6,形成 D:\WindRiver\workspace\qtarmdkmsmp-4.8.6目录结构; 将另一份qt-everywhere-enterprise-src-4.8.6 源码包拷贝至D:\WindRiver\workspace工作空间并改名为qtarmrtpsmp-4.8.6,形成D:\WR69411_2cluster2core\workspace\qtarmrtpsmp-4.8.6目录结构。
配置windml库
配置编译完成。(配置方法参见https://gitee.com/phytium_embedded/x100-windml-driver)
安装证书文件
将.qt-license文件放入开发机HOMEPATH下,例如: C:\Users\lenovo。
设置环境变量
为系统变量Path增加mingw和qt的bin路径,新建c:\mingw\bin;d:\WindRiver\workspace\qtarmdkmsmp-4.8.6\bin两项。
增加新的环境变量WIND_WORKSPACE_PATH=D:\WindRiver\workspace

Qt DKM图形库的构建及Qt用例运行

Qt DKM图形库的构建 确认windml库正确构建完成,打开VxWorks的开发shell终端,依次执行下列命令:
cd workspace
cd qtarmdkmsmp-4.8.6
set LIB_SMP=_smp
set WIND_WORKSPACE_PATH = D:\WindRiver\workspace
configure.exe -confirm-license -embedded -platform win32-g++ -xplatform qws/vxworks -arm7dkm-g++ -exceptions -qt-freetype -qt-zlib -qt-libpng -qt-libtiff -qt-libjpeg -qt-libmng -no-accessibility -no-qt3support -no-openssl -nomake docs -no-script -no-webkit -prefix/tgtsvr/qtarmdkmsmp-4.8.6 -static -release -nomake examples
mingw32-make –j 4
操作系统镜像的构建
创建一个 VxWorks Image Project(VIP)工程(参考创建 VxWorks 镜像工程),或者在 现有的 VIP 工程中完成如下配置:
Kernel Configuration 中添加组件
– INCLUDE_STANDALONE_SYM_TBL
– INCLUDE_WINDML
– GLOBAL_VIRT_MEM_REGION_SIZE=0x8000000
– KERNEL_HEAP_SIZE= ((unsigned int)(sysMemTop() - FREE_MEM_START_ADRS) / 3 * 1)
– RTP_HEAP_INIT_SIZE=0x800000
– BUNDLE_POSIX
– INCLUDE_RTP
– INCLUDE_SHARED_DATA
– INCLUDE_USB_XHCI_HCD_INIT
– INCLUDE_USB-GEN2_KEYBOARD_INIT
– INCLUDE_USB-GEN2_MOUSE_INIT
– INCLUDE_USB_GEN2_STORAGE
– INCLUDE_USB_GEN2_STORAGE_INIT
– BUNDLE_RTP_DEPLOY
– BUNDLE_RTP_DEVELOP
– BUNDLE_RTP_POSIX_PSE52
– INCLUDE_POSIX_ADVISORY_FILE_LOCKING
– INCLUDE_POSIX_PTHREAD_SCHEDULER
– NUM_FILES=200
– RTP_FD_NUM_MAX=200
– INCLUDE_POSIX_MAPPED_FILES
– INCLUDE_POSIX_SHM
– INCLUDE_POSIX_SHM_API
– INCLUDE_HRFS
– INCLUDE_HRFS_FORMAT
– INCLUDE_HRFS_HISPEED_WRITE_MODE
– HRFS_DEFAULT_MAX_BUFFER=1024
– HRFS_DEFAULT_MAX_FILES=200
– INCLUDE_XBD_RAMDRV
– INCLUDE_XBD_PART_LIB
在usrAppInit.c中添加创建RAMdisk的代码;
rebuilt project,完成工程编译。
运行Qt DKM用例 准备一张分区为FAT32的优盘。将D:\WindRiver\workspace\qtarmdkmsmp-4.8.6\lib下的fonts文件夹拷到优盘根目录; 将D:\WindRiver\workspace\qtarmdkmsmp-4.8.6\demos\affine下的affine文件拷到优盘根目录。 在优盘上编写运行脚本a.txt, 内容为: cd "/bd0"
sp (putenv,"QT_QWS_FONTDIR=/bd0/fonts")
sp (putenv,"LD_LIBRARY_PATH=/bd0")
ld < affine
taskSpawn("main", 200, 0x01000000, 0x100000, main, 0,0,0,0,0,0,0)
在镜像正常启动后,命令提示符下键入:
cd “/bd0”
<a.txt
启动Qt DKM用例。

Qt RTP图形库的构建及Qt用例运行

Qt DKM图形库的构建 确认windmlrtp库正确构建完成,打开VxWorks的开发shell终端,依次执行下列命令:
cd workspace
cd qtarmrtpsmp-4.8.6
set LIB_SMP=_smp
set WIND_WORKSPACE_PATH = D:\WindRiver\workspace
configure -confirm-license -embedded -platform win32-g++ -xplatform qws/vxworks-arm7rtp-g++ -exceptions -qt-freetype -qt-zlib -qt-libpng -qt-libtiff -qt-libjpeg -qt-libmng -no-accessibility -no-qt3support -no-openssl -nomake examples -nomake docs -nomake -translations -no-script -no-webkit-prefix /bd0/qtarmv7rtp -shared -release -D QT_NO_QWS_MULTIPROCESS -DQT_NO_PROCESS
mingw32-make –j 4

运行Qt RTP用例 使用DKM相同的内核镜像及优盘。添加如下文件,将D:\WindRiver\workspace\qtarmrtpsmp-4.8.6\lib下的libQtCore.so.4、libQtGui.so.4文件拷到优盘根目录; 将D:\WindRiver\vxworks-6.9\target\lib\usr\root\ARMARCH7gnu\bin下的libc.so.1文件拷到优盘根目录;将D:\WindRiver\workspace\qtarmrtpsmp-4.8.6\demos\affine下的affine文件拷到优盘根目录并更名为affine.vxe。
在优盘上编写运行脚本r.txt, 内容为:
putenv "LD_LIBRARY_PATH=/bd0"
putenv "QT_QWS_FONTDIR=/bd0/fonts"
putenv "QWS_DATA_HOME=/tmp"
putenv "QWS_CACHE_HOME=/tmp/data/"
cd "/bd0"
rtpSp("affine.vxe -qws",220,0x100000,0,0x1000000)
在镜像正常启动后,命令提示符下键入:
cd “/bd0”
<r.txt
启动Qt RTP用例。
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值