英創(chuàng)嵌入式工控主板EM335x的CPU選用了Cortex-A8 處理器,主頻為1GHz的AM3354,這一款CPU中帶有硬件浮點協處理器(VFP、NEON),具有硬件2D/3D圖形加速器(OpenGL)。接下來就為大家介紹如果在EM335x上使用此功能。
英創(chuàng)公司在Linux環(huán)境下所提供的界面編程可以通過Qt來實現,為了讓圖形加速的功能能夠被用戶所使用,英創(chuàng)公司配合圖形加速相關的庫文件重新移植了Qt,編譯成支持圖形加速功能的Qt版本,讓用戶可以通過Qt Creator直接開發(fā)帶有加速功能的Qt應用程序,并且在根文件系統(tǒng)中也對Qt庫和C庫的版本進行了更新以支持圖形加速的功能。所以要使用圖形加速功能,需要燒寫專用的內核版本和文件系統(tǒng),注意EM335x的圖形加速功能基于OpenGL的版本為OpenGL ES2.0,所以在程序中使用的API需對應為ES2.0版本。接下來我們就來看看開發(fā)帶圖形加速功能的Qt程序需要如何搭建開發(fā)環(huán)境。
本文主要介紹如何搭建環(huán)境來開發(fā)帶圖形加速功能的Qt程序,如果不需要圖形加速功能,請參考文章:《Qt開發(fā)環(huán)境的搭建》來搭建開發(fā)環(huán)境。
1、安裝交叉工具鏈
首先需要安裝交叉工具鏈,和普通程序開發(fā)不同,編譯啟動了圖形加速功能的例程需要使用支持硬件浮點數的交叉工具鏈版本,英創(chuàng)公司以提供給用戶一個名為sysroots.tar.bz2的交叉工具鏈壓縮包,首先使用命令:
#tar vxjf sysroots.tar.bz2
解壓。
然后執(zhí)行腳本進行安裝:
#cd sysroots
#./install.sh
安裝完成后,可以進入到/sysroots/i686-arago-linux/usr/bin/目錄下,執(zhí)行:
#./arm-linux-gnueabihf-gcc -v
查看版本信息。
安裝交叉工具鏈
這樣交叉工具鏈就安裝好了。
2、安裝Qt環(huán)境
英創(chuàng)公司已經將編譯好的帶OpenGL功能的Qt庫打包提供給客戶,客戶只需要將壓縮包拷貝到開發(fā)主機上,解壓,然后執(zhí)行英創(chuàng)公司編寫好的腳本程序,就能夠正常使用了。壓縮包的名稱為qt-opengl.tar.bz2,拷貝到開發(fā)主機上,先進行解壓,和之前的解壓方法相同:
#tar vxjf qt-opengl.tar.bz2
解壓完成后,進入到Qt的目錄中,執(zhí)行命令
#./install.sh
進入到Qt的bin目錄下,可以查看版本和路徑,使用命令
#./qmake -v
這樣就完成了Qt進行的安裝。
3、Qt creator配置
關于Qt creator的安裝等說明請參考文章,安裝的步驟完全相同:《Qt開發(fā)環(huán)境的搭建》,這里主要介紹如何配置編譯的環(huán)境,首先添加編譯器,在菜單項中選擇“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環(huán)境,添加Qt版本的方法很簡單,點'Qt Version'選項。單擊右上方的“Add”按鈕,然后選擇Qt環(huán)境的目錄,指定到qmake文件即可。
添加Qt版本
最后選擇到“Kits”項中,可以看到已經有一個“Desktop(default)”,直接雙擊它進行修改或者新建一個構建套件,名稱可以自由命名,編譯器選擇之前設置好的交叉編譯工具,Qt版本選擇之前添加好的qt-opengl這一項,完成后單擊“OK”按鈕保存退出。
配置構建套件
這樣,Qt Creator就已經配置完成,可以用來進行開發(fā)Qt程序了,開發(fā)完成后只需要將編譯生成的可執(zhí)行文件拷貝到nandflash中,就可以執(zhí)行了。接下來我們就來運行一個使用了圖形加速功能的Qt例程。
4、運行Qt例程
開發(fā)環(huán)境搭建完成了,現在就來介紹如何運行帶有圖形加速功能的Qt程序,首先需要啟動CPU的圖形加速功能,這一步最主要的工作是加載一些必須的模塊和庫,這些所需要的操作都通過腳本實現了,用戶只需要在命令行執(zhí)行腳本即可:
#/etc/init.d/rc.pvr start
看到如上圖的效果,就說明腳本運行成功。我們可以在這張主板中運行帶圖形加速功能的Qt程序來檢測功能是否正常啟動,這里可以運行官方提供的一個名為hellogl_es2基于OpenGL ES2.0的Qt例程。運行帶圖形加速功能的Qt例程時,除了增加參數-qws以外,還需要增加參數-display powervr才能夠正常運行程序:
#hellogl_es2 -qws -display powervr
程序運行效果
如果需要開機自動啟動帶圖形加速功能的Qt程序,需要使用腳本來實現,腳本的編輯方法請參考:《英創(chuàng)嵌入式主板Qt Embedded應用簡介》這篇文章中的第四點。請注意的是,腳本中需要將啟動CPU圖形加速功能的這條命令加入。
由于程序中的API涉及到OpenGL相關的圖形程序接口,專業(yè)性較強,在這里就不做詳細的介紹了,更多的例程可以在Qt的官方網站中下載和參考。使用圖形加速共能要燒寫專用的內核版本,所以如果需要使用圖形加速功能,在購買時請向英創(chuàng)公司說明。
-
Linux
+關注
關注
87文章
11312瀏覽量
209697 -
嵌入式主板
+關注
關注
7文章
6085瀏覽量
35396
發(fā)布評論請先 登錄
相關推薦
評論