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

如何建置(build)專案時可直接產生執行檔至BBB,並在BBB上執行程式但在PC端上顯示執行結果

Garnett.C 嘎內
OneStep@ATime
7 min readJun 11, 2020

--

在前幾篇文章有分享怎麼設定 Cross Compile 的環境及建立新 Project 的方法,若沒有看到之前的分享可以在下方連結按照步驟進行設定。若有照前幾篇步驟設定的可以直接往下跳至 BeagleBone Black 連接設備設定部分。

BeagleBone Black Cross Compile - 環境設定連結

BeagleBone Black Cross Compile - 新建專案連結

BeagleBone Black 連接設備設定

  1. 開啟 Qt Creator 後上方欄點選 “ Tools ” → “ Options”。
“ Tools ” → “ Options”

2. 開啟 “ Option ” 視窗後左方點選 “ Devices ”,再點選右方 “ Add ”。

3. Device Configuration Wizard Selection 選擇 “ Generic Linux Device ” → “ Start Wizard ”。

4. 接著依序依照下方說明輸入 :

  • The name of identify this configuration : 本次設定名稱( 輸入自己好辨識的名稱即可,本次示範為 BeagleBone Black。)
  • The devices’s host name or IP address : BeagleBone 的 IP (本次示範為 192.168.0.181)
  • The username to log into the device : BeagleBone 的設備名稱 (本次示範為 debian)

5. 然後點選 “ Create New Key Pair ”。

6. 點選 “ Generate And Save Key Pair ”。

7. 會發現 Private key file 後方欄位已經有產生一個 Key 並顯示其路徑,接著按 “ Deploy Public Key ” 會跳出需要輸入連線至 BeagleBone 所需的密碼,輸入 BeagleBone 的設備密碼後 “ OK ” 即可。

輸入連線至BBB的密碼

8. 輸入密碼成功後按 “ Next ”至下一步,下一步按 “ Finish ”即可。

9. “ Finish ” 完畢後會自動測試連線狀態,當有看到 Device test fished successfully 即代表連線至 BBB 成功。要設定至連線成功才可進行下列步驟。

10. 設定成功後會發現 Type Specific 欄位會自動幫你填入相關資料,若以後設備 IP 更改或是其他有變動都可以在這邊進行修改;右方 “ Test ” 按鈕可以立刻測試設備連線

修改 Compile 完畢後輸出檔案位置及執行檔案相關設定

  1. 開啟之前的 test1 專案,開啟 “ test1.pro ”,並將原本預設 target 路徑依照下列方式修改 :
  • 修改 target 路徑後當執行 Build 動作後即可在 BBB 上設定的路徑資料夾下找到 build 完的執行檔,不用再利用指令傳輸檔案一次,十分的方便。

2. 在左側點選 “ Projects ” 並選擇上次建立的 Kit 版本的 “ Run ”,接著將 “ Forward to local display ” 勾選,這樣的話程式會在 BBB 上執行但是 UI 介面就會顯示在 PC 端這邊。

3. 設定完畢後就可以按左下方的 “ Run ”按鈕即可執行而不用再將 build 完的檔案丟到 BBB 上執行,這樣方便多了。按下 PushButton 後結果和在 BBB上執行一樣。這樣就大功告成了!

後記

其實這個方法是其他同事分享給我的,十分感謝她的分享,這種互相分享知識的氣氛蠻不錯的,所以想說在這邊也分享給其他人讓大家可以更方便的進行開發。

Cross Compile 環境設定這個部分大概就先告一段落了,最近因為疫情所以遠端工作或是遠端會議似乎蠻熱門的,剛好有討論到如何使用 Raspberry Pi + Qt 來進行開發視訊通話的方法,如果以後有點心得或是結果再跟大家分享,感謝大家。

相關連結

BeagleBone Balck 在 Ubuntu 上 Cross compile 的環境設定 :

如何新建專案並在 BeagleBone Black上執行 :

--

--

Garnett.C 嘎內
OneStep@ATime

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