最近在做一个PX4飞控移植的项目,第一次接触到PX4源码,真的是感觉编译起来非常的麻烦,下面我将介绍几个新手比较容易踩坑的点。
(我都踩了ㄒ-ㄒ)
1.PX4源码要用git clone 从github上克隆来,千万不要直接在github中下载压缩包,因为这样下载下来的源码时没有.git文件夹的,.git文件夹在PX4源码编译的过程中是非常重要的,该文件夹是 Git 版本控制系统用来追踪项目更改历史,以及管理和同步代码的文件夹。这个文件夹包含了维护存储库的所有元数据,包括提交历史、分支信息和与远程存储库的交互。
和要在ubuntu中设置好github的访问权限:
ubuntu连接github(新手教学)_ubuntu怎么连接github-CSDN博客
可以参考这篇文章,这位博主写的很全面。
Px4飞控源码克隆,以前老版本的飞控克隆时一般是Firmware,现在是叫PX4-Autopolite
git clone https://github.com/PX4/PX4-Autopilot.git --recursive
如果不好使的话就有几种情况:
(1)本身网络问题
可以使用如下方式克隆:git clone https://gitclone.com/github.com/PX4/PX4-Autopilot.git --recursive(添加了一个git clone.com的镜像网站)
git clone https://gitclone.com/github.com/PX4/PX4-Autopilot.git --recursive
(2)可能是如前面提到的没有设置好github的访问权限已经设置了git镜像网站替换,就是本身我们访问的github.com被换成了其他的
这时我们可以使用一个命令去查看
vim ~/.gitconfig 命令即可查看git当前的配置文件
vim ~/.gitconfig
如果没有vim,输入上面命令会提示安装的,复制粘贴然后安装即可
输入指令会弹出这个,这里主要看url 如果有网址替换的话 url 那里会显示(“目标网址”)insteadof(“替换成的网址”)
想取消的以我遇到了的举例就输入
//去掉镜像网址替换
git config --global --unset url."https://github.com.cnpmjs.org/".insteadOf
2.安装依赖工具链
这个安装工具链的脚本是官方提供的一键安装脚本
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh
3.编译仿真器
make px4_sitl jmavsim
在Px4 autopolite 目录下打开终端
编译成功后会在bulid文件夹中生成一个文件(所有的编译构建都在PX4飞控源码的bulid文件夹中)
6. //编译源码
make px4_fmu-v2_default
7. //添加子模块
git submodule update --init –recursive
这个脚本在px4-autopolite文件夹下的.gitmodules中和.git文件夹的config中
8. 源码中查看git全部版本
git tag
9. //更新至哪个版本
git checkout -b v1.8.2
10.查看当前编译的代码是那个版本
git status
查看当前编译使用的版本
git branch
11.//上传到板子上(官方给的方式)根据自己板子的适配
make px4_fmu-v2_default upload