如何在windows搭建Pixhawk的編譯開發環境
引言
這幾年無人機發展迅速,商業應用越來越多,民間玩家也越來越多。對於民間玩家來說,Pixhawk無疑是非常值得入手的一塊高端的開源飛控。某寶上也將pixhawk譽為開源飛控之王。pixhawk的性能和可擴展性是毋庸置疑的,但入門難度也確實非常大。
PX4代碼可以在mac os,linux或者windows上進行開發,官網上建議在Mac OS和Linux上進行開發,因為圖像處理和高級導航在windows上不容易開發。但windows也是可以的.
本文主要介紹了如何在Windows7系統下建立Pixhawk的Eclipse編譯開發環境,文中很多內容來自於網上分享,具體請參考本文所列出的參考鏈接部分。本文針對實際情況做了一些整理,並細化了一些步驟。按照本文的步驟,最終可以在windows下建立起pixhawk的開發環境。不過在windows下編譯速度確實會慢很多,第一次編譯時間可能會在20分鐘以上,Linux基礎還不錯的,建議在Linux下做開發。
0. 參考鏈接:
PX4官網Windows安裝指南
Windows | PX4中文維基
pixhawk自學筆記之windows下的cmake編譯
http://www.aichengxu.com/diannao/8770061.html
手把手教你在Windows7建立PX4的Eclipse開發環境
手把手教你在Windows7建立PX4的Eclipse開發環境 - 知乎專欄
1. 安裝JAVA環境
Java JDK下載地址
Java SE - Downloads。
JDK安裝與環境變數配置方法
http://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html
也可直接複製已經安裝好的Java目錄到指定位置,然後修改環境變數即可
2. 安裝cmake編譯工具
下載cmake編譯工具:Download | CMake
注意在安裝過程中把cmake添加到環境中。
3. 安裝PX4工具鏈
下載並安裝,px4_toolchain_installer_v14_win.exe,
http://firmware.diydrones.com/Tools/PX4-tools/px4_toolchain_installer_v14_win.exe
雙擊安裝即可。
安裝完以後在開始菜單會出現一套工具包括,PX4Console、PX4Ecplise,以及其他的幾個軟體都是有用的。
4. 安裝QGC地面站及PX4 USB驅動
下載並安裝,QGroundControl.exe,雙擊安裝即可
安裝過程中,會自動安裝PX4的USB驅動,和Eclipse環境
5. 編譯
編譯pixhawk有兩種方法:(1)通過console(控制台)編譯;(2)通過Eclipse(IDE)編譯。一般是先通過console(控制台)下載固件並完成編譯後,在通過Eclipse(IDE)查看源碼並進行編譯。
5.1 通過console(控制台)編譯
(1)打開PX4
Console
(2)下載源碼並檢查子模塊
git clone
PX4/Firmwarecd Firmwaregit submodule update --init --recursivecd ..
說明:
l cd Firmware,進入PX4固件目錄
l git submodule update,自動重新檢查子模塊並重新下載。
l 如果出現如下錯誤:fatal:
Not a git repository (or any of the parent directories): .git執行 git init 即可
(3)編譯源碼
cd Firmwaremake px4fmu-v2_default
註:
l 「make」是一個字元命令編譯工具,
l 「px4fmu-v2」是硬體/ardupilot版本,
l 「default」是默認配置,所有的PX4編譯目標遵循這個規則。
l 顯示100%即是編譯成功:
l 在windows下有時候會遇到假死,進度卡住一直不懂,無論等多久也沒反應,這是關掉PX4 Console,重新打開,再執行make px4fmu-v2_default 就可以繼續編譯了。
(4)下載源碼
make px4fmu-v2_default upload
註:執行make px4fmu-v2_default
upload 將編譯好的固件上傳至PIXHAWK中。(5)清除編譯文件
make clean
註:make
clean是清除所有的編譯文件,這個只有在要清空所有文件,重新編譯時才使用。該命令不是必要的步驟,一般不使用。5.2 通過Eclipse(IDE)編譯
(1)設置JAVA的工作目錄
首先你的電腦必須先安裝JAVA,64位系統如果無法打開Eclipse,就要設置一下JAVA的工作目錄。
設置JAVA的工作目錄的方法有2種:
l 在Eclipse的根目錄下編輯 eclipse.ini,添加JAVA的工作的目錄,例如-vm c:ProgramFiles(x86)Javajre_xxxjavaw.exe ,根據自己的情況修改。
l 在環境變數中添加Java的工作路徑。
(2)導入工程
在開始菜單中啟動eclipse。
首次啟動Eclipse需要設置工作空間。
然後導入PX4固件,選擇File → Import → C/C++ → Existing Makefile project→select
Cross GCC. 選擇Firmware的目錄,然後點擊完成。(註:本文的CFirmware_pixLeader只是改了下工程名,方法相同)。接著在右側添加三個Target。
- px4fmu-v2_default 編譯固件(pixhawk)
- px4fmu-v2_default upload 上傳至pixhawk
- clean 清除編譯文件
結果如下圖所示:
主要文件夾介紹:
- Build 文件夾:存放的是編譯過程中的中間文件
- Debug文件夾:存放用於調試的文件及工具
- documentatiom文件夾:存放說明文檔
- Image文件夾: 存放編譯生成後,可執行的文件(可以燒入PX4里,執行)
- CMake文件夾:編譯規則文件夾
- mavlink文件夾: 存放mavlink協議文件的文件夾
- msg文件夾:存放 通信的文件,主要是基站與飛機直接的通信信息
- nuttx文件夾: 存放PX4 運行的實時操作系統nuttx 所有文件
- src文件夾:存放著所有驅動和應用代碼(主要研究的就是這塊代碼)
- Tools文件夾:存放著編譯,mavlink等一些工具
在使用Eclipse編譯的時候可能會有Cmake提示的找不到目錄報錯,錯誤如下:
按以下步驟嘗試,修改一下編譯工具和路徑。
Project Properties > C/C++ Build > Tool Chain Editor,
and set Current toolchain : Linux GCC, Current builder : GNU Make Builder.And C/C++ Build > Environment, Change CWD and PWD vales to
not use : or , such as /C/px4/Firmware
修改過程如下:
首先設置Current toolchain為Linux
GCC;設置Current builder為GNUMake Builder。然後按照下圖相關位置,修改CWD和PWD的value,把value中的改為/,如
G:/Pixhawk/WorkSpace/CFirmware_pixLeader即可。
最後雙擊執行px4fmu-v2_default即可編譯。
6. 推薦網站
手把手教你在Windows7建立PX4的Eclipse開發環境
手把手教你在Windows7建立PX4的Eclipse開發環境 - 知乎專欄
Pixhawk官網
項目介紹 · PX4 Developer Guide
愛程序網Pixhawk學習資料
pixhawk - 愛程序網
推薦閱讀: