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

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

    • 1、使用git克隆betaflight的开源代码
    • 2、配置编译环境
    • 3、使用VScode编译代码

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/448929.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

某宝 bx-pp参数 反编译wasm还原算法

声明: 本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 前言: 听说最近某宝水果滑块出了一个bx-pp参数 是wasm加密,抱着好奇的心态打开的网…

TCP 连接掉线自动重连

文章目录 TCP 连接掉线自动重连定义使用连接效果 TCP 接收数据时防止掉线。TCP 连接掉线自动重连。多线程环境下TCP掉线自动重连。 欢迎讨论更好的方法! TCP 连接掉线自动重连 定义 定义一个类,以编写TCP连接函数Connect(),并且&#xff1a…

MySQL原理(五)事务

一、介绍: 1、介绍: 在计算机术语中,事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务是恢复和并发控制的基本单位。 2、事务的4大特性 原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性…

比瓴科技入围软件供应链安全赛道!为关键信息基础设施安全建设注入新动力

1月20日,中关村华安关键信息基础设施安全保护联盟会员大会暨关键信息基础设施安全保护论坛在北京成功举办,比瓴科技作为会员单位受邀出席。 本次论坛发布了《关键信息基础设施安全保护支撑能力白皮书(2023)》,比瓴科技…

Jmeter直连mysql数据库教程

mysql数据库能够通过Navicat等远程连接工具连接 下载驱动并加入jmeter 1.mysql驱动下载地址:MySQL :: Download MySQL Connector/J (Archived Versions) 找到对应的驱动下载:如下图: 把驱动jar包加入jmeter 配置jmeter连接mysql数据库…

区间时间检索

前端 <el-col :md"6" v-if"advanced"><el-form-item :label"$t(inRecord.column.createTime)"><el-date-pickerstyle"width: 100%;"v-model"daterangeCreateTime"value-format"yyyy-MM-dd"type&qu…

【sentinel流量卫兵搭建与微服务整合】

sentinel流量卫兵搭建与微服务整合 搭建sentinel dashboard控制台微服务整合 搭建sentinel dashboard控制台 1、下载 官网链接 由于官网github网络原因&#xff0c;导致长时间下载失败。 网盘链接 网盘提取码&#xff1a;dwgj 2、运行 将下载jar包放在任意非中文、不包含特殊…

Java数组的遍历

目录 数组的遍历使用for循环遍历数组使用for-each循环遍历数组使用while循环和迭代器遍历数组使用Java 8的流API遍历数组 数组遍历的应用求数组中的最大值查询数组中指定位置的元素将查指定元素对应的索引的功能提取为方法添加数组元素删除数组元素 数组的遍历 Java数组的遍历…

【Kafka专栏】windows搭建Kafka环境 详细教程(01)

文章目录 01 引言1.1 官网地址1.2 概述简介1.3 kafka与zookeeper 02 部署zookeeper2.1 下载组件包2.2 解压压缩包&#xff08;1&#xff09;解压到任意路径&#xff08;2&#xff09;解压后的目录创建数据目录data 2.3 修改zoo配置2.4 设置系统变量2.5 启动zookeepe服务&#x…

小程序中picker多列选择器

需求&#xff1a;实现类似省市联动的效果&#xff0c;选择第一列后&#xff0c;第二列数据变化 html部分: <view class"section"><view>多列选择器</view><picker mode"multiSelector" bindchange"bindMultiPickerChange"…

自然语言处理(NLP)—— Dialogflow ES聊天机器人

1. 背景介绍 这个实验室的目标是让你了解并使用Google的Dialogflow服务。Dialogflow是一个可以让你创建聊天机器人的服务&#xff0c;这个过程不需要或者只需要很少的编程技能。 1.1 账号的创建 为了完成这个实验室&#xff0c;你需要在以下网站上创建账号&#xff1a…

完整的 HTTP 请求所经历的步骤及分布式事务解决方案

1. 对分布式事务的了解 分布式事务是企业集成中的一个技术难点&#xff0c;也是每一个分布式系统架构中都会涉及到的一个东西&#xff0c; 特别是在微服务架构中&#xff0c;几乎可以说是无法避免。 首先要搞清楚&#xff1a;ACID、CAP、BASE理论。 ACID 指数据库事务正确执行…