天天看點

Ubuntu下編譯 cleanflight

cleanflight 基于baseflight, 是支援多懸翼和固定翼飛控程式

MultiWii 的代碼違反很多軟體工程原則,baseflight 也是,而cleanfligh 力圖改善軟體品質,提高可維護性。包括

1)通過完善的測試實作更可靠的code, 

2)更好的可維護性

3)更容易加入新特性

4)軟體子產品化更好,更易複用

cleanflight 支援Naze, CC3D 等,下面介紹 Ubuntu下如何編譯

詳細見:https://github.com/cleanflight/cleanflight/blob/master/docs/development/Building%20in%20Ubuntu.md

1)安裝git 和toolchain

 編譯 ardupilot 已經介紹過了,在 http://blog.csdn.net/span76/article/details/49782015

2)下載下傳源代碼

git clone https://github.com/cleanflight/cleanflight.git

3)編譯

cd cleanflight

make TARGET=NAZE

大概1分鐘,就得到了 cleanflight_NAZE.hex, 把這個 firmware上傳到naze就可以用了

arm-none-eabi-size ./obj/main/cleanflight_NAZE.elf 

   text    data     bss     dec     hex filename

 121156     208   14120  135484   2113c ./obj/main/cleanflight_NAZE.elf

arm-none-eabi-objcopy -O ihex --set-start 0x8000000 obj/main/cleanflight_NAZE.elf obj/cleanflight_NAZE.hex

同理,用

make TARGET=CC3D

得到 cleanflight_CC3D.hex

arm-none-eabi-size ./obj/main/cleanflight_CC3D.elf 

   text    data     bss     dec     hex filename

 123180     376   13104  136660   215d4 ./obj/main/cleanflight_CC3D.elf

arm-none-eabi-objcopy -O ihex --set-start 0x8000000 obj/main/cleanflight_CC3D.elf obj/cleanflight_CC3D.hex

目前支援的TARGET( 也就是支援的飛控闆了) 如下

ALIENWIIF1 ALIENWIIF3 CC3D CHEBUZZF3 CJMCU COLIBRI_RACE EUSTM32F103RC MOTOLAB NAZE NAZE32PRO OLIMEXINO PORT103R RMDO SPARKY SPRACINGF3 STM32F3DISCOVERY

繼續閱讀