英创嵌入式工控主板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的官方网站中下载和参考。使用图形加速共能要烧写专用的内核版本,所以如果需要使用图形加速功能,在购买时请向英创公司说明。
tif格式文件用什么打开(如何打开怎么打开) tif是什么格
英特尔将凌动处理器平台扩展至家庭和小型办公存储设备
智能手机Palm及webOS沉浮录:皇帝的新衣
三极管来源及NPN与PNP区别
智能车电源电路设计
英创信息技术支持OpenGL的Qt应用程序开发介绍
Cynaps让帽子接听电话
美高森美发布图像/视频解决方案 为图像应用提供安全、可靠的低功耗器件
人工智能在武装冲突决策中的应用
什么是世界博览会?
何在低端电流检测中使用单端放大器
长城宽带夹缝中生存,无奈落败于“提速降费”
控制中什么是弱电?什么是强电?有什么区别?
矽杰推出了一颗24GHz单芯片全集成毫米波雷达传感器芯片——SRK1103M
艾为电子推出低功耗智能手势识别芯片AW9136
物联网创业难?看完下面这几天你就不会说了
锂电池和铅酸电池的区别及选择
高通骁龙870 VS 高通骁龙865+
两块lm324实现有线电视机房伴音侦测电路
为改善驾驶辅助系统(ADAS)、驾驶信息系统 看汽车电源如何设计