英创信息技术支持OpenGL的Qt应用程序开发介绍

描述

英创嵌入式工控主板EM335x的CPU选用了Cortex-A8 处理器,主频为1GHz的AM3354,这一款CPU中带有硬件浮点协处理器(VFP、NEON),具有硬件2D/3D图形加速器(OpenGL)。接下来就为大家介绍如果在EM335x上使用此功能。

英创公司在Linux环境下所提供的界面编程可以通过Qt来实现,为了让图形加速的功能能够被用户所使用,英创公司配合图形加速相关的库文件重新移植了Qt,编译成支持图形加速功能的Qt版本,让用户可以通过Qt Creator直接开发带有加速功能的Qt应用程序,并且在根文件系统中也对Qt库和C库的版本进行了更新以支持图形加速的功能。所以要使用图形加速功能,需要烧写专用的内核版本和文件系统,注意EM335x的图形加速功能基于OpenGL的版本为OpenGL ES2.0,所以在程序中使用的API需对应为ES2.0版本。接下来我们就来看看开发带图形加速功能的Qt程序需要如何搭建开发环境。

本文主要介绍如何搭建环境来开发带图形加速功能的Qt程序,如果不需要图形加速功能,请参考文章:《Qt开发环境的搭建》来搭建开发环境。

1、安装交叉工具链

首先需要安装交叉工具链,和普通程序开发不同,编译启动了图形加速功能的例程需要使用支持硬件浮点数的交叉工具链版本,英创公司以提供给用户一个名为sysroots.tar.bz2的交叉工具链压缩包,首先使用命令:

#tar vxjf sysroots.tar.bz2

解压。

然后执行脚本进行安装:
#cd sysroots
#./install.sh

安装完成后,可以进入到/sysroots/i686-arago-linux/usr/bin/目录下,执行:
#./arm-linux-gnueabihf-gcc -v

查看版本信息。

Linux

安装交叉工具链

这样交叉工具链就安装好了。

2、安装Qt环境

英创公司已经将编译好的带OpenGL功能的Qt库打包提供给客户,客户只需要将压缩包拷贝到开发主机上,解压,然后执行英创公司编写好的脚本程序,就能够正常使用了。压缩包的名称为qt-opengl.tar.bz2,拷贝到开发主机上,先进行解压,和之前的解压方法相同:
#tar vxjf qt-opengl.tar.bz2

解压完成后,进入到Qt的目录中,执行命令
#./install.sh

进入到Qt的bin目录下,可以查看版本和路径,使用命令
#./qmake -v

这样就完成了Qt进行的安装。

Linux

3、Qt creator配置

关于Qt creator的安装等说明请参考文章,安装的步骤完全相同:《Qt开发环境的搭建》,这里主要介绍如何配置编译的环境,首先添加编译器,在菜单项中选择“Tools→Options”,然后选择“Build&Run”项,点击Compilers一项,这里使用第一步安装的arm-linux-gnueabihf,单击右上角的“Add”按钮,选择GCC,然后添加编译器路径(需要指定到g++文件),完成后单击“Apply”按钮保存设置。注意所使用的交叉工具链中g++文件所在的路径应该为sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-g++。

Linux

添加编译器

接下来添加Qt版本,Qt版本需要选择第二步中安装好的Qt环境,添加Qt版本的方法很简单,点'Qt Version'选项。单击右上方的“Add”按钮,然后选择Qt环境的目录,指定到qmake文件即可。

Linux

添加Qt版本

最后选择到“Kits”项中,可以看到已经有一个“Desktop(default)”,直接双击它进行修改或者新建一个构建套件,名称可以自由命名,编译器选择之前设置好的交叉编译工具,Qt版本选择之前添加好的qt-opengl这一项,完成后单击“OK”按钮保存退出。

Linux

配置构建套件

这样,Qt Creator就已经配置完成,可以用来进行开发Qt程序了,开发完成后只需要将编译生成的可执行文件拷贝到nandflash中,就可以执行了。接下来我们就来运行一个使用了图形加速功能的Qt例程。

4、运行Qt例程

开发环境搭建完成了,现在就来介绍如何运行带有图形加速功能的Qt程序,首先需要启动CPU的图形加速功能,这一步最主要的工作是加载一些必须的模块和库,这些所需要的操作都通过脚本实现了,用户只需要在命令行执行脚本即可:
#/etc/init.d/rc.pvr start

Linux

看到如上图的效果,就说明脚本运行成功。我们可以在这张主板中运行带图形加速功能的Qt程序来检测功能是否正常启动,这里可以运行官方提供的一个名为hellogl_es2基于OpenGL ES2.0的Qt例程。运行带图形加速功能的Qt例程时,除了增加参数-qws以外,还需要增加参数-display powervr才能够正常运行程序:
#hellogl_es2 -qws -display powervr

Linux

程序运行效果

如果需要开机自动启动带图形加速功能的Qt程序,需要使用脚本来实现,脚本的编辑方法请参考:《英创嵌入式主板Qt Embedded应用简介》这篇文章中的第四点。请注意的是,脚本中需要将启动CPU图形加速功能的这条命令加入。

由于程序中的API涉及到OpenGL相关的图形程序接口,专业性较强,在这里就不做详细的介绍了,更多的例程可以在Qt的官方网站中下载和参考。使用图形加速共能要烧写专用的内核版本,所以如果需要使用图形加速功能,在购买时请向英创公司说明。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分