问题重述

当我们用FMT开源飞控FMT飞控烧录程序后,再次连接地面站,即Qgroundcontrol时,地面站无法连接pixhawk2飞控。

解决办法

总体思路是重新给飞控烧录bootloader,然后再次给pixhawk2烧录FMT开源飞控程序。

px4_bootloader下载bootloader源程序。然后进入到PX4-Bootloader目录。

在这里插入图片描述
在目录内依次执行下面指令

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

编译结果如下:
在这里插入图片描述
我们需要px4fmuv2_bl和px4io_bl这两个bootloader固件。

note:若提示gcc-arm-none-eabi not found,可在ARM developer下载其中版本的gcc-arm-none-eabi。
我下载的是gcc-arm-none-eabi-7-2018-q2-update
安装好后,打开.bashrc

gedit ~/.bashrc

在最后面添加

export PATH=$PATH:~/gcc-arm-none-eabi-7-2018-q2-update/bin

note:上面的安装地址要根据自己的安装路径来修改。
在这里插入图片描述

拆开pixhawk2飞控硬件。这里引用一下别人的图

在这里插入图片描述
下图中,中间部分是FMU,即STM32F4的ST LINK口,右边是STM32F1的ST LINK口。
在这里插入图片描述
pixhawk2的ST LINK引脚如下图所示。
在这里插入图片描述
ST LINK下载器如下:

在这里插入图片描述
在硬件接线上,参考如下顺序接线

ST LINK引脚 PIXHAWK2引脚
SWCLK 2脚 SWCLK 4脚
SWDIO 4脚 SWDIO 2脚
3.3V 8脚 VCC 1脚

STM32 ST-LINK utility往pixhawk2烧录bootloader。

在下面图片搜索ST-LINK utility
在这里插入图片描述
得到下面结果,然后下载下来,并在window系统安装。
在这里插入图片描述
STM32 ST-LINK utility安装好后,打开它。并按照下面步骤操作:

  • 打开STM32 ST-LINK utility,Target->Settings,在Connect setting那里选择SWD模式。
  • 把pixhawk的FMU板的JTAG和st-link的VCC,SWDIO,SWCLK, GND分别对应接上(如果是烧写IO板则连IO板的JTAG)。
  • 把px4fmuv2_bl.bin固件拖进去STM32 ST-LINK utility界面(如果烧写的是IO板则拖px4io_bl.bin)。
  • Target-Connect,然后Target-Erase Chip,然后Target-Program,按start。等待数秒后即可烧写完成。

结语

恭喜你,往pixhawk2烧录bootloader成功,现在你可以往pixhawk2里烧录fmt开源飞控程序了,祝你玩的愉快!!!

Logo

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

更多推荐