本文介紹在Windows10下配置PX4的eclipse開發環境的方法,文中主要內容來自網上分享,針對我實際安裝情況做了一些調整。按照本網站提供的檔案連結,並按照本站指示一步步執行,最終可得到一個包含所有源碼的PX4開發環境。
1. 安裝檔案
(1)下载 Cmake
Cmake要根據處理器位元數來安裝,請到官網找到合適的版本下載,我使用的是cmake-3.6.1-win64-x64版本。在軟體安装過程皆使用默認選項,但是在第三步 Install Options安裝選項中,必須要將CMake加入系統環境變數中,如下圖所示。
(2) 安裝PX4 ToolChain
來這裡下載所有的PX4組態設定檔,貼在根目錄C槽底下(或者其他的槽亦可),您將看到此包資料夾名稱為 px4-backup
來這裡下載PX4官方推薦的開發工具鏈,安裝檔默認是安裝在C槽根目錄下(要自行調整跟px4-backup同一個槽),一路按下一步就行,要注意安裝路徑中不能有空格。在安裝過程中會安裝Pixhawk飛控需要的驅動文件,完成後的文件夾如图所示。
檢查在左下角「開始」菜單內,應該會出現一套工具包括:PX4Console、PX4Ecplise,以及其他的幾個軟件。
(3) 使用PX4 Console下載源代碼
接者,把安裝好的px4刪掉,將px4-backup正名成px4,此時在左下角開啟「開始」選單內的PX4 Toolchain->PX4 console,將出現MINGW32 的Console位置預設在c:/px4目錄底下。使用命令:
git clone https://github.com/PX4/Firmware.git -b v1.5.5
將GitHub項目上的代碼clone到目的檔案夾中。注意,命令中使用的網址是PX4源代碼的位址,注意不要輸錯。後面的參數-b v1.5.5是clone程式的v1.5.5版本的意思,這個版本目前比較穩定,編譯的時候出問題也少。
然後就需要等待一段時間,大概半小時左右。如果長時間都未成功就重新來一遍。完成後會在Firmware資料夾中建立以下檔和資料夾
上圖中,部分子模組的資料夾如“NuttX”等現在還沒有太多內容,裡面只有幾個“.git”檔,這些檔是下一步補全子專案代碼需要用的,不要改動,現在可以進入下一步。
將路徑定位在主目錄“Firmware”。然後把其依賴專案當成子模組,下拉到Firmware目錄下。輸入如下命令:
git submodule update --init --recursive
下拉代碼整個過程需要幾十分鐘。如果在過程中出現長時間不動的情況,有可能是網路不好 卡住了,用Ctrl+ C停止,然後重新執行以上命令。 ,等下拉完成,就可以build项目了。
(4) 使用PX4 Console編譯源代碼
Console中切入到Firmware目錄底下,输入如下命令
make px4fmu-v2_default
第一次編譯過程也是要聯網的,因為需要從GitHub源繼續下載某些必要的檔,首次編譯成功後以後編譯不需要聯網。
注意:編譯的時候不要同時打開PX4 eclipise和PX4 console,否則會造成不可預知的問題。
如果編譯成功,介面如圖所示。
(5) 安裝Eclipse
由於要用的Eclipse軟體需要Java,進入Oracle官網下載合適讀者電腦使用環境的Java JDK。
Java jdk也是預設選項安裝,這裡如果有專業知識更好。安裝完後要用console介面下命令 java -version 來查看 Java 是否配置成功,如圖所示就是成功了
然後在到Eclipse官網下載讀者電腦使用環境的Eclipse IDE,在 安裝首頁,暫時將安裝路徑設置在C槽根目錄底下,待安裝完畢以後,C槽將出現Eclipse資料夾,然後將Px4底下的Eclipse資料夾刪除,把C槽底下新的eclipse移到px4底下。
在「開始」菜單內打開“PX4 Toolchain”下的“PX4 Eclipse”,此快捷方式會啟動PX4工具鏈中自帶的Eclipse, 若能出現以下畫面,則Eclipse可被成功開啟,若出現錯誤訊息,則為Eclipse沒抓到相對應的JDK,需要再重新再安裝。
2. 在Eclipse瀏覽檔案
建議在Console中一切正常後,才使用Eclipse編譯源碼。
(1) 設定編譯器
在Eclipse中選擇 File ->Import -> C/C++ -> Existing Code as Makefile project ,按下一步,然後選擇Cross GCC,在彈出的資料夾對話框中選擇Firmware目錄所在,然後點擊完成。
(2) 設定Build Targets
在Eclipse右邊面板中,選擇“Build targets”面板,展開Firmware資料夾。右鍵點擊Firmware,選擇“New”,給target命名,並勾選“Save as target”,依次創建幾個targets:clean、 px4fmu-v2_default、 px4fmu-v2_default upload。
含義如下:
clean:僅清除應用程式部分即Firmware;
px4fmu-v2_default:編譯Pixhawk對應的固件
px4fmu-v2_default upload:編譯並更新固件到PX4FMU v2版上。
(3) 編譯代碼與上傳到PixHawk控制器
首先,按兩下px4fmu-v2_default 一次構建Firmware和所有依賴專案,在build過程中,如果長時間沒有進度,就關掉整個Eclipse,然後再執行一遍直到編譯成功。強制關掉時不會清除已經編譯好的文件。
然後按兩下 px4fmu-v2_default upload。就可以通過USB開始上傳固件到Pixhawk控制器。到此為止,整個PX4開發環境就建立完成。