用STM32Discovery开发板 刷Pixhawk飞控Bootloader

更新时间:2024-05-10 08:22:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

pixhawk教程-用STM32Discovery开发板 刷Pixhawk飞控Bootloader

一直想玩PX4和Pixhawk,但是手头又没有飞控的板子,3DR官网上卖的好贵。不过好在万能的淘宝上有网友山寨版,大概价格四百多吧,这个价格还是蛮合理的,PX4的飞控板是四层板,电源什么的器件用料够足…后来跟朋友一起做了一版改进的,也是四层板,不过板子还没打出来。

如果是买的PX4的板子第一件事肯定是连接上位机更新固件啦,不过我们是自己做,一开始单片机没有固件和bootloader,连接pc是没有任何反应的,一定要先刷bootloader,这个bootloader 就是关于单片机启动方式等的一些配置。偶然间发现官方WIKI上居然有STM32F4 discovery开发板刷PX4 Bootloader的教程。按照教程搞发现他提供链接的toochain0.7版本早就不在了,经过我的摸索,终于配置好了所有需要的代码和编译环境。如果你有以下这块板子,那么你也可以试着刷一下px4的bootloader跑一下NUTTX的系统。查看原教程的地址

需要的硬件需要准备一下的东西来运行并且将Discovery开发板通过串口连接PC操作NuttX的终端 :

? ? ? ?

STM32F4DISCOVERY开发板

Mini USB数据线一根(接在左侧连接STLink) Micro USB数据线一根 (接在右侧连接单片机USB )

一个串口ttl转232电平的模块,用于连接单片机的串口到windows串口助手(我直接用无线串口数传模块)

注意: 单片机串口电压是3.3v而电脑串口电压是( -12V to +12V) 直接连接电脑估计就冒烟了…恩

需要的软件

需要下载以下的软件工具:

?

ST-LINK/V2 USB driver (Windows XP, Vista, and 7) OR ST-LINK/V2 USB driver (Windows 8)

? ?

STM32 ST-LINK utility PX4 Toolchain Installer v0.6

(官方这个连接失效了!这么重要的东西…估计以前的代码是苏黎世理工搞的现在域名迁移到pixhawk.org之后没人维护过来,没关系我们下载其他版本的然后再下载对应代码折腾一下 下载这个吧PX4 Toolchain Installer v13 for Windows Download 这个其实就是windows toolchain)

? PX4FMU & PX4FLOW drivers (wait until after the PX4 bootloader has been flashed to install this)

? ? ?

下面这四个是我加的,免去GitHub克隆 Bootloader文件夹

Firmware文件夹(注意这个不是px4的代码,而是另一个分支

https://github.com/px4/firmware/tree/discovery,然后再下载一份Nuttx源码放进Firmware,我分享这份已经弄好了)

把以上的东西都安装好,进入PX4 Toolchain Installer安装后的文件夹,默认路径应该是C:\\px4(我安装到了C:\\px4\\ToolChain\\px4,后文都是这个路径下操作)在这个路径下找到px4_console

运行后的

px4_console: 因

为官方的ToolChain0.7不好用,所以接下来我们要配置这些源码,把下载下来的以下三个文件夹拷

贝进C:\\px4\\ToolChain\\px4

进入Firmware后执行make archives指令,然后估计要等几分钟了,如图:

进入libopencm3文件夹执行make lib

进入Bootloader文件夹执行make

我们已经可以看到可以刷进单片机的bin,后面就是使用刚才下载的ST官方工具通过板子上的ST-Link把bootloader程序刷进去,用miniUSB线把板子连上电脑可以在设备管理器里看到:

运行ST-LINK Utility工具,在开始菜单中找到STMicroelectronics点击

Target?Connect() Discovery板将会连接,并且显示起始地址是0x08000000. 如果没有正常连接检查一下接线(STLink的两个跳线帽)和驱动是否正常。

? ?

把芯片擦除. 点击Target?Erase Chip.

擦除芯片之后, 就该刷 PX4 bootloader了. 点击 Target?Program & Verify然后在编译好的路径中找到Bootloader的bin文件“px4discovery_bl.bin”. 默认情况下应该在刚才的

Bootloader文件夹里.选好路径点

击 Start.

?

当完成上面这一步之后你会看到紧挨着STM32F407的橘黄色LED开始闪烁如果没有的话,点击一下黑色的复位键 。现在你可以点击Target?Disconnect断开连接然后关闭 STM32 ST-LINK Utility.

? 现在你可以插上microUSB的线(miniUSB线不能断,用来供电).打开设备管理器找到一个没有正确安装驱动的设备. 如果你已经正确安装了 PX4FMU & PX4FLOW drivers这里会直接显示是 PX4 FMU COM port

刷PX4 固件

刚才Bootloader刷完了,该刷固件了。

? ?

通过 MiniUSB线连接板子,断开microUSB

打开刚才的PX4 Console 然后进入Firmware目录 cd Firmware.输入make px4-stm32f4discovery_default upload. 需要等一小会

?

当 upload build完成之后 ,程序会查找PX4 FMU串口COM ports.现在插上microUSB线。 upload 进程会识别板子并且开始刷新固件

这里我遇到了一个错误,好像是字符格式引起的,不过追踪到那行发现是句回显语句,果断注释掉就OK了!

本文来源:https://www.bwwdw.com/article/3vrg.html

Top