ubuntu下开发基于STM32芯片的飞控
stm32的开发在windwos环境下可以使用比较省事的MDK,基于keil的界面,但可能是因为软件开源的缘故,ardupilot和PX4这两个最为流行的开源飞空项目均是在Linux下基于gcc-arm-none-eabi交叉编译工具来开发的,同时MWC开源飞控一脉相承下来的Cleanflight 4.x -> betaflight 4.x -> Cleanflight v2.x -> Betaflight 3.x -> Cleanflight v1.x -> Baseflight -> MultiWii也是基于此套编译体系进行的。这里基于cleanflight来搭建此飞控的开发环境。
我所使用的硬件平台是:
- 匿名扩空者Pro飞控平台(stm32F407V)
- STlink v2
- 正点原子探索者开发板(stm32F407ZGT6,用于简单地验证程序烧录有没有问题)
1 GNU Arm Embedded Toolchain介绍及安装
GNU Arm Embedded Toolchain是ARM公司发布的开源开发工具链,包括GNU C/C++ Compiler,Binutils,GDB,Newlib,这里可以初步只需要第一个交叉编译器GNU C/C++ Complier用于工程的编译。
1.1 手动安装
GNU C/C+