对于自己制作的飞控板,通过USB连接电脑之后,开始电脑是无法检测到飞控板的端口存在的。检测不到端口,就不能用控制台给飞控板烧写固件,就不能用QGroundControl,就不能进行传感器的校正,就不能设置遥控器,就毛都干不了。
因此需要先进行两个芯片的Bootloader烧录。
以飞控板上的STM32F427VIT6主控芯片为例,使用STLink2 以及配套的ST-Link-Utility 软件进行BootLoader烧写的步骤如下:
连线
飞控板上预留了芯片的JTAG接口,使用JST_SUR_H6封装,由于SWD模式比JTAG在高速模式下面更加可靠。在数据量大的情况下JTAG下载程序会失败,但是SWD模式出现问题的几率会小很多,并且采用SWD模式仅使用两条线即可进行调试,因此这里选择使用SWD模式进行连线。将SWCLK、SWDIO、VCC、GND四根线一一对应连接即可,烧录时飞控板需要单独使用USB供电,最终接线情况如图。BootLoader烧录
使用ST-Link Utility软件进行烧录,上电后先点击菜单栏Target下的Connect将飞控板连入软件,将px4fmu-v2_bl.bin文件拖入到软件界面内,擦除(Erase)芯片上原有数据后点击验证程序(Programe Verify)即可完成主芯片的BootLoader烧写。上图所示即为成功效果。对于STM32F100C8T6B故障协处理器芯片的BootLoader烧录与STM32F427芯片方法相同,但需要先用ST-Link2连接STM32F1的JTAG接口并选择px4io_bl.bin文件。
完成主控芯片STM32F427与故障协处理器STM32F100的BootLoader的烧录之后,将飞控通过USB连接到电脑就可以在端口中看到相应的接口了,显示为”PX4 FMU”。
开心了吧。~~~
BootLoader是自己从github上clone然后编译的,笔者烧录的是fmu-v2版本的BootLoader,使用其他飞控板的各取所需。能人异士按需更改想必也是阔以的。
看这里就欧克了。