由于筆者平時的嵌入式開發(fā)工作,主要是集中在嵌入式Linux和Qt應(yīng)用開發(fā)方向,因此,本篇文章我們嘗試參考飛凌官方提供的嵌入式Linux+Qt相關(guān)的資料,編寫一個Qt應(yīng)用程序,并運行在OK3588-C開發(fā)板上面。
飛凌OK3588-C開發(fā)板,跟嵌入式Linux + Qt相關(guān)的的開發(fā)資料,主要是在文件夾“OK3588-C_Linux5.10.66+Qt5.12.8_用戶資料_R2”里面,文件夾里面的內(nèi)容的詳細(xì)說明,如下圖所示。
飛凌編寫的開發(fā)手冊主要是以下三個文檔: 1、《OK3588-C_Linux_用戶編譯手冊_V1.0_20230327.pdf》,這個文檔主要是介紹了飛凌OK3588-C開發(fā)板的軟件環(huán)境搭建,包括虛擬機安裝,安裝交叉編譯器、配置Qt編譯環(huán)境、相關(guān)的SDK代碼編譯。 2、《OK3588-C_Linux5.10.66+Qt5.12.8_用戶使用手冊_V1.0_20230327.pdf》,這個文檔主要是圍繞OK3588-C開發(fā)板進(jìn)行開展的,講述了如何快速上電啟動OK3588-C開發(fā)板,如何測試開發(fā)板的功能以及測試多媒體硬件編解碼,最后一章講述了如何通過OTG和TF卡進(jìn)行系統(tǒng)燒錄。 3、《引腳復(fù)用對照表&引腳功能對照表下載信息.pdf》,這個文檔主要提供一個網(wǎng)盤下載鏈接,下載核心板的引腳功能描述表格,如果開發(fā)者想自行制作功能底板,或者想了解某些引腳的功能復(fù)用,可以通過鏈接下載表格進(jìn)行查詢 搭建開發(fā)環(huán)境 參考《OK3588-C_Linux_用戶編譯手冊_V1.0_20230327.pdf》這個文檔,飛凌提供了一個完整的ubuntu20.04虛擬機鏡像,如果開發(fā)者不想自行搭建OK3588-C的開發(fā)環(huán)境,可以直接使用這個已經(jīng)搭建好開發(fā)環(huán)境的虛擬機。筆者一直習(xí)慣自己搭建ubuntu虛擬機和配置開發(fā)環(huán)境,因此,直接參考這份文檔的第三章的內(nèi)容,自行安裝和配置好ubuntu20.04。這個章節(jié)的重點內(nèi)容是,在ubuntu系統(tǒng)安裝編譯Linux系統(tǒng)所需要的庫,如下圖所示。
筆者在ubuntu20.04系統(tǒng)安裝以上依賴庫的時候,會提示找不到repo和python-pip軟件包, 解決方法是,手動安裝repo工具(網(wǎng)上有很多參考資料),把python-pip換成python3-pip就可以了。 根據(jù)文檔提示的方式,安裝交叉編譯工具鏈,安裝完成后,還需要在串口終端執(zhí)行export命令,把工具鏈的路徑寫入PATH環(huán)境變量, 也可以一步到位,直接修改 ~/.bashrc 文件,以后每次啟動bash終端的時候,都自動配置好交叉編譯器的路徑,如下圖所示。
重新啟動bash終端,執(zhí)行 aarch64-linux-gcc --version 命令,就可以查看OK3588-C對應(yīng)的交叉編譯器的版本,說明交叉編譯器安裝成功,如下圖所示。
編譯開發(fā)板SDK軟件包 參考第四章的內(nèi)容,OK3588_Linux_fs.tar.bz2是開發(fā)板的SDK軟件包,解壓后直接對這個軟件包進(jìn)行編譯,編譯速度取決于電腦的性能,編譯成功后會在rockdev目錄下生成OK3588-C開發(fā)板必須的各個鏡像文件,如下圖所示。
可以參考《OK3588-C_Linux5.10.66+Qt5.12.8_用戶使用手冊_V1.0_20230327.pdf》文檔的第五章的內(nèi)容, 使用OTG或者TF卡的方式,把編譯成功后的鏡像文件,燒錄到OK3588-C開發(fā)板里面運行。編譯出來的鏡像文件,文件系統(tǒng)root-fs默認(rèn)是支持Qt5.12.8的,并且飛凌提供的參考資料里面,也講述了如何使用Qt Creator搭建嵌入式Linux + Qt 的開發(fā)環(huán)境, 編寫測試應(yīng)用程序 我們可以嘗試編譯一個Qt工程項目對開發(fā)板的Qt運行環(huán)境進(jìn)行測試,工程項目的下載鏈接是:https://gitee.com/embediot/smartlight_system.git 執(zhí)行 git clone 命令,把Qt的示例工程下載到ubuntu系統(tǒng)里面,如下圖所示。
然后用配置好交叉編譯套件的Qt Creator軟件,打開該Qt工程,對其進(jìn)行清除、執(zhí)行qmake、重新構(gòu)建,這一系列操作,基本上可以直接編譯成功,如下圖所示。
編譯成功后,可以在build-xxxx-Debug目錄下,找到該工程項目的應(yīng)用程序固件,使用file命令查看固件信息,說明該固件是通過交叉編譯生成的,如下圖所示。
可以通過U盤、SD卡、ADB、SFTP等文件傳輸方式,把 smartlight_system的可執(zhí)行文件傳送到開發(fā)板上面運行,接上HDMI顯示器,可執(zhí)行文件在OK3588-C開發(fā)板上面運行的情況,如下圖所示。
綜合上面的一整套開發(fā)流程,根據(jù)飛凌提供的開發(fā)板資料,我們從搭建開發(fā)環(huán)境,編譯軟件SDK包,編寫和測試Qt應(yīng)用程序,完成對OK3588-C開發(fā)板的嵌入式Linux+Qt環(huán)境評測使用工作。 總體來看,飛凌OK3588-C這款開發(fā)板(或核心板)提供的資料,比較適合有嵌入式Linux從業(yè)經(jīng)驗的工程師進(jìn)行產(chǎn)品開發(fā)使用,不太適合初學(xué)者進(jìn)行入門,該款RK3588開發(fā)板(或核心板)是定位在商業(yè)或工業(yè)領(lǐng)域進(jìn)行產(chǎn)品級開發(fā),而不是定位在教學(xué)入門領(lǐng)域。
相信飛凌官方是綜合權(quán)衡過整個產(chǎn)品的市場定位才進(jìn)行各種開發(fā)資料的配置。從開發(fā)板(或核心板)的硬件做工、硬件質(zhì)量、供貨周期,相信這款開發(fā)板(或核心板)會物超所值,不會讓廣大工程師失望。
聲明:以上嵌入式 Linux + Qt 相關(guān)文檔資料及內(nèi)容,飛凌及本公眾號僅作參考學(xué)習(xí)之用途,開發(fā)者如需進(jìn)行商業(yè)用途,請遵循 Qt 官方相關(guān)協(xié)議。
|