零基礎教學 | BeagleBone Black Cross Compile on Ubuntu
BeagleBone Black在Ubuntu上使用Qt進行交叉編譯及其環境設定 (Cross Compile BeagleBone Black on Ubuntu through Qt & environment setting)
前情提要 (想直接看操作步驟可以跳過此節)
之前老闆希望我建立一個測試或展示用的移動平台,而我們公司原本設計的機台就有在使用 BeagleBone Black (以下統稱 BBB)來控制觸控面板,因此想說如果使用 BBB 來架設的話就有蠻多資源可以使用。不過跟同事討論他說之前開發介面是使用 Qt ,不過在是在 Windows 下先用 QtCreator 先寫好 Project 再複製到 BBB 上 Compile,通常一按下Compile 就要等個十年半載(BBB 只有單核...),因此在 PC 上 按下Compile 過 1、2秒直接完成,再丟到 BBB 上執行真的方便太多了!
而在網路上搜尋 Cross Compile 大多文章都有點年紀了,而依照那些文章操作很容易東缺一塊西缺一角而導致 Cross Compile 失敗,或是好像講個兩三步不知道為什麼就成功了,亦或是都是外國網友在論壇分享成功心得看得有點吃力...在其他同事的幫助下成功設定好環境並且成功建置專案,因此在此分享較詳細的操作步驟希望能對被 Cross Compile 所困的人有所幫助。
設備環境
- PC : Ubuntu 20.04 - 64位元(在 Win10 使用 VirtualBox 創建 Ubuntu 環境)
- BeagleBone Black : 映像檔版本 - Debian 9.9 2019–08–03 4GB SD LXQT
Ubuntu 映像檔下載連結 : http://www.ubuntu-tw.org/modules/tinyd0/BeagleBone Black 映像檔下載連結 : https://beagleboard.org/latest-images
前置動作
(安裝 Qt5.14.2、QtCreator、TI Processor SDK、下載及修改TI_Qt.sh檔 )
1. 更新Ubuntu指令庫
$ sudo apt-get update
$ sudo apt-get upgrade
2. 下載Qt 5.14.2並安裝,可使用下列指令安裝,或是使用瀏覽器下載 Qt 5.14.2的安裝 .run 檔。下載完進行安裝。
$ wget https://download.qt.io/archive/qt/5.14/5.14.2/qt-opensource-linux-x64-5.14.2.run (下載 Qt5.14.2安裝檔)$ sudo ./qt-opensource-linux-x64-5.14.2.run (執行安裝檔,檔案名稱請依照下載的Qt版本自行修改,記得終端機需先移動至檔案所在位置)
3. 使用瀏覽器下載 TI Processor SDK (Linux Processor SDK for AM335x)並下載完畢後利用下列指令執行進行安裝 .bin 檔。
- TI Processor SDK 官網下載連結 : https://www.ti.com/tool/PROCESSOR-SDK-AM335X
$ sudo chmod 777 ti-processor-sdk-linux-am335x-evm-06.03.00.106-Linux-x86-Install.bin (將檔案所有的權限啟用)$ ./ti-processor-sdk-linux-am335x-evm-06.03.00.106-Linux-x86-Install.bin (執行.bin檔)
4. 接著下載 TI_Qt.sh 檔,用來設定開啟 QtCreator 時的 Compiler 路徑。下載完畢後請依照下圖修改 TI_Qt.sht.sh內容,修改完後記得儲存。
- Ti Processor SDK environment-set 預設安裝路徑 :
/opt/ti-processor-sdk-linux-am335x-evm-06.03.00.106/linux-devkit/environment-setup
- QtCreator 執行檔預設安裝路徑 :
/home/”個人電腦名稱 ”/Qt5.14.2/Tools/QtCreator/bin/qtcreator (電腦名稱請依個人修改)
5. 執行完後執行剛剛修改完的 TI_Qt.sh檔,執行即會開啟 QtCreator。
$ ./TI_Qt.sh
QtCreator 環境設定
(設定 QtCreator內 Compiler、Debugger、Qt Version 及 Kit)
1. QtCreator 開啟後上方列點選 Tool → Option
2. Optionption選單中左方欄先選擇 Kits 頁面,接著選擇 Compilers ,看 Auto-delecteduto-delected 選單中是否有剛剛安裝的 TI process SDK 資料夾路徑下的GCC compiler ; 若沒出現可能剛剛 TI_Qt.sh修改時路徑有改錯,請重新修改後再執行 TI_Qt.sh。
- GCC compiler 預設路徑 : /opt/ti-processor-sdk-linux-am335x-evm-06.03.00.106/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/
3. 選擇 Debugger頁面,點選右上角 Add dd 鍵新增一個 Debugger(名稱取自己方便辨識的就好),然後選擇 TI Process SDK 內的 arm-linux-gnueabihf-gdb (預設路徑如下)。
- Debugger 預設路徑 : /opt/ti-processor-sdk-linux-am335x-evm-06.03.00.106/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gdb
4. 選擇 Qt Version 頁面,點選右上角 Add 鍵新增,接著將新增的 Qt Version 修改名稱 (修改成自己好辨識即可),然後選擇 TI Process SDK 安裝資料夾下的 qmake(預設路徑如下)。
- qmakeqmake 預設路徑 : /opt/ti-processor-sdk-linux-am335x-evm-06.03.00.106/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/qmake
5. 設定好 Compiler、Debugger 及 Version 後記得要先按 “Apply” !!!
選好後記得按 “Apply”
選好後記得按 “Apply”
選好後記得按 “Apply”
6. 最後設定 Kit ,在右上角按 “Add”新增,然後依下列選擇剛剛設定好的Compiler、Debugger 及 Version。全部設定完後按 “Apply” 然後 “OK”。
Name : 自行輸入
Device type : Generic Linux Device
Compiler : C : 剛剛設定完的 Compiler
Compiler : C++ : 剛剛設定完的 Compiler
Debugger : 剛剛設定完的 Debugger
Version : 剛剛設定完的 Version
CMake Tool : TI Process SDK 安裝資料夾下的 CMake
- CMake 預設路徑 : /opt/ti-processor-sdk-linux-am335x-evm-06.03.00.106/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/cmake
按照步驟設定完 “Apply” 及 “OK” 後即可新建 Project 並在 BeagleBone Black上執行程式,至於如何從零建立一個 Project 會在下篇文章詳細的分享。
如果這篇文章有幫助請點個掌聲,希望大家會喜歡這系列的教學,以後會再慢慢出一些教學的文章,希望能幫助更多人。
相關連結
如何新建專案並在 BeagleBone Black上執行 :
專案如何在BBB端執行但在PC端顯示 :