前两天玩坏了一个飞控的IO芯片,具体表现为上电后红灯一直闪或常亮,有以下解决办法:

FMU给IO刷写

先断电,按住安全开关,上电不要松手,蜂鸣器会嘟嘟嘟响,灯会闪红色,这个时候FMU就在给IO写入固件

重新烧写BootLoader

可以参考这篇PX4_Bootloader编译,针对pixhawk4做一些补充。
FMU能给IO刷写的前提是,其中的BootLoader部分没有损坏,如果这部分都不幸坏掉了,FMU就无能为力,需要我们先自己修复一下BootLoader部分。

下面这张图就展示了直接从飞控两个芯片上引出的调试管脚,使用了SH1.0mm的6PIN接头,其中IO就是辅助芯片,FMU为主芯片,我们平常烧录固件都是给FMU烧录,一般不会碰IO部分。
在这里插入图片描述
这是拆开后的样子,对应的芯片位置
在这里插入图片描述
观察上面的调试口,SWDIO和SWCLK都是标准的SW烧录接口,所以结合st-llink就可以烧写固件。

首先从github上面

git clone http://github.com/PX4/Bootloader.git

然后同步子模块

git submodule init
git submodule update

之后make进行编译
在这里插入图片描述
然后就会在build目录下生成一系列的所需文件,我们要的就是这个px4io_bl.bin
在这里插入图片描述
将其拷贝到Windows下,用stlink和飞控的IO芯片连接好,st-link管脚如图,只用CLK,IO,GND
在这里插入图片描述

打开st-link utility, connect
在这里插入图片描述
选择烧录即可
在这里插入图片描述然后就可以用第一种方法,烧入程序了

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐