Ardupilot开源飞控工程项目编译回顾

devtools/2024/9/18 12:40:42/ 标签: 开源, ardupilot

Ardupilot开源飞控工程项目编译回顾

  • 1. 源由
  • 2. 工程编译
  • 3. 命令列表
    • 3.1 工作环境设置
    • 3.2 获取工程代码
    • 3.3 建立编译环境
    • 3.4 编译工程代码
    • 3.5 保存编译结果
    • 3.6 清理编译结果
    • 3.7 编译设备目标
  • 4. 补充

1. 源由

最近,有点莫名的连续遇到了2次Ardupilot编译报错。百思不得其解,特地记录下,以便后续不要犯类似的毛病。

问题/现象这里不重复了,请看链接: Build error compiling 4.5.1 Copter with F405 (4.4.x) target #26785

2. 工程编译

正常工作编译,大家可以参考:

  • 【1】ArduPilot飞控AOCODARC-H7DUAL固件编译

好处:中文
坏处:无法与官方项目同步

  • 【2】ArduPilot - Building the code

好处:最新同步文档
坏处:英语不习惯的人,。。。。不多说,反正永远也不会习惯。。。。

3. 命令列表

这里罗列一些日常常用的工程编译命令。

3.1 工作环境设置

  1. git代理设置
$ git config --global "url.ssh://git@ssh.github.com:443/.insteadOf" git@github.com:
$ git config --global http.proxy http://192.168.1.9:808
$ git config --global https.proxy http://192.168.1.9:808
  1. http/https代理设置
$ export https_proxy=http://192.168.1.9:808/
$ export http_proxy=http://192.168.1.9:808/

3.2 获取工程代码

通常git协议容易获取代码,https不是很方便,而且开发角度使用git会更好。

$ git clone git@github.com:ArduPilot/ardupilot.git

3.3 建立编译环境

$ cd ardupilot
$ ./Tools/environment_install/install-prereqs-ubuntu.sh -y

3.4 编译工程代码

$ cd ardupilot
$ ./Tools/gittools/submodule-sync.sh
$ ./Tools/scripts/build_bootloaders.py Aocoda-RC-H743Dual
$ ./waf configure --board Aocoda-RC-H743Dual
$ ./waf copter

3.5 保存编译结果

$ cd ardupilot
$ cd build
$ rm -rf ArduCopter lib libraries modules .dep .wafpickle-linux*
$ zip -r Aocoda-RC-H743Dua.zip Aocoda-RC-H743Dual

3.6 清理编译结果

$ ./waf clean

3.7 编译设备目标

$ ./waf copter  //多旋翼
$ ./waf heli  //直升机
$ ./waf antennatracker  //跟踪天线
$ ./waf blimp  //飞艇
$ ./waf plane  //固定翼
$ ./waf rover  //车
$ ./waf sub   //潜水艇

4. 补充

暂时,先到这里,如果有其他想法的朋友,可以评论区告诉我。


http://www.ppmy.cn/devtools/41299.html

相关文章

一篇详解Git版本控制工具

华子目录 版本控制集中化版本控制分布式版本控制 Git简史Git工作机制Git和代码托管中心局域网互联网 Git安装基础配置git的--local,--global,--system的区别 创建仓库方式1git init方式2git clone git网址 工作区,暂存区,本地仓库…

人工神经网络(科普)

人工神经网络(Artificial Neural Network,即ANN ),是20世纪80 年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象, 建立某种简单模型,按不同的连接方式组成不同的网络。在工程…

1. C++入门:命名空间及输入输出

C相比C的变化 兼容C面向对象泛型C的不足的弥补 为什么要有命名空间 在C/C中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地…

MYSQL DBA运维实战 SQL2

1.DML:通过SQL语句中的DML语言来实现数据的操作。 insert实现数据的插入。 update实现数据的更新。delete实现数据的删除。 插入,完全插入insert into 表名 values(值) 非完全插入:insert into 表名(列名,列名) values(值) 更新&#xff0…

wifi无线使用adb

要通过Wi-Fi使用ADB连接安卓设备,可以遵循以下步骤进行操作: 通过USB连接设备: 首先,确保你的安卓设备通过USB数据线连接到电脑,并开启USB调试模式。你可以通过进入手机的设置 -> 开发者选项来启用USB调试。 切换…

【MySQL基本查询(下)】

文章目录 一、update案例 二、Delete案例注意:delete 全表数据的行为慎用!truncate 三、插入查询结果案例 四、了解一些函数1.count函数2.sum函数3. avg函数4.max函数5. min函数 五、group by子句的使用案例having和where 一、update 该关键字的功能就是…

基于springboot+mybatis+vue的项目实战之增删改查CRUD

目录结构 页面的效果大致如下: PeotController.java package com.example.controller;import com.example.pojo.Peot; import com.example.pojo.Result; import com.example.service.PeotService; import org.springframework.beans.factory.annotation.Autowired;…

开源相机管理库Aravis例程学习(七)——chunk-parser

开源相机管理库Aravis例程学习(七)——chunk-parser 简介例程代码函数说明arv_camera_create_chunk_parserarv_camera_set_chunksarv_chunk_parser_get_integer_value 简介 本文针对官方例程中的:05-chunk-parser做简单的讲解。并介绍其中调…

el-checkbox选中后的值为id,组件显示为label中文

直接上代码 方法一 <el-checkbox v-for"item in list" :key"item.id" :label"item.id">{{中文}} </el-checkbox> 方法二 <el-checkbox-group class"flex_check" v-model"rkStatusList" v-for"item…

独享静态IP:跨境网络新助手

在数字化浪潮席卷全球的今天&#xff0c;互联网已成为人们生活中不可或缺的一部分。而在这个由数据和信息构成的虚拟世界里&#xff0c;IP地址作为每一个网络设备的独特标识&#xff0c;其重要性不言而喻。特别是独享静态IP&#xff0c;它不仅为用户提供了更加稳定、安全的网络…

软件3班20240513

java.util.PropertyResourceBundle4554617c package com.yanyu;import java.sql.*; import java.util.ResourceBundle;public class JDBCTest01 {public static void main(String[] args) throws SQLException { // 获取属性配置文件ResourceBundle bundle Res…

tab 滑动小案例

效果&#xff1a; 代码&#xff1a; <template><view class"content"><view class"tab"><view v-for"(item,index) in dataList" :key"index" class"tab_item" click"slideTab(index)">…

网络基础(一)

网络基础<一> 计算机网络背景网络发展认识协议 网络的位置网络协议初始协议分层OSI七层模型TCP/IP五层(或四层)模型 网络传输基本流程同局域网的两台主机通信跨网络的两台主机通信 网络中的地址管理认识IP地址认识MAC地址 计算机网络背景 网络发展 独立模式: 计算机之间…

算法 - hash表 - 2244. 完成所有任务需要的最少轮数 思路题解

2244. 完成所有任务需要的最少轮数 文章目录 [2244. 完成所有任务需要的最少轮数](https://leetcode.cn/problems/minimum-rounds-to-complete-all-tasks/description/)说明题解思路hash表 Codehash表 说明 给你一个下标从 0 开始的整数数组 tasks &#xff0c;其中 tasks[i] …

SpringBoot 中检测文件编码格式

SpringBoot 中检测文件编码格式 引入相关依赖 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.6</version> </dependency> <dependency> <groupId…

Docker 容器中 PHP 使用 Curl 访问本地服务异常

在 Docker 环境中&#xff0c;将应用程序和服务容器化是常见的做法&#xff0c;但是有时会遇到一些网络通信方面的问题。其中一个常见的问题是 PHP 容器无法使用 Curl 访问本地服务&#xff0c;这可能导致开发和调试过程中的困扰。 问题描述 通常情况下&#xff0c;我们会将 …

xhell + privoxy 手动http代理设置

xshell7 SSH -> 隧道 -> 添加 -> 类型:Dynamic(SOCKS4/5) 侦听端口:1080 privoxy https://www.privoxy.org/ 下载zip版本 解压到 E:\httpserver\privoxy_3.0.34 config.txt 中 添加 listen-address 0.0.0.0:8118 forward-socks5 / 127.0.0.1:1080 . windows11 …

Linux——MySQL5.7编译安装、RPM安装、yum安装

文章目录 Linux——MySQL5.7编译安装、RPM安装、yum安装一、编译安装二、RPM安装三、yum安装 Linux——MySQL5.7编译安装、RPM安装、yum安装 卸载mysql # 查看是否安装了mysql [rootcsq ~]# rpm -qa |grep mysql mysql-community-server-5.7.36-1.el7.x86_64 mysql-community-c…

Ubuntu24.04安装中文输入法

Ubuntu24.04安装中文输入法 为了更好的体验&#xff0c;请访问个人博客 www.huerpu.cc:7000 一、添加中文语言支持 在安装中文输入法之前&#xff0c;首选要添加中文语言支持。选择System&#xff0c;点击Region & Language。 点击Manage Install Languages。 点击Insta…

java AOP环绕切面记录操作日志

一.创建数据库日志表 CREATE TABLE uc_system_log (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键ID,user_code varchar(64) DEFAULT NULL COMMENT 用户编码,user_name varchar(128) DEFAULT NULL COMMENT 用户名称,is_login tinyint(4) NOT NULL DEFAULT 0 COMMENT 是…