配置ardusub编译环境,下载ardusub代码

15 篇文章 0 订阅
1 篇文章 0 订阅

1.打开ardupilot官网的编译环境网址

Setting up the Build Environment on Windows 10/11 using WSL1 or WSL2 — Dev documentation (ardupilot.org)

2.wsl设置,官网英文看不懂可以网页翻译为中文

3.在Microsoft store下载wslubuntu18版本,20版本都可以,22版本没试过。

 

注意:初次进入ubuntu要进行账户和密码设置,刚进去要等一会,才会提示设置账户和密码。

4. Ubuntu 说明安装 ArduPilot 开发环境在网络良好的地方进行,否则后面会出现很多问题

点击进去,官网有三行代码,复制在ubuntu中输入

  • sudo apt-get update
  • sudo apt-get install git
  • sudo apt-get install gitk git-gui

5.进行git克隆,或者使用清华镜像源

复制一下代码,在ubuntu进行输入。

官方网站GitHub - ArduPilot/ardupilot: ArduPlane, ArduCopter, ArduRover, ArduSub source

注意这里下载的是master版本,我们需要的版本要进行标签的更改

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

cd ardupilot

git submodule update --init -recursive

如果需要稳定版本的固件代码还需要添加新分支

git fetch --tags
git checkout ArduSub-stable -b new-branch
git submodule update --init --recursive

6.环境

Tools/environment_install/install-prereqs-ubuntu.sh -y   安装需要的包,会安装好多。试着运行命令,看能不能运行。这条命令会自动把所有的包安装完。如果运行不了,试着以下解决方法:可能默认这个ubuntu.Sh文件是没有运行权限的,网上搜一下给这个文件运行权限。或者自己搜一下解决办法,网上很多。最后实在不行,就只能打开这个ubuntu.sh文件,看里面的代码,手动把里面的包一个个安装了。

配置环境3-------安装一些必需的包_+ pip2 -q install --user -u future lxml pymavlink -CSDN博客权限教程网址。

7. 交叉编译链

下载,输入一下代码

wget https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2

这里可能出现各种问题,版本好不符等,我在下面提供一个老版本的,如果要替换老版本的,就用下面网址,上面的是最新的版本,我下面会说,如何组合上面的代码。

老版本代码:

wget https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q3-update/+download/gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2

如何获取代码进行组合:

下载 |GNU Arm Embedded Toolchain 下载 – Arm Developer

上面是官网,有各种资源包,下载Linux x86_64 Tarball类型的资源包,

鼠标放在要下载的资源包上,点击鼠标右键,在新窗口打开链接,不用下载,组合代码在ubuntu上进行下载,点进去会知道下载网址,以供ubuntu进行访问下载。

如下网址:按照红色标注进行复制组合代码,前面加上wget ,(有空格),截取到bz2。

-https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2?rev=78196d3461ba4c9089a67b5f33edf82a&hash=5631ACEF1F8F237389F14B41566964EC

组合好代码进行复制到ubuntu上。

8.去旧迎新

①输入代码:pushd .

②输入代码:sudo apt-get remove gcc-arm-none-eabi

用来卸载新版的gcc-arm-none-eabi

③输入代码:tar -jxf gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2

用来安装下载好的gcc-arm-none-eabi,不同版本的需要自己进行代码组合。

④输入代码:sudo mv gcc-arm-none-eabi-10.3-2021.10 /opt

注意空格。

⑤输入代码:exportline="export PATH=/opt/gcc-arm-none-eabi-10.3-2021.10/bin:\$PATH"

if grep -Fxq "$exportline" ~/.profile; then echo nothing to do ; else echo $exportline >> ~/.profile; fi

注意不同版本要进行代码组合。

⑥# => 使路径生效

. ~/.profile

popd

可以输入:arm-none-eabi-gcc --version查看版本是否成功。

9. 最后试着编译一下

./waf configure --board fmuv3

./waf sub

以上就是编译成功,即编译环境成功。

附加问题解决方案:

Ubuntu 64位系统,而上述arm-none-eabi是直接下载的编译好的32位,还需要安装一个东西

sudo apt-get install lsb-core

可以检查arm-none-eabi 4.9是否安装成功,输入以下指令:

arm-none-eabi-gcc --version

就是这部分。其中sudo apt-get install lsb-core这一步安装的包,不一定好用,不能用就自己搜一下,安装一个包。就是输入了arm-none-eabi-gcc --version这条指令,应该会显示一个包的版本号,显示就是成功了,不显示就是没成功。

不行就安装一下 libc6-i386系列包,网上搜一下。

另外官网有推荐下载用于更快构建的 ccache,推荐安装

cd /usr/lib/ccache

sudo ln -s /usr/bin/ccache arm-none-eabi-g++

sudo ln -s /usr/bin/ccache arm-none-eabi-gcc

可以加快编译环境。
指定编译器python3.6

./waf configure --board fmuv3

/usr/bin/python3.6 ./waf sub

固件文件将在ardupilot/build/Pixhawk1/bin/ardusub.apj

apt-get install lsb-core

可以检查arm-none-eabi 4.9是否安装成功,输入以下指令:

arm-none-eabi-gcc --version

就是这部分。其中sudo apt-get install lsb-core这一步安装的包,不一定好用,不能用就自己搜一下,安装一个包。就是输入了arm-none-eabi-gcc --version这条指令,应该会显示一个包的版本号,显示就是成功了,不显示就是没成功。

不行就安装一下 libc6-i386系列包,网上搜一下。

另外官网有推荐下载用于更快构建的 ccache,推荐安装

cd /usr/lib/ccache

sudo ln -s /usr/bin/ccache arm-none-eabi-g++

sudo ln -s /usr/bin/ccache arm-none-eabi-gcc

可以加快编译环境。
指定编译器python3.6

./waf configure --board fmuv3

/usr/bin/python3.6 ./waf sub

固件文件将在ardupilot/build/Pixhawk1/bin/ardusub.apj

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仗剑走代码

“您的支持是我创作的动力”

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值