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