X100显卡VxWorks6.9.4上运行Qt4.8
介绍
本文描述了使用X100显卡在 vxworks6.9.4操作系统下,如何依赖windml,安装设置 Qt4.8.x, 并介绍了实际目标板上编译运行 Qt demo 程序的过程。
开发环境及工具
- 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用例。
具体使用方法可参考VxWorks6.9_Qt_User_Guide.pdf
支持VxWorks下Qt第三方特性:
1. 中文输入法
2. pdf文件显示
3. Qwt
需要第三方特性支持的请联系 79102124@qq.com