从这一步开始,使用的软件是“Cygwin64”,而不是“git bash”

一、配置飞控类型

  1. // 查看所有支持的飞控类型
  2. ./waf list_boards
  3. // 将编译目标设置为fmuv3版飞控,对应Pixhawk2.4.x硬件
  4. ./waf configure --board fmuv3
  5. // 对于Pixhawk2.4.x版本飞控,由于出厂刷的BootLoader版本不同,可能编译目标为fmuv2,也可能是fmuv3,如果你不确定是哪个,就编译出两个版本的固件,哪个能烧写进去哪个就是对的(错误的固件是烧不进去的,也不会损坏飞控,请放心尝试)
  6. // 如果你的飞控是Pixhawk4,就将这里的fmuv3改为Pixhawk4,但是注意,Pixhawk4这类硬件请用多旋翼4.0.0、无人车4.0.0和固定翼4.0.0以上版本的源代码进行编译,低于这些版本编译时会报错
  7. // 以此类推

这一步会在“ardupilot”文件夹下生成“build”文件夹,里面放着与你指定的飞控硬件相匹配的库文件和一些其他文件

二、编译飞控固件

// 如果是编译多旋翼固件,运行下面的命令
./waf copter

// 如果是编译常规固定翼固件或者垂直起降固定翼固件(二者使用的是同一个固件),运行下面的命令
./waf plane

// 如果是编译直升机固件,运行下面的命令
./waf heli

// 如果是编译无人车固件,运行下面的命令
./waf rover

// 如果是编译潜水艇固件,运行下面的命令
./waf sub

// 如果是编译外设固件(如CAN总线版本的GPS),运行下面的命令
./waf AP_Periph

// 如果你上次编译好好的,突然就编译报错了,尝试如下命令,删除之前的编译缓存,这样下次编译时会从头编译
// 这个命令等效于手动删除“ardupilot/build”文件夹
./waf distclean

// 列出waf的所有命令及其使用方法
./waf -h

三、烧写飞控固件

1、安装最新版地面站MissionPlanner:

官方下载链接
~A56$N076NT0(F$HX}C76ZN.png

2、使用MissionPlanner烧写飞控固件

先将飞控板连上电脑,这里先不要在MP上点“连接”
初始设置-安装固件
出现进度条直接取消,选择加载自定义固件
自行编译的固件位置: bulid/fmuv4/bin/arducopter.apj
按照提示走就完事