记录安装以及编译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. QNX Hypervisor管理程序
  2. BCH期货要来了?这家公司想让BCH成为第二大加密货币
  3. FreeMarker教程
  4. 深入MySQL存储引擎分析锁和排序的原理
  5. 当心XML文件中的非法字符
  6. 关于Windows azure从github上部署项目
  7. junit.framework.AssertionFailedError: No tests found in错误解决办法
  8. Linux上zk节点在哪存着,Kafka在Zookeeper上的节点信息和查看方式
  9. 终于有人把云计算、大数据和人工智能讲明白了! (2)
  10. i8一点通无盘解决方案
  11. ffmpeg转码参数
  12. 深度学习:摩尔纹识别(翻拍检测)
  13. Mp3帧分析(数据帧)
  14. 1 Framework inner error (expect END descriptor with depth 1 but get another
  15. Boost电路SX1308单电源转双电源输出低成本Sepic+Cuk方案
  16. 风火编程--opencv使用记事
  17. Python算法之旅元组的风暴之最长上升子序列
  18. 小米开机the system has been destroyed
  19. 传说中的AutoCAD公司 - 欧特克(Autodesk)招聘开发顾问-上海或北京
  20. 腾达无线网卡驱动linux,在Ubuntu上安装腾达W541U V2.0 (RT2070)无线网卡驱动【使用2011新驱动】...

热门文章

  1. Vue的新型前端构建工具Vite怎么用
  2. cpu 中控制单元执行的任务分析
  3. Android Studio Banner轮播图
  4. php泥浆配比 氢氧化钠,采用PHP泥浆提高大直径钻孔桩施工速度研究
  5. 背包问题【01 完全 多重】
  6. JavaScript类型转换之显式类型转换
  7. Haskell的monad和范畴论的探讨
  8. Protobuf 中的 timestamp 与 Go time 的转换
  9. 华为手机 roomba_如何安排Wi-Fi连接的Roomba进行日常清洁工作
  10. 便宜实用触控笔有哪些?触控笔品牌排行榜