0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

英创信息技术 来源:英创信息技术 作者:英创信息技术 2020-02-03 09:53 次阅读

英创嵌入式工控主板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

查看版本信息

安装交叉工具链

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

2、安装Qt环境

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

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

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

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

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++。

添加编译器

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

添加Qt版本

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

配置构建套件

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

4、运行Qt例程

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

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

程序运行效果

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

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

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

    关注

    87

    文章

    10988

    浏览量

    206724
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6064

    浏览量

    34605
收藏 人收藏

    评论

    相关推荐

    Qt上位机开发实战案例

    Qt框架的开发人员能迅速上手和操作。 即使不开发Qt应用程序Qt Creator也是一个
    的头像 发表于 03-13 12:31 418次阅读
    <b class='flag-5'>Qt</b>上位机<b class='flag-5'>开发</b>实战案例

    开发java应用程序的基本步骤是

    ava是一种面向对象的编程语言,广泛用于开发各种类型的应用程序。在开发Java应用程序时,有一些基本步骤需要遵循,以确保应用程序的正确性和可
    的头像 发表于 11-28 16:52 662次阅读

    Rust GUI实践之Rust-Qt模块

    Rust-Qt 是 Rust 语言的一个 Qt 绑定库,它允许 Rust 开发者使用 Qt 框架来创建跨平台的图形界面应用程序
    的头像 发表于 09-30 16:43 959次阅读

    信息技术是干什么?

    广播电子技术信息技术
    橙群微电子
    发布于 :2023年09月22日 09:17:48

    Qt For OpenHarmony

    ,13年C++/Qt开发相关工作经验,曾任职Qt公司,担任技术支持Qt咨询师,协助国内多家Qt
    发表于 09-15 15:39

    芯片方案应用于终端产品时需要哪些技术支持和保障?

    语音芯片和解决方案。累计服务B端客户5000+家,积累了丰富的芯片应用、技术支持、大批量生产工艺调试和品质保证等经验。 接下来,小编简短介绍泰伦是如何全方位支持客户项目,保障客户高
    发表于 09-07 10:24

    峰会回顾第29期 | Qt For OpenHarmony

    演讲嘉宾 | 蔡万苍 回顾整理 | 廖   涛 排版校对 | 李萍萍 嘉宾简介 蔡万苍,13年C++/Qt开发相关工作经验,曾任职Qt公司,担任技术支持
    的头像 发表于 09-07 08:45 618次阅读
    峰会回顾第29期 | <b class='flag-5'>Qt</b> For OpenHarmony

    Mali GPU OpenGL ES应用程序开发指南

    这是适用于马里GPU的OpenGL ES应用程序开发指南。 它提供了使用OpenGL ES 1.1和OpenGL ES 2.0 API为马里
    发表于 08-30 07:57

    泰伦新成果发布交流会线上直播预约开启

    交流会》 02直播时间 2023年8月18日15:00~16:00 03主讲人 启泰伦技术支持总监孙振奎 04直播内容 启泰伦AI语音芯片产品介绍 新推智能语音相关
    发表于 08-15 14:31

    Arm OpenGL ES 3.0开发者指南

    。 ◦ 不可变纹理。 ◦ 2D阵列纹理。 ◦ Swizzles。 ◦ LOD和mip水平夹具。 ◦ 无缝立方体贴图。 ◦ 采样器对象。 •一组特定大小的纹理和渲染缓冲区格式,保证存在。 这有助于编写可移植的应用程序,因为实现之间的可变性降低了。
    发表于 08-08 06:03

    基于AMD SOC的QT应用程序开发

    基于AMD SOC的QT应用程序开发方法主要有两种方式:一种方式是基于petalinux工程新建一个application将源码导入在使用petalinux-build进行编译部署
    的头像 发表于 08-04 15:52 639次阅读
    基于AMD SOC的<b class='flag-5'>QT</b><b class='flag-5'>应用程序</b><b class='flag-5'>开发</b>

    活用PI模拟的技术支持

    活用PI模拟的技术支持
    的头像 发表于 07-28 15:19 365次阅读
    活用PI模拟的<b class='flag-5'>技术支持</b>

    Imagination GPU 现支持 OpenGL® 4.6

    使用,为 CAD、内容创建、娱乐、游戏开发和虚拟现实等市场创建高性能、视觉吸引人力强的图形应用程序。 迄今为止,ImaginationGPU 已原生支持OpenGL(直至版本 3.3)
    的头像 发表于 07-17 09:25 491次阅读
    Imagination GPU 现<b class='flag-5'>支持</b> <b class='flag-5'>OpenGL</b>® 4.6

    如何才能知道5.10.72的Vivante_vdk测试Qt应用程序GPU使用情况?

    大家好。 我正在使用内核 BSP 5.10.72,所以我想使用此版本的 gpu_vprofiler 来获取兼容的 openGL 和 EGL 库。 请帮助我获取此版本 5.10.72 的 Vivante_vdk 以测试 Qt 应用
    发表于 05-31 06:03

    Windows下的QT系统开发环境搭建

      QT是一款由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。 它既可以开发
    的头像 发表于 05-17 11:39 2256次阅读
    Windows下的<b class='flag-5'>QT</b>系统<b class='flag-5'>开发</b>环境搭建