零基礎教學 | BeagleBone Black Cross Compile on Ubuntu

BeagleBone Black在Ubuntu上使用Qt進行交叉編譯及其環境設定 (Cross Compile BeagleBone Black on Ubuntu through Qt & environment setting)

Garnett.C 嘎內
OneStep@ATime
9 min readJun 4, 2020

--

前情提要 (想直接看操作步驟可以跳過此節)

之前老闆希望我建立一個測試或展示用的移動平台,而我們公司原本設計的機台就有在使用 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 映像檔下載頁面
BeagleBon Black 下載檔案頁面

前置動作

(安裝 Qt5.14.2、QtCreator、TI Processor SDK、下載及修改TI_Qt.sh檔 )

1. 更新Ubuntu指令庫

2. 下載Qt 5.14.2並安裝,可使用下列指令安裝,或是使用瀏覽器下載 Qt 5.14.2的安裝 .run 檔。下載完進行安裝。

Qt 5.14.2 下載網頁

3. 使用瀏覽器下載 TI Processor SDK (Linux Processor SDK for AM335x)並下載完畢後利用下列指令執行進行安裝 .bin 檔。

TI Processor SDK 檔案下載頁面

4. 接著下載 TI_Qt.sh 檔,用來設定開啟 QtCreator 時的 Compiler 路徑。下載完畢後請依照下圖修改 TI_Qt.sht.sh內容修改完後記得儲存

TI_Qt.sh下載頁面
TI_Qt.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。

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端顯示 :

--

--

Garnett.C 嘎內
OneStep@ATime

學店畢業末班生,前輪班星人工程師,現在轉任可以慢慢實現自己夢想的工程師工作。喜歡閱讀及分享,踏上追尋夢想的生命旅程~