0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)支持OpenGL的Qt應(yīng)用程序開發(fā)介紹

英創(chuàng)信息技術(shù) ? 來源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-02-03 09:53 ? 次閱讀

英創(chuàng)嵌入式工控主板EM335x的CPU選用了Cortex-A8 處理器,主頻為1GHz的AM3354,這一款CPU中帶有硬件浮點(diǎn)協(xié)處理器(VFP、NEON),具有硬件2D/3D圖形加速器(OpenGL)。接下來就為大家介紹如果在EM335x上使用此功能。

英創(chuàng)公司在Linux環(huán)境下所提供的界面編程可以通過Qt來實(shí)現(xiàn),為了讓圖形加速的功能能夠被用戶所使用,英創(chuàng)公司配合圖形加速相關(guān)的庫(kù)文件重新移植了Qt,編譯成支持圖形加速功能的Qt版本,讓用戶可以通過Qt Creator直接開發(fā)帶有加速功能的Qt應(yīng)用程序,并且在根文件系統(tǒng)中也對(duì)Qt庫(kù)和C庫(kù)的版本進(jìn)行了更新以支持圖形加速的功能。所以要使用圖形加速功能,需要燒寫專用的內(nèi)核版本和文件系統(tǒng),注意EM335x的圖形加速功能基于OpenGL的版本為OpenGL ES2.0,所以在程序中使用的API需對(duì)應(yīng)為ES2.0版本。接下來我們就來看看開發(fā)帶圖形加速功能的Qt程序需要如何搭建開發(fā)環(huán)境。

本文主要介紹如何搭建環(huán)境來開發(fā)帶圖形加速功能的Qt程序,如果不需要圖形加速功能,請(qǐng)參考文章:《Qt開發(fā)環(huán)境的搭建》來搭建開發(fā)環(huán)境。

1、安裝交叉工具鏈

首先需要安裝交叉工具鏈,和普通程序開發(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ù)打包提供給客戶,客戶只需要將壓縮包拷貝到開發(fā)主機(jī)上,解壓,然后執(zhí)行英創(chuàng)公司編寫好的腳本程序,就能夠正常使用了。壓縮包的名稱為qt-opengl.tar.bz2,拷貝到開發(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的安裝等說明請(qǐng)參考文章,安裝的步驟完全相同:《Qt開發(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++。

添加編譯器

接下來添加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)配置完成,可以用來進(jìn)行開發(fā)Qt程序了,開發(fā)完成后只需要將編譯生成的可執(zhí)行文件拷貝到nandflash中,就可以執(zhí)行了。接下來我們就來運(yùn)行一個(gè)使用了圖形加速功能的Qt例程。

4、運(yùn)行Qt例程

開發(fā)環(huán)境搭建完成了,現(xiàn)在就來介紹如何運(yùn)行帶有圖形加速功能的Qt程序,首先需要啟動(dòng)CPU的圖形加速功能,這一步最主要的工作是加載一些必須的模塊和庫(kù),這些所需要的操作都通過腳本實(shí)現(xiàn)了,用戶只需要在命令行執(zhí)行腳本即可:
#/etc/init.d/rc.pvr start

看到如上圖的效果,就說明腳本運(yùn)行成功。我們可以在這張主板中運(yùn)行帶圖形加速功能的Qt程序來檢測(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)行效果

如果需要開機(jī)自動(dòng)啟動(dòng)帶圖形加速功能的Qt程序,需要使用腳本來實(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)站中下載和參考。使用圖形加速共能要燒寫專用的內(nèi)核版本,所以如果需要使用圖形加速功能,在購(gòu)買時(shí)請(qǐng)向英創(chuàng)公司說明。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11123

    瀏覽量

    207919
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6081

    瀏覽量

    34942
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    加速鯤鵬落地!拓維信息創(chuàng)遷移工具榮獲鯤鵬原生開發(fā)技術(shù)認(rèn)證

    認(rèn)證。圖/拓維·數(shù)據(jù)庫(kù)適配中間件取得鯤鵬原生開發(fā)N認(rèn)證在數(shù)字化時(shí)代的大潮中,信創(chuàng)戰(zhàn)略作為國(guó)家推動(dòng)信息技術(shù)應(yīng)用創(chuàng)新、保障信息安全與自主可控的關(guān)鍵舉措,其重要性日益凸顯
    的頭像 發(fā)表于 09-10 08:03 ?245次閱讀
    加速鯤鵬落地!拓維<b class='flag-5'>信息</b>信<b class='flag-5'>創(chuàng)</b>遷移工具榮獲鯤鵬原生<b class='flag-5'>開發(fā)</b><b class='flag-5'>技術(shù)</b>認(rèn)證

    嵌入式QT常見開發(fā)方式有哪些?

    嵌入式QT常見開發(fā)方式有哪些? 嵌入式工程師在學(xué)習(xí)和使用Qt進(jìn)行開發(fā)時(shí),常見的幾種開發(fā)方式包括: 1.
    發(fā)表于 08-12 10:05

    RL78/G23技術(shù)支持案例分享(下)

    在上一篇章中,我們闡述了產(chǎn)品升級(jí)主要內(nèi)容,接下來將在支持客戶過程中發(fā)現(xiàn)客戶經(jīng)常碰到的一些問題,在此分享技術(shù)支持案例供參考。
    的頭像 發(fā)表于 07-25 14:54 ?1349次閱讀
    RL78/G23<b class='flag-5'>技術(shù)支持</b>案例分享(下)

    SOLIDWORKS教育版:獲取SOLIDWORKS產(chǎn)品的技術(shù)支持

    SOLIDWORKS,作為一款在工程設(shè)計(jì)領(lǐng)域廣泛使用的軟件,以其強(qiáng)大的功能和用戶友好的界面贏得了全球用戶的青睞。然而,任何軟件在使用過程中都可能遇到一些技術(shù)問題。這時(shí),及時(shí)、有效的技術(shù)支持就顯得
    的頭像 發(fā)表于 06-13 17:31 ?303次閱讀

    在嵌入式系統(tǒng)中集成Rust和Qt的實(shí)踐

    Rust 擁有豐富的庫(kù)生態(tài)系統(tǒng),用于序列化和反序列化、異步操作、解析不安全輸入、線程、靜態(tài)分析等,而 Qt 是一個(gè) C++ 工具包,支持跨各種平臺(tái)的豐富的、基于 GUI 的應(yīng)用程序,從 iOS 到嵌入式Linux。
    發(fā)表于 05-03 10:26 ?1348次閱讀
    在嵌入式系統(tǒng)中集成Rust和<b class='flag-5'>Qt</b>的實(shí)踐

    在ELF 1開發(fā)環(huán)境中使用Qt Creator進(jìn)行遠(yuǎn)程調(diào)試

    QtCreator是一款跨平臺(tái)集成開發(fā)環(huán)境(IDE),主要適用于支持Qt框架的各類應(yīng)用程序開發(fā)。其內(nèi)置的遠(yuǎn)程調(diào)試機(jī)制使得
    的頭像 發(fā)表于 04-20 11:03 ?743次閱讀
    在ELF 1<b class='flag-5'>開發(fā)</b>環(huán)境中使用<b class='flag-5'>Qt</b> Creator進(jìn)行遠(yuǎn)程調(diào)試

    Qt上位機(jī)開發(fā)實(shí)戰(zhàn)案例

    Qt框架的開發(fā)人員能迅速上手和操作。 即使不開發(fā)Qt應(yīng)用程序,Qt Creator也是一個(gè)
    的頭像 發(fā)表于 03-13 12:31 ?1781次閱讀
    <b class='flag-5'>Qt</b>上位機(jī)<b class='flag-5'>開發(fā)</b>實(shí)戰(zhàn)案例

    RX78M組 EtherCAT ETG.5003示例程序固件信息技術(shù)

    電子發(fā)燒友網(wǎng)站提供《RX78M組 EtherCAT ETG.5003示例程序固件信息技術(shù).pdf》資料免費(fèi)下載
    發(fā)表于 02-21 14:22 ?1次下載
    RX78M組  EtherCAT ETG.5003示例<b class='flag-5'>程序</b>固件<b class='flag-5'>信息技術(shù)</b>

    Qt For OpenHarmony圖形化的進(jìn)展突破

    Qt 適配 OpenHarmony 意義 Qt 是一個(gè) C++ 跨平臺(tái)開發(fā)框架,主要用于開發(fā)圖形用戶界面(Graphical User Interface,GUI)
    的頭像 發(fā)表于 02-02 14:29 ?1115次閱讀
    <b class='flag-5'>Qt</b> For OpenHarmony圖形化的進(jìn)展突破

    如何構(gòu)建linux開發(fā)環(huán)境和編譯軟件工程、應(yīng)用程序

    前文介紹了如何使用官方提供的鏡像文件啟動(dòng)開發(fā)板,本文將說明如何構(gòu)建linux開發(fā)環(huán)境和編譯軟件工程、應(yīng)用程序
    的頭像 發(fā)表于 01-03 12:31 ?1523次閱讀
    如何構(gòu)建linux<b class='flag-5'>開發(fā)</b>環(huán)境和編譯軟件工程、<b class='flag-5'>應(yīng)用程序</b>

    如何用RK3588編寫應(yīng)用程序

    由于筆者平時(shí)的嵌入式開發(fā)工作,主要是集中在嵌入式Linux和Qt應(yīng)用開發(fā)方向,因此,本篇文章我們嘗試參考飛凌官方提供的嵌入式Linux+Qt相關(guān)的資料,編寫一個(gè)
    發(fā)表于 12-19 13:24

    合封芯片開發(fā)就找宇凡微,提供合封芯片技術(shù)支持與資訊

    本文將深入剖析宇凡微在合封芯片開發(fā)方面的實(shí)力與優(yōu)勢(shì),包括技術(shù)創(chuàng)新力、產(chǎn)品多樣性、項(xiàng)目經(jīng)驗(yàn)和技術(shù)支持體系。宇凡微注重技術(shù)創(chuàng)新和研發(fā)投入,擁有先進(jìn)的制程
    的頭像 發(fā)表于 12-12 16:54 ?328次閱讀

    開發(fā)java應(yīng)用程序的基本步驟是

    ava是一種面向?qū)ο蟮木幊陶Z(yǔ)言,廣泛用于開發(fā)各種類型的應(yīng)用程序。在開發(fā)Java應(yīng)用程序時(shí),有一些基本步驟需要遵循,以確保應(yīng)用程序的正確性和可
    的頭像 發(fā)表于 11-28 16:52 ?1311次閱讀

    如何快速開發(fā)出功能強(qiáng)大、界面美觀的GUI 應(yīng)用程序

    平臺(tái)的 GUI 應(yīng)用程序 相比 Tkiner和 wxpython,PyQt5 利用自帶的 Qt Designer 可視化工具進(jìn)行界面設(shè)計(jì),可以非??焖俚?b class='flag-5'>開發(fā)出一款功能強(qiáng)大、界面美觀的 GUI
    的頭像 發(fā)表于 11-02 14:45 ?2588次閱讀
    如何快速<b class='flag-5'>開發(fā)</b>出功能強(qiáng)大、界面美觀的GUI <b class='flag-5'>應(yīng)用程序</b>

    Rust GUI實(shí)踐之Rust-Qt模塊

    Rust-Qt 是 Rust 語(yǔ)言的一個(gè) Qt 綁定庫(kù),它允許 Rust 開發(fā)者使用 Qt 框架來創(chuàng)建跨平臺(tái)的圖形界面應(yīng)用程序。
    的頭像 發(fā)表于 09-30 16:43 ?1376次閱讀