betaflight不仅可以在LInux上进行编译也可以在Windows上编译,本文主要介绍在windows平台上使用VScode编译betaflight固件的方法

1、使用git克隆betaflight的开源代码

首先确保你的电脑已经安装了git,然后在电脑本地文件夹内 使用git 命令行克隆仓库

git clone https://github.com/betaflight/betaflight

或者直接到仓库 https://github.com/betaflight/betaflight下载.zip压缩包

    2、betaflight的代码框架分析:

    代码克隆下来之后,用VSCode打开文件如下:

    需要注意的是obj文件夹是经过编译之后才生成的,初次克隆下来是没有这个文件夹的。
    src是整个代码的核心文件夹,打开src/main/target,我们就可以看到betaflight目前支持的主控芯片型号,可以看到STM32F1和STM32F3已经不支持了,主流是STM32F4和H7的。

    betaflight一个程序要兼容多个主控,因此代码十分复杂,打开程序就会看到很多#ifdefine xxx之类的宏定义。
    下面再看看根目录下的Makefile文件:

    这个就是配置的编译文件了,在19行可以更改要编译的固件型号,默认编译的是STM32F405固件。
    下面就来讲讲怎么编译这个代码,生成.hex文件。

    3、配置编译环境:

    我们要编译这个代码就得要有对应的编译器,在
    这个版本代码编译用的是gcc-arm-none-eabi-10.3-2021.10
    https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-win32.exe
    安装好之后,还要配置系统环境变量
    首先在系统信息这里选择高级系统设置:

    选择环境变量:

    在环境变量里找到 Path,然后编辑

    点击新建,浏览选择gcc-arm-none-eabi-10.3-2021.10\bin路径

    然后确定保存,重新用VScode打开即可。

    4、VScode上编译

    直接选择windows的Power Shell终端编译会出错,这里选择Git Bash终端进行编译

    输入make即可编译:

    稍等片刻就可以看到编译成功生成hex文件

    这个文件就放在新建的obj文件夹下

    接下来你就可以通过Betaflight Configurator把hex文件烧录进你的飞控了