本帖最后由 joengchao 于 2023-8-31 15:16 编辑
Betaflight Configurator 是海内外四轴飞行器/穿越机玩家常用的Betaflight开源飞控固件对应的配置器,目前的最新版本为10.9.0。
Betaflight 固件支持一系列STM32 MCU,包括STM32F405/F411/F722/F745/H743/G473;对于关心国产芯片、需要低成本飞控的小伙伴,极海半导体提供PIN-TO-PIN、寄存器兼容的APM32F405/APM32F411 MCU。APM32F4系列基于ARM Cortex M4 with FPU内核,APM32F405支持全速与高速OTG,APM32F411支持全速OTG和2路模拟比较器,适合经典的四轴飞行器飞控开发。
近期,有专业用户将Betaflight固件移植到APM32中,各项功能正常,使用Betaflight Configurator自带的USB虚拟串口,调参丝滑。但拉低BOOT0进入DFU模式时,软件却无法识别芯片的Bootloader驱动。聪明的玩家可以从源码中看出问题:DFU功能会筛选不同USB设备的制造商编码和产品编码(Vendor ID & Product ID),而不同的MCU厂商,其DFU功能的编码不同!STM32 DFU Bootloader: 0483:DF11; APM32 DFU Bootloader: 314B:0106
针对APM32因USB DFU无法通过筛选导致无法更新固件的问题,Betaflight Configurator官方已经通过修改源码解决,该修改将在下一版本10.10.0上线,详情可以访问GitHub“Add APM32 DFU Bootloader to USB Devices' filters” 链接:https://github.com/betaflight/betaflight-configurator/pull/3556
版本更新前,可以使用两种方式,在硬件不作改动、固件更新方式不变的前提下达到目的:
方案1:绕开开源软件的DFU筛选,使用附件1提供的极海自主DFU软件及DFU驱动,烧录Betaflight Configurator编译出的.hex文件,可以识别虚拟串口设备;
该方案需要使用极海DFU驱动,搭配Geehy Prog软件,支持双语、串口ISP+USB DFU、离线烧录。
方案2:使用附件2,替换源码的js文件夹,再次打开BF地面站,可以正常识别APM32 DFU设备,提前体验新版本。
该方案需要操作Zadig为芯片刷入WinUSB驱动,随后按常规DFU流程操作即可。
对四轴飞行器飞控开发感兴趣的同学,可以参考极海文章“一芯两控 | 极海APM32F411开发实例--非同轴双电机控制”https://mp.weixin.qq.com/s/jdnah2ENNiD6EGJ5SYhJBg ;四轴飞行器电调欢迎选用APM32F051系列,详情可寻极海官网~
|