记录安装以及编译Ardupilot飞控软件一些的问题
总结:问题主要来源于github翻墙不便,以及win10自带Ubuntu引起的交叉编译,
下述1,2,3,4是遇到的问题以及解决,通过步骤5可使用gitee迅速重新搭建环境
bug汇总:编译文件环境不完整/交叉编译版本/官网步骤遗漏/文件内容下被加密了

1. 编译apj固件坑一:使用指令查看版本:arm-none-eabi-gcc --version,需要下载指定版本,确定为指定6.3.1版本,不能直接下载
下载地址:wget https://firmware.ardupilot.org/Tools/STM32-tools/gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2
安装说明:https://ardupilot.org/dev/docs/building-setup-linux.html#building-setup-linux
cd /opt
sudo tar -xjvf gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2
vi /home/zhangb/.bashrc
添加到末尾:export PATH=$PATH:/opt/gcc-arm-none-eabi-6-2017-q2-update/bin
重启界面,查看版本,如下图所示

2. 编译apj固件坑二: -> task in ‘objs/AP_GPS’ failed (exit status 1):

2.1先尝试删除build目录,重新执行编译
rm -rf build/
sudo Tools/scripts/install-prereqs-ubuntu.sh -y
./waf distclean configure build --verbose --jobs 1
先略过此步骤:./waf configure --board Pixhawk1
./waf copter
2.2.找到打印具体错误日志语句:
./waf distclean configure build --verbose --jobs 1

2.3.根据打印日志找到对应135报错行,然后发现报错为成员函数mktime()不存在于rtc(),而mktime属于“time.h”头文件,可直接使用。索性屏蔽AP::rtc().,再次编译,编译ok

2.4.编译完成
3. 编译apj固件坑三:lib/libArduCopter_libs.a: file not recognized: File format not recognized

可能是ubuntu18.04下是64位编译,需要使用32位,后面再次定位问题:编译环境为x86和运行环境是arm,尽管我按照了交叉编译工具,还是出了问题,https://bbs.csdn.net/topics/390145467

问题极有可能出在g++b编译这里,尝试替换为合适编译指令,后面5解决此问题

4. 编译指令: ./waf distclean configure build --verbose --jobs 1 ,错误反馈为:缺少future模块
ImportError: No module named future
解决办法:先换源,更新,
换源地址:https://zhuanlan.zhihu.com/p/61228593
再重新执行sudo Tools/scripts/install-prereqs-ubuntu.sh -y
里面会安装future模块,不换源会连接失败,建议使用清华源

5.最终解决问题3,成功编译出apj固件
问题原因主要有两个:
1是github需要翻墙,更新模块资源不全;
2是win10自带的Ubuntu有bug,会报上述问题3,但是切换到虚拟机,使用官网的iso,则不会;
遂使用国内的gitee进行环境搭建,轻松加愉快,十来分钟搞定!
./waf configure --board Pixhawk1
./waf copter
参考地址如下: https://blog.csdn.net/msq19895070/article/details/105787685

完成编译后对Ardupilot软件分析及代码架构
https://blog.csdn.net/zhangb98/article/details/118541777

(一)编译Ardupilot得到apj固件-bug汇总-2021-07相关推荐

  1. ArduPilot飞控AOCODARC-H7DUAL固件编译

    ArduPilot飞控AOCODARC-H743DUAL固件编译 1. 编译目标(AOCODARC-H743DUAL) 2. 硬件支持包(APM-AOCODARC-H743DUAL) 3. 编译步骤 ...

  2. bug汇总——golang遇到的小问题

    bug汇总--golang遇到的小问题 dial tcp: lookup proxy.golang.org: no such host 换一个国内能访问的代理地址:https://goproxy.cn ...

  3. web3.js使用bug汇总及解决方法

    web3.js使用过程中各类bug汇总:More than one instance of bitcore-lib found;BigNumber Error;gasLimit无法解析而报错;js合约 ...

  4. iOS16 系统bug汇总,续航发热情况,各机型升级建议

    昨天苹果发布了iOS16首个测试版,今天和大家聊聊使用感受,已知bug汇总 以及 升级建议,作为小伙伴们升级iOS16的一个参考 需要说明的是,这是 iOS16 的首个开发者测试版,所谓测试版,就是苹 ...

  5. stm32mp157a-dk1 编译 Ubuntu 20.04固件

    文章目录 前言 流程 开机 探索 dmesg 参考 前言 前几篇用Buidroot搞的都是近乎纯净版的系统, 开机极快(~5s), 根文件系统占用极小(<10M), 纯净就意味着功能少, 很多东 ...

  6. 编译K2P的LEDE固件

    编译K2P的LEDE固件 LEDE固件为L大修改的OpenWRT固件 注: 不要用 root 用户进行编译!!! 国内用户编译前最好准备好梯子 默认登陆IP 192.168.1.1 密码 passwo ...

  7. 惠普企业:自今年10月起,固件 bug 将导致某些 SSD 不可用

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 上周,惠普企业 (HPE) 发布安全公告警告客户称,某些 SAS SSDs的固件中存在一个 bug,可导致SSDs在达到4万小时运营寿 ...

  8. 海思3159A运行yolov3(一)——安装caffe(Bug汇总篇)

    全程安装caffe真是狗哦!各种报错... 这里的环境是Ubuntu16.04+CUDA10.1+cudnn7.5,相关环境搭建可以参考我之前的文章,这里主要讲caffe的安装. 一.下载caffe ...

  9. 为树莓派3B+编译 64位UEFI 固件

    树莓派(RaspBerry) 是基于Arm架构的单板机,凭借着低廉的价格,丰富的社区资源风靡全球. 在Iot 大行其道的今天,微软也在树莓派上面开发了windows iot 的操作系统.为支持Wind ...

最新文章

  1. Java发送邮件工具类(可发送匿名邮件)
  2. Hadoop集群的基本操作(四:Hive的基本操作)
  3. SpringBoot 部署 Jar 文件,瘦身优化指南 !
  4. 180615-精度计算BigDecimal
  5. [学习笔记]最小圆覆盖
  6. 新手指南:X5Cloud云端应用安装步骤(有图有说明)
  7. pyqt5设置按钮,移上去变为手型
  8. Grunt的配置及使用(压缩合并js/css)
  9. Java接口和Java抽象类(转,原文已被删除)
  10. mysql sqlite 语法_浅谈sqlite与mysql的数据库语法差异_沃航科技
  11. Python文本分析 jieba
  12. 余子式和余子式 伴随矩阵定义 性质 二阶矩阵求伴随矩阵 伴随矩阵理解(列排)
  13. 李标明新书《生命的觉醒》发布
  14. android项目修改名字(app名称),运行在移动设备和模拟器上的项目名字
  15. 齐岳提供的双核金属铱配合物黏度探针C10((df-ppy)2Ir(bpy)(CH2)10(bpy)Ir(btph)22+)-
  16. tekton入门 - 起步
  17. 自定义Paging分页
  18. 商品打折程序 java_Java 为超市打折水果编写一个购物程序
  19. Android使用RtmpDump进行RTMP推流介绍
  20. 如何将Dicom系列转换为一个Nifti文件(Python)

热门文章

  1. [51nod] 猴猴吃苹果 {dfs}
  2. Vue3新特性和使用方法系统总结
  3. 关于java语言的发展前景
  4. svg的简介-svg转png的坑
  5. 计算机系统内存不足怎么解决,如何解决电脑提示系统内存不足
  6. 商务直播需要解决的难题有哪些
  7. MATLAB - 散度可视化
  8. TCP和UDP的区别及优缺点
  9. 使用F12调调伤眼睛的网页背景色
  10. 请查询某一科目分数大于85分的所有学生的名单