由来:硬件pixhawk2.48,固件px4 1.14.0,解锁时QGC 提示 Fail: No CPU load information,通过查找资料,可以通过SYS_BL_UPDATE设置为1后升级固件解决。此方法相当于将bootload版本升级了。
完成上述操作后,出现新问题飞控呼吸灯一直闪红灯,且尝试各种校准无法解决。
于是悲催的只能重新刷px4fmuv2 bootloader固件了,所以这篇文章出现了。
ps:硬件pixhawk2.48,固件px41.14.0,解锁时QGC 提示 **Fail: No CPU load ,更简单的解决方法:
1.将px4 固件降到1.13.0以下;
2.更暴力一点的解决方式可以将参数COM_CPU_MAX 设置为-1,解锁是不自检该项。
一、bootloader固件编译
pixhawk开源固件地址:https://github.com/PX4/PX4-Bootloader,clone下来后编译,如下:
git clone https://github.com/PX4/PX4-Bootloader.git
git submodule sync --recursive
git submodule update --init --recursive
make
可能出现错误:/usr/bin/env: “python”: 没有那个文件或目录。
由于编译环境ubuntu20.04 默认安装的是python3.8,故只需创建软链接
#找Python3.8位置
whereis python3.8
#配置软连接
cd /usr/bin
ln -s /usr/bin/python3.8 python
编译完成后如下
其中:pixhawk的fmu对应的是:px4fmuv2_bl.bin;io对应的是:px4io_bl.bin
当然了为了方便这里提供编译好的bootloader。
https://download.csdn.net/download/u010196944/88557542
二、固件烧写
pixhawk固件烧写分为两个部分,fmu板和IO板,对应的bootloader固件分别为px4fmuv2_bl.bin
和px4io_bl.bin。接下来就是拆飞控,找到fmu板和IO板的烧录接口。
拆开上盖板的飞控如下:
pixhawk FMU/IO板引脚定义:
有了bootloader固件和FMU/IO板引脚定义,接下来就是焊线烧录了。使用Jlink或者STlink都行,关于Jlink或者STlink如何烧写就不介绍了,这个大家都知道吧。
上一张焊接后连接Jlink的丑图。
参考
1.https://docs.px4.io/main/en/advanced_config/bootloader_update.html#fmuv2-bootloader-update
2.http://blog.csdn.net/q7727765/article/details/69054452