Pixhawk4 Bootload烧写

文章详细描述了在Pixhawk4无人机飞控遇到电机不转问题后,尝试更换不同PX4固件版本无效,然后通过更新bootloader以解决问题的过程。作者提到使用ST-LINK工具,编译并烧写bootloader源码,最终成功使电机恢复转动。文章提供了编译好的bootload链接以及ST-LINKUtility的下载和使用步骤。
摘要由CSDN通过智能技术生成

事情的起因:

实验室有套无人机,上面的飞控是Pixhawk4,最近有人要用,我去调试的时候发现解锁后电机不转,上电时也没有电机滴滴的声音,一开始怀疑是固件版本的问题,px4版本换了1.13.3、1.12.3、1.11.1都试过了,发现没有一个解锁后电机能够转动。怀疑是bootload的问题,然后查PX4官网,发现QGC就能直接升级bootload,大喜,但是发现更新bootload后解锁后电机还是不转动。同门说这个四代飞控上次烧写FMT之后再烧写pixhawk4就不行了,然后他给我烧写了个FMT固件,解锁后电机呼呼转,这下可以确定起码硬件没有坏了,应该还是bootload的问题。


故障现象

pixhawk4烧写px4固件解锁后电机不转,烧写FMT能够正常使用。


解决方案:

Bootload烧写过程参考这两位前辈的:

Pixhawk遥控器无法检测&bootloader烧写_arctory的博客-CSDN博客

PX4IO刷写BootLoader、固件 PX4IO固件损坏修复_px4烧写bootloader_韬_17的博客-CSDN博客

首先咱得有个ST-LINK,这个我实验室没有,因为上次帮室友调试stm32发现了,白嫖过来,ST-LINK引脚定义如下图所示:

 ST-link引脚图有点胡,将就看吧。然后再看看pixhawk4飞控的引脚图:

 Pixhawk有两套bootload,一个是IO的,一个是FMU的。IO DEBUG PORT就是烧写IO的bootload的,FMU DEBUG PORT就是烧写FMU的bootload的。两者引脚定义大同小异,但是用到的引脚是一样的,分别是VT,SWDIO,SWCLK,GND。然后就是做线了。

一开始我不知道只要做四根线连接就好了,所以全给做了,只要对于接口能够接上就行了,然后就是编译Bootload了。Bootload编译需要在ubuntu,如果不想自己编译,后面会给出我已经编译好的Bootload,实测可以用,Bootload 的github官网:

GitHub - PX4/PX4-Bootloader: PX4 Bootloader for PX4FMU, PX4IO and PX4FLOW

 打开终端,运行下列命令:

git clone https://github.com/PX4/PX4-Bootloader.git

 然后进入下载好的bootload文件夹里,打开终端运行:

git submodule sync --recursive
git submodule update --init --recursive
make

我在编译的时候报了一个错:

px_mkfw.py

px_uploader.py

genlink.py

irq2nvic_h

csv2yaml.py

文件中的

#!/usr/bin/env python

改为:

#!/usr/bin/env python3

就行了。 我是用的vscode,然后在bootload文件夹打开,在左侧搜索栏搜索这个参数修改的。修改后编译成功出现以下界面:

这里提供编译好的bootload:

链接:https://pan.baidu.com/s/1qxoidofmuGVn-U-XNnq9HQ?pwd=3349

提取码:3349

下一步就是烧写了:

Pixhawk4 FMU烧写版本是px4fmuv5_bl,这个我在官网上找到线索了:

Pixhawk 系列 | PX4 自动驾驶用户指南

IO的版本有px4io_bl和px4iov3_bl,这个我不知道咋选,我烧写的px4io_bl是能够用的,

px4iov3_bl没有测试过。首先连接ST-link和Pixhawk4,我这里先烧写的IO再烧写的FMU。

首先连接飞控:

 

 

注意,这一步还是得用usb给飞控供电的,不然识别不到飞控。

然后安装下载STM32 ST-LINK Utility:

参考链接:

ST-LINK Utility安装和使用教程_D之光的博客-CSDN博客

 STM32 ST-LINK Utility下载链接:

链接:https://pan.baidu.com/s/1HmZuld1A8TmhpogzQ0Ue6w?pwd=3349

提取码:3349

一路下一步安装就行,打开后点击连接:

 连接成功会出现一下内容:

 先点击擦除数据:

 然后点击烧录:

 选择烧录文件所在文件夹:

 点击Start开始烧录

 这样bootload就开始烧录了,烧录结束后用同样方法对FMU进行烧录即可。两者烧录完后再用QGC下px4固件解锁电机就能正常转动了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值