Cleanflight 之 Eclipse 編譯環境搭建(Windows 平臺)

準備工作

官網下載地址:
Cleanflight 開源飛控源碼下載地址:https://github.com/cleanflight
JDK 下載地址:http://www.Oracle.com/technetwork/Java/javase/downloads/index.html
CDT for Eclipse luna下載地址:http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/lunasr2
ARM toolchain 下載地址:https://launchpad.net/gcc-arm-embedded/+download
cygwin 下載地址:http://www.cygwin.com/
(cygwin 或者 mingw :類UNIX/Linux 環境,使得 make 命令能夠在 windows 下執行的環境。)

百度雲下載地址:
win7 32bit 下載地址:鏈接:http://pan.baidu.com/s/1pKHCcJ5 密碼:w8dq
win7 64bit 下載地址:鏈接:http://pan.baidu.com/s/1dEJsvxJ 密碼:lsr5

搭建過程

  1. 安裝 JDK (安裝教程:http://blog.csdn.net/u011004037/article/details/42366751)

  2. 安裝 CDT for Eclipse luna, 直接解壓 eclipse-cpp-luna-SR2-win32-x86_64.zip 便能直接運行帶有 CDT 的 Eclipse。

  3. 安裝 ARM toolchain 交叉編譯工具鏈,博主選擇安裝到了 Eclipse 安裝目錄下新建的 msys 目錄中。

  4. 安裝 cygwin 或者 mingw,博主選擇 cygwin,因爲經過測試 cygwin 編譯速度快於 mingw。博主選擇安裝到了 Eclipse 安裝目錄下新建的 msys 目錄中。注意:安裝 cygwin 時默認不安裝 make.exe,這將導致最終配置好編譯環境來編譯項目時出現如下問題:
    這裏寫圖片描述
    所以在安裝的過程中,需要按照如下博文來操作:
    http://blog.csdn.net/soaringlee_fighting/article/details/68935470

  5. 導入 Cleanflight 項目到 Eclipse。點擊 File -> Import ,然後選擇如下選項進行導入,其他選項全部默認即可:
    這裏寫圖片描述

  6. 然後選中導入的項目,點擊 Project ->Propertise,添加交叉編譯工具鏈的 bin 目錄以及 cygwin 的 bin 目錄環境變量(注意:目錄地址需要根據安裝的實際目錄進行修改)。如下所示:
    這裏寫圖片描述

  7. 至此便可以執行編譯工作了,但 Cleanflight 支持多個硬件平臺,比如 Naze,SPRACINGF3 等等,如何快速切換編譯目標,而不是每次都要修改 Makefile 文件中的 TARGET 變量呢? 就如博主配置的這樣,只要點擊工具欄的小鐵錘圖標,就可以輕鬆的切換編譯目標:
    這裏寫圖片描述
    Makefile 文件中切換編譯目標的語句如下(默認的是 NAZE):
    //The target to build, see VALID_TARGETS below
    TARGET ?= NAZE

  8. 首先你需要確保在 Eclispe 主界面右上角選擇如下圖所示的圖標,否則左邊工具欄不會顯示小鐵錘圖標:
    這裏寫圖片描述

  9. 點擊 Project ->Propertise -> Manage Configurations 如圖所示進行添加目標(具體支持哪些目標,目標名是什麼,請查看Makefile 文件):
    這裏寫圖片描述

  10. 按照如下圖所示進行 Make 的配置:
    這裏寫圖片描述

  11. 添加多個編譯目標,可以重複以上添加步驟進行配置。至此,Cleanflight 之 Eclipse 編譯環境的搭建便已初步完成。


另外,每次編譯時,都會報告 Git 命令無法找到,那是因爲在 Makefile 文件中,每次編譯都調用了 Git 命令來獲取當前項目的歷史最新版本號的前6位。 如下所示:
REVISION := $(shell git log -1 --format="%h")
還記得前面在添加環境變量的時候,並沒有添加 Git 的 bin 目錄路徑,所以只需要在添加交叉編譯工具鏈的環境變量時,也一併添加安裝的 Git 的 bin 目錄路徑,便不會再報錯了。(Git 的安裝請自行百度或者 Google)

其他問題

  1. 如何在該平臺上能夠生成 .exe 程序並執行
    答:配置如下
  • 創建項目
    這裏寫圖片描述
    這裏寫圖片描述
  • 然後添加main.c文件,內容如下:
    #include “stdio.h”
    int main(int argc, char *argv)
    {
    printf(“Hello world.\n”);
    return 0;
    }
  • 在該工程中的編譯設置的環境變量中添加 cygwin 的 bin 目錄的值(參照前面配置環境變量的操作)
    我的安裝目錄爲:C:\Eclispe for CDT\msys\cygwin\bin
  1. 控制檯沒有任何輸出如何解決?
    有可能 Eclispe 下方的 Consle 控制檯沒有任何輸出,此時若直接點擊生成的 Hello wrold.exe ,提示如下信息:
    這裏寫圖片描述
    解決該錯誤提示的方法是:拷貝 cygwin 目錄下的 cygwin1.dll 到 C:\Windows\System32 目錄下即可。

  2. 點擊運行按鈕,提示 Launch failed,Binary not found,如何解決?
    答:首先工程區域選中目標工程,其次點擊 Run -> Run Configurations, 仿照如下設置這裏寫圖片描述
    在 C/C++ Application 中新增一個運行實體,然後填寫生成的 exe 文件目錄即可。

發佈了41 篇原創文章 · 獲贊 38 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章