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

    文章

    11302

    浏览量

    209424
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6085

    浏览量

    35314
收藏 人收藏

    评论

    相关推荐

    飞腾助力首届教育信息技术应用创新大赛圆满落幕

    近日,由中国教育技术协会主办,教育部教育管理信息中心教育信实验室、公安部第三研究所、中国电子工业标准化技术协会信工委会
    的头像 发表于 12-24 09:57 80次阅读

    龙芯中科助力2024首届教育信息技术应用创新大赛成功举办

    近日,2024首届教育信息技术应用创新大赛在北京航空航天大学成功举办。本次大赛由中国教育技术协会主办,教育信实验室、公安部第三研究所、中国电子工业标准化技术协会信
    的头像 发表于 12-19 17:02 194次阅读

    AWTK-WEB 快速入门(2) - JS 应用程序

    导读AWTK可以使用相同的技术开发各种平台的应用程序。有时我们需要使用Web界面与设备进行交互,本文介绍一下如何使用JS语言开发AWTK-
    的头像 发表于 12-05 01:04 103次阅读
    AWTK-WEB 快速入门(2) - JS <b class='flag-5'>应用程序</b>

    AWTK-WEB 快速入门(1) - C 语言应用程序

    导读AWTK可以使用相同的技术开发各种平台的应用程序。有时我们需要使用Web界面与设备进行交互,本文介绍一下如何使用C语言开发AWTK-W
    的头像 发表于 11-27 11:46 200次阅读
    AWTK-WEB 快速入门(1) - C 语言<b class='flag-5'>应用程序</b>

    中科达荣获2024年软件和信息技术服务优秀企业

    及前百家企业”名单。中科达凭借非凡的技术实力与持续的创新能力,成功入选“2024年度软件和信息技术服务竞争力百强企业”以及“2024年软件和信息技术服务优秀企业”。
    的头像 发表于 10-30 11:44 482次阅读

    RFID手持终端的无线技术支持

    在现代供应链管理和资产管理中,RFID(射频识别)技术发挥着越来越重要的作用。RFID手持终端作为这一技术的关键组成部分,其无线技术支持是实现高效数据采集和处理的基础。 一、RFID手持终端
    的头像 发表于 10-29 09:38 234次阅读

    锐恩科技,以实力打造国产单片机替代品牌!

    科技深谙市场需求的多样性,因此提供灵活的定制化服务。他们可以根据客户的具体需求,定制开发符合特定应用场景的单片机产品,帮助客户快速实现产品升级和技术创新。 5、强大的技术支持锐恩
    发表于 09-25 09:49

    加速鲲鹏落地!拓维信息迁移工具荣获鲲鹏原生开发技术认证

    认证。图/拓维·数据库适配中间件取得鲲鹏原生开发N认证在数字化时代的大潮中,信战略作为国家推动信息技术应用创新、保障信息安全与自主可控的关键举措,其重要性日益凸显
    的头像 发表于 09-10 08:03 446次阅读
    加速鲲鹏落地!拓维<b class='flag-5'>信息</b>信<b class='flag-5'>创</b>迁移工具荣获鲲鹏原生<b class='flag-5'>开发</b><b class='flag-5'>技术</b>认证

    嵌入式QT常见开发方式有哪些?

    嵌入式QT常见开发方式有哪些? 嵌入式工程师在学习和使用Qt进行开发时,常见的几种开发方式包括: 1.
    发表于 08-12 10:05

    SOLIDWORKS教育版:获取SOLIDWORKS产品的技术支持

    SOLIDWORKS,作为一款在工程设计领域广泛使用的软件,以其强大的功能和用户友好的界面赢得了全球用户的青睐。然而,任何软件在使用过程中都可能遇到一些技术问题。这时,及时、有效的技术支持就显得
    的头像 发表于 06-13 17:31 485次阅读

    在嵌入式系统中集成Rust和Qt的实践

    Rust 拥有丰富的库生态系统,用于序列化和反序列化、异步操作、解析不安全输入、线程、静态分析等,而 Qt 是一个 C++ 工具包,支持跨各种平台的丰富的、基于 GUI 的应用程序,从 iOS 到嵌入式Linux。
    发表于 05-03 10:26 1809次阅读
    在嵌入式系统中集成Rust和<b class='flag-5'>Qt</b>的实践

    Qt上位机开发实战案例

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

    RX78M组 EtherCAT ETG.5003示例程序固件信息技术

    电子发烧友网站提供《RX78M组 EtherCAT ETG.5003示例程序固件信息技术.pdf》资料免费下载
    发表于 02-21 14:22 1次下载
    RX78M组  EtherCAT ETG.5003示例<b class='flag-5'>程序</b>固件<b class='flag-5'>信息技术</b>

    Qt For OpenHarmony图形化的进展突破

    Qt 适配 OpenHarmony 意义 Qt 是一个 C++ 跨平台开发框架,主要用于开发图形用户界面(Graphical User Interface,GUI)
    的头像 发表于 02-02 14:29 1499次阅读
    <b class='flag-5'>Qt</b> For OpenHarmony图形化的进展突破

    如何构建linux开发环境和编译软件工程、应用程序

    前文介绍了如何使用官方提供的镜像文件启动开发板,本文将说明如何构建linux开发环境和编译软件工程、应用程序
    的头像 发表于 01-03 12:31 2052次阅读
    如何构建linux<b class='flag-5'>开发</b>环境和编译软件工程、<b class='flag-5'>应用程序</b>