全文基于waf编译器使用./waf命令,APM官网对于waf的使用描述:https://github.com/ArduPilot/ardupilot/blob/master/BUILD.md
前提:已经在ubuntu系统搭建好APM的开发环境(已经编译了Ardupilot源码)
相关教程:https://blog.youkuaiyun.com/matlzg/article/details/112863398
waf常用命令:
#1 列出支持的硬件板卡
./waf list_boards
#2 设置源码编译的目标板卡
./waf configure --board fmuv3
eg:
./waf configure --board bebop --static # Bebop or Bebop2
./waf configure --board edge # emlid edge
./waf configure --board fmuv3 # 3DR Pixhawk 2 boards
./waf configure --board navio2 # emlid navio2
./waf configure --board Pixhawk1 # Pixhawk1
./waf configure --board CubeBlack # Hex/ProfiCNC Cube Black (formerly known as Pixhawk 2.1)
./waf configure --board Pixracer # Pixracer
./waf configure --board skyviper-v2450 # SkyRocket's SkyViper GPS drone using ChibiOS
./waf configure --board sitl # software-in-the-loop simulator
./waf configure --board sitl --debug # software-in-the-loop simulator with debug symbols
#3 编译生成相关固件
./waf rover
eg:
./waf copter # All multirotor types
./waf heli # Helicopter types
./waf plane # Fixed wing airplanes including VTOL
./waf rover # Ground-based rovers and surface boats
./waf sub # ROV and other submarines
./waf antennatracker # Antenna trackers
#4 删除已编译固件
clean #此种方法保留配置信息,只清除当前板卡的对象。
distclean #清除每个板卡的所有内容,包括保存的配置信息。
#5 下载烧录
./waf --targets bin/arducopter --upload