使用VScode编译betaflight固件--基于ubuntu平台

window平台的见上一篇文章
使用VScode编译betaflight固件–基于windows平台
本文主要介绍在linux系统 ubuntu平台下使用VScode编译betaflight固件的方法.

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

首先确保你的电脑已经安装了git,然后在电脑本地文件夹内 使用git 命令行克隆仓库。
这里使用git克隆4.4分支版本的程序。

git clone -b 4.4-maintenance https://github.com/betaflight/betaflight.git

在这里插入图片描述

2、配置编译环境

1.安装make
如果你的系统还没安装 make工具,要先安装make

sudo apt install make

输入下面指令代表已经安装成功

make -v

在这里插入图片描述
我们要编译bataflight这个代码就得要有对应的编译器,所用的编译器是arm-none-eabi-gcc
2.安装编译工具链
在make/tool.mk可以看到需要的工具链为gcc-arm-none-eabi-10.3-2021.10
在这里插入图片描述

下载链接:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads

下载gcc-arm-none-eabi-10.3-2021.10-x86_64
在这里插入图片描述
在ubuntu下解压,解压路径可以随意,但要记住这个路径后面要用。

tar xvf gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2

在终端中输入以下命令,导入工具链路径到环境变量:

cd ~  //确认在主文件夹下
vim .bashrc   //修改文件,注意不需要root权限

在.bashrc文件最后一行添加

export PATH=/解压路径/gcc-arm-none-eabi-10.3-2021.10/bin:"${
    PATH}"

在这里插入图片描述

系统重启一下

reboot

检查gcc-arm-none-eabi是否已正确安装,输入

arm-none-eabi-gcc --version

在这里插入图片描述
有版本提示代表已经安装成功了,如果没有安装成功,请检查一下路径是否正确。

3、使用VScode编译代码

启动vscode,打开betaflight项目所在文件夹,然后按下"ctrl+shift+`"打开终端,打开Makefile可以看到,默认编译的是STM32F405的固件
在这里插入图片描述
直接输入make,稍等片刻就可以看到编译成功生成hex文件:

make

在这里插入图片描述
这个hex文件就放在新建的obj文件夹下
在这里插入图片描述
如果不想编译STM32F405的固件,在src/main/target目录下,你可以选自己想要的固件进行配置。
在这里插入图片描述
例如输入以下命令就可以编译STM32G47X的固件

make STM32G47X

好了,今天的分享就到这里,希望对你有所帮助。

相关推荐

  1. VSCode使用MSVC编译器

    2024-02-03 07:16:01       16 阅读
  2. ubuntu使用 .deb 文件安装VScode

    2024-02-03 07:16:01       11 阅读
  3. ubuntu thrift 编译使用

    2024-02-03 07:16:01       14 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-03 07:16:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-03 07:16:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-03 07:16:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-03 07:16:01       18 阅读

热门阅读

  1. Ubuntu 安装 Docker 详细步骤

    2024-02-03 07:16:01       33 阅读
  2. nuxt.js中使用axios以及二次封装

    2024-02-03 07:16:01       29 阅读
  3. WPF简介

    WPF简介

    2024-02-03 07:16:01      30 阅读
  4. LED显示屏在XR虚拟拍摄中的应用及前景

    2024-02-03 07:16:01       29 阅读
  5. 数据聚类:一种有效的数据分析技术

    2024-02-03 07:16:01       33 阅读
  6. 【gcc】webrtc发送侧 基于丢包更新码率

    2024-02-03 07:16:01       36 阅读
  7. uniapp实现自定义底部tab栏

    2024-02-03 07:16:01       31 阅读
  8. QT中的QImage与QPixmap区别

    2024-02-03 07:16:01       29 阅读
  9. webpack详解

    2024-02-03 07:16:01       27 阅读
  10. MySQL数据库安全加固方案

    2024-02-03 07:16:01       26 阅读