如何在windows搭建Pixhawk的編譯開發環境

如何在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編譯

aichengxu.com/diannao/8

手把手教你在Windows7建立PX4的Eclipse開發環境

手把手教你在Windows7建立PX4的Eclipse開發環境 - 知乎專欄

1. 安裝JAVA環境

Java JDK下載地址

Java SE - Downloads。

JDK安裝與環境變數配置方法

jingyan.baidu.com/artic

也可直接複製已經安裝好的Java目錄到指定位置,然後修改環境變數即可

2. 安裝cmake編譯工具

下載cmake編譯工具:Download | CMake

注意在安裝過程中把cmake添加到環境中。

3. 安裝PX4工具鏈

下載並安裝,px4_toolchain_installer_v14_win.exe,

firmware.diydrones.com/

雙擊安裝即可。

安裝完以後在開始菜單會出現一套工具包括,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/Firmware

cd 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為GNU

Make 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 - 愛程序網


推薦閱讀:

TAG:無人機Drone | 飛行控制 | 航空航天 |