win11 WSL2 vscode 编译 ardupilot 的一些事项
·
网上关于ardupilot 的教程不少已经太老了,这里写一下自己开发时的一些记录
win11 下 做一个WSL环境,可以直接在终端中敲一行命令即可
wsl --install Ubuntu-26.04
执行下面命令 把 Ubuntu 的文件环境映射为Z盘
net use Z: \\wsl.localhost\Ubuntu-26.04
之后用vscode 安装相关的WSL插件,在虚拟环境中打开 wsl的home目录,然后就能在新建的终端敲linux命令了


接下来是git克隆源文件,
克隆主代码,因防火墙的原因可能要重试多次
git clone https://github.com/ArduPilot/ardupilot.git
进入到代码目录
cd ardupilot
更新子模块
git submodule update --init --recursive
安装ArduPilot编译依赖
Tools/environment_install/install-prereqs-ubuntu.sh -y
. ~/.profile
执行./waf 配置和编译 这个fmuv3是px4 2.4.8的硬件
./waf configure --board fmuv
执行编译
./waf copter
如果遇到缺少的python或者其他库 可以按照提示进行安装 但是以下两个需要加上 --break-system-packages, 不然会提示必须创建虚拟环境才能行,我想简单点 不想创建虚拟环境
python3 -m pip install --break-system-packages empy==3.3.4
python3 -m pip install pexpect --break-system-packages
编译成功后的截图
编译的最终产物有三个 一个是
可以升级的build/fmuv3/bin/antennatracker.apj, 不带后缀的应该是elf文件,bin文件是可以直接下载的文件,注意该地址为0x8004000; 如果不小心从0开始下载到芯片,那么需从新下载 Tools/bootloaders/fmuv3_bl.hex到芯片;
下载的接口 控制器并没有引到外面,所以需要你手工焊线引出来(来源 https://blog.csdn.net/kirioo/article/details/139021435)


关于下载bin文件可以使用
,但是作为开发者,频繁的烧写最方便的还是用命令行;我更习惯用adplink来调试和烧录,已经习惯用probe-rs,这里可以配置一个脚本,注意 该脚本运行在 win11下 
至此就可以烧录固件了;官方的固件运行几秒后就会禁用掉SWIO的下载,为了调试方便,可以做如下修改

更多推荐
所有评论(0)