Bootstrap

windows编译ardupilot源码教程

在这里插入图片描述

一、下载ArduPilot 源码

源码地址:GitHub - ArduPilot/ardupilot: ArduPlane, ArduCopter, ArduRover, ArduSub source

使用git clone命令拉取飞控代码。

 git clone https://github.com/ArduPilot/ardupilot.git

二、安装编译环境

打开后,通过cd命令,转到.\ardupilot\Tools\environment_install目录
使用管理员权限运行powershell
设置执行策略

set-executionpolicy remotesigned

执行完当前指令后已经解除安全机制对.ps1类型的脚本文件的约束,此时再去执行.ps1脚本已经没有问题了

输入.\install然后按Tab键切换到install-prereqs-windows.ps1,回车运行。

在这里插入图片描述
此时将自动下载并安装MAVProxy、Cygwin x64、ARM GCC 编译器、python等软件。

安装g++:地址
在这里插入图片描述
下载后解压,将源码下的bin路径添加到系统环境变量。

三 切换固件

3.1 查看源代码中包含的所有tag

git tag

按回车下一行,找到版本后,按 “q” 退出

例如从多旋翼3.6.7 稳定版固件创建分支,分支名为:MyCopter

git checkout -b MyCopter Copter-3.6.7

3.3 更新子模块

git submodule update --init --recursive

四、编译飞控源码

以下命令在Cygwin64终端下执行。

4.1 配置飞控类型

查看所有支持的飞控类型

./waf list_boards

4.2 选择飞控类型

./waf configure --board fmuv3

4.3 选择机型

如果是编译多旋翼固件,运行下面的命令 
./waf copter
 
如果是编译常规固定翼固件或者垂直起降固定翼固件(二者同一个固件)
./waf plane
 
如果是编译直升机固件
./waf heli
 
如果是编译无人车固件
./waf rover
 
如果是编译潜水艇固件
./waf sub

编译完成。路径为./ardupilot/bulid/fmuv3/bin/arducopter.apj
若编译失败,则清除build再重复上面步骤

./waf distclean

五、固件烧写

使用QGC或MissionPlanner地面站选择编译后的固件进行烧写。

;