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的两个跳线帽)和驱动是否正常。