当前位置: 首页 > news >正文

【Ubuntu系统搭建STM32开发环境(国内镜像全程快速配置)】

源于本人失败的经历苦心研究

  • 虚拟机安装ubuntu
  • 换源
  • VScode安装
  • 安装Java环境
  • 安装cubemx
  • 安装 arm-Linux-gcc
  • 安装gdb server
  • 安装OpenOCD

虚拟机安装ubuntu

系统镜像可以在阿里云镜像站且下载速度很快。
在这里插入图片描述
选择安装的版本。
在这里插入图片描述
我选择的是:ubuntu-22.10-desktop-amd64.iso。
其余的进入VM开始安装虚拟机,这里就不介绍了。
如果安装完重启提示需要press什么,需要先关机,再在虚拟机配置里面将启动时连接 取消勾选。
在这里插入图片描述

换源

更换国内的源安装一些软件比较快。在全部应用里面找到软件和更新
在这里插入图片描述
点击那个小三角:
在这里插入图片描述
选择其他,选择最佳服务器,等待他自己弄好,就可以了。
在这里插入图片描述

VScode安装

进入VSCode官网https://code.visualstudio.com/下载deb包,在Ubuntu自带的火狐浏览器打开。
在这里插入图片描述
点击下载会有提示,右击它复制下载链接:https://az764295.vo.msecnd.net/stable/f1b07bd25dfad64b0167beb15359ae573aecd2cc/code_1.83.1-1696982868_amd64.deb
az764295.vo.msecnd.net 替换成vscode.cdn.azure.cn,下载飞快,然后自行选择下载方式。

在这里插入图片描述
在这里插入图片描述
下载完成在文件夹中打开,右击文件 重命名 复制文件名称 code_1.83.1-1696982868_amd64.deb,右击文件夹空白在终端中打开。输入下面指令,回车,输入密码 密码不会显示的,直接敲入就可以,然后回车。

sudo dpkg -i code_1.83.1-1696982868_amd64.deb

在这里插入图片描述
在这里插入图片描述
必备插件:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装Java环境

打开终端,输入,回车。提示y/n,输入y,回车。

sudo apt install default-jre

在这里插入图片描述

安装cubemx

进入 https://www.st.com/zh/development-tools/stm32cubemx.html 官网。还需要注册,跟随提示,慢慢注册,下载hal库也要用到。注册好就可以下载了。
在这里插入图片描述
在这里插入图片描述
先注册,后登录就可以了。提前注册好,直接登录就自动下载了。
在这里插入图片描述
文件中显示,右击,提取到此处,双击进入文件夹,双击启动安装程序,虚拟机里的就全部默认就好。一直到安装完成。
在这里插入图片描述
/home/tomotos/STM32CubeMX/STM32CubeMX 换成软件的位置,如果你是默认安装就不需要修改。就有了桌面快捷方式。

ln -s /home/tomotos/STM32CubeMX/STM32CubeMX  ~/桌面

在这里插入图片描述
安装 hal 库:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
会提示让你登录,登陆了就可以下载了。

安装 arm-Linux-gcc

sudo apt-get install gcc-arm-linux-gnueabi
sudo apt install gcc-arm-linux-gnueabihf
sudo apt install gcc-arm-none-eabi
sudo apt-get install build-essential

安装gdb server

打开https://mirrors.aliyun.com/gnu/gdb/ 在Ubuntu的浏览器里。下载后最 xz的,如下:

在这里插入图片描述
下载后文件夹中显示,提取到此处,进去文件夹后点击空白处,右击在终端打开。
依次输入下面的指令

./configure

时间比较长

sudo make
sudo make install

如果提示没有 gmp,请在终端(不用在文件夹里面打开的那种)依次输入下面,否则不用下面的安装

sudo susudo apt-get install m4sudo apt-get install flexsudo apt-get install bison

关闭终端,重新打开

wget --no-check-certificate "https://gmplib.org/download/gmp/gmp-6.2.1.tar.xz"tar -xf gmp-6.2.1.tar.xzcd /gmp-6.2.1sudo makesudo make install

安装OpenOCD

先安装下面的

sudo apt-get install build-essential pkg-config autoconf automake libtool libusb-dev libusb-1.0-0-dev libhidapi-devsudo apt-get install libtool libsysfs-devsudo apt install git

克隆,国内的仓库,更快!

git clone https://gitee.com/mirrors/openocd.git
cd openocd    #进入目录./bootstrap     #生成引导环境./configure     #生成配置如下图所示

相关文章:

【Ubuntu系统搭建STM32开发环境(国内镜像全程快速配置)】

源于本人失败的经历苦心研究 虚拟机安装ubuntu换源VScode安装安装Java环境安装cubemx安装 arm-Linux-gcc安装gdb server安装OpenOCD 虚拟机安装ubuntu 系统镜像可以在阿里云镜像站且下载速度很快。 选择安装的版本。 我选择的是:ubuntu-22.10-desktop-amd64.iso。…...

Java 中的 Default 关键字

default 关键字:是在 Java 8 中引入的新概念,也可称为 Virtual extension methods——虚拟扩展方法与public、private等都属于修饰符关键字,与其它两个关键字不同之处在于default关键字大部分都用于修饰接口。 default 修饰方法时只能在接口…...

AdaBoost:增强机器学习的力量

一、介绍 机器学习已成为现代技术的基石,为从推荐系统到自动驾驶汽车的一切提供动力。在众多机器学习算法中,AdaBoost(自适应增强的缩写)作为一种强大的集成方法脱颖而出,为该领域的成功做出了重大贡献。AdaBoost 是一…...

c++踩坑点,类型转换

std::string转换到PVOID std::string转换到PVOID的方式如下 这样的话成功转换 “const char *” 类型的实参与 “WCHAR *” “const char *” 类型的实参与 “WCHAR *” 类型的形参不兼容 可以看到这种报错,可以直接强转如下: 但是在我们这里不适…...

mysql—面试50题—1

注:面试50题将分为5个部分,每部分10题 一、查询数据 学生表 Student create table Student(SId varchar(10),Sname varchar(10),Sage datetime,Ssex varchar(10)); insert into Student values(01 , 赵雷 , 1990-01-01 , 男); insert into Student …...

vue解决报错Unable to preventDefault inside passive event listener invocation.

"Unable to preventDefault inside passive event listener invocation"是浏览器开发中的一个警告信息。这个警告通常出现在使用passive事件监听器时,当在事件处理函数中调用preventDefault()方法时会引发该警告。 在传统的事件监听模型中,当…...

实际项目中最常用的设计模式

在软件开发领域,设计模式是一种经过验证的通用解决方案,用于解决各种常见问题。它们有助于提高代码的可维护性、可扩展性和可重用性。虽然有许多不同的设计模式,但以下是实际项目中最常用的一些: 1. 单例模式 (Singleton Pattern) 单例模式确保一个类只有一个实例,并提供…...

使用stream流根据对象属性对复杂list对象去重

日常开发中,我们可能会遇到这样一种情况,需要对数据库查询出来的数据进行一个二次处理,从而达到我们需要的数据结构。stream流正是java8提供的对复杂list操作方便工具。 我们先介绍如何使用stream流根据对象属性对复杂list对象去重&#xff0…...

vue3脚手架搭建

一.安装 vue3.0 脚手架 如果之前安装了2.0的脚手架,要先卸载掉,输入: npm uninstall vue-cli -g 进行全局卸载 1.安装node.js(npm) node.js:简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是…...

MongoDB 未授权访问漏洞

简介 MongoDB是一个基于分布式文件存储的数据库,是一个介于关系数据库和非关系数据库之间的产品,它的特点是高性能、易部署、易使用,存储数据非常方便,默认情况下是没有认证的这就导致不熟悉它的研发人员部署后没有做访问控制导致…...

花5分钟学习机器学习基础知识

一、什么是机器学习 机器学习的目的是让机器学习,而不是执行预设的算法。 机器学习适用于难以制定规则的问题,如垃圾邮件识别、图像识别。 机器学习模拟人类学习过程:从样本中学习归纳总结,形成模型,然后应用模型完成任务。 机器学习需要大量样本数据和计算能力支持。当前数…...

Qt学习:使用OpenGL绘制3D图形

文章目录 前言一、Qt下使用OpenGL绘制图形介绍二、示例完整代码总结 前言 文章中引用的内容均来自这本书中的原文:【Qt Creator快速入门_霍亚飞编著】,本文的示例也是在书中代码的基础上进行编写的(其中部分代码使用原文编译不过&#xff0c…...

在chrom浏览器安装Vue.js devtools插件,遇到恶意扩展程序字样,附百度网盘下载链接

遇到的问题 拖拽下载好的 Vue.js devtools 插件到谷歌扩展程序, 百度网盘下载地址 链接:https://pan.baidu.com/s/1FeK6pwc2UzRUUlMFN3rW5w?pwdw361 提取码:w361 提示: 解决办法 将Vue.js devtools 插件的后缀从.crx改为.zi…...

WSL2的安装与配置(创建Anaconda虚拟环境、更新软件包、安装PyTorch、VSCode)

1. WSL2 安装 以管理员身份打开 PowerShell(“开始”菜单 >“PowerShell” >单击右键 >“以管理员身份运行”),然后输入以下命令: dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /a…...

【鸿蒙软件开发】ArkTS常见组件之单选框Radio和切换按钮Toggle

文章目录 前言一、Radio单选框1.1 创建单选框1.2 添加Radio事件1.3 场景示例二、切换按钮Toggle2.1 创建切换按钮2.2 创建有子组件的Toggle2.3 自定义样式selectedColor属性switchPointColor属性 2.4 添加事件2.5 示例代码 总结 前言 Radio是单选框组件,通常用于提…...

今年阿里云双十一服务器优惠价格讨论_看看大家怎么说?

2023阿里云双十一云服务器大概会降到什么区间?阿里云服务器网认为会在当前的优惠价格基础上,降价10%左右,可以在阿里云CLUB中心领券:aliyun.club 云服务器专用满减优惠券。阿里云服务器网从各个渠道了解到大家对今年阿里云双十一服…...

LC-1402. 做菜顺序(记忆化搜索 ==> 动态规划、贪心)

1402. 做菜顺序 困难 一个厨师收集了他 n 道菜的满意程度 satisfaction ,这个厨师做出每道菜的时间都是 1 单位时间。 一道菜的 「 like-time 系数 」定义为烹饪这道菜结束的时间(包含之前每道菜所花费的时间)乘以这道菜的满意程度&#x…...

泰森多边形

泰森多边形 93 泰森多边形又叫沃洛诺伊图(Voronoi diagram),得名于Georgy Voronoi,是一组由连接两邻点线段的垂直平分线组成的连续多边形。一个泰森多边形内的任一点到构成该多边形的控制点的距离小于到其他多边形控制点的距离。…...

YOLOV8 进行docker环境配置

修改docker文件 原docekerfile中ADD https://ultralytics.com/assets/Arial.ttf https://ultralytics.com/assets/Arial.Unicode.ttf /root/.config/Ultralytics/下载很慢,可以在外部下载好,放入docker文件夹中,再将源代码改为ADD Arial.ttf…...

sealos一键部署K8S环境(sealos3.0时代教程过时了,目前已经4.0了,请移步使用Sealos一键安装K8S)

1 安装Sealos(4.0版本) sealos部署k8s贼方便,只需要一条init命令即可,3分钟部署完(下载安装包的时间不算)。 官方教程:https://www.sealyun.com/instructions/1st #主机名: hostnamectl set-hostname mas…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言:多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

django filter 统计数量 按属性去重

在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...

「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案

在移动互联网营销竞争白热化的当下,推客小程序系统凭借其裂变传播、精准营销等特性,成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径,助力开发者打造具有市场竞争力的营销工具。​ 一、系统核心功能架构&…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅

目录 前言 操作系统与驱动程序 是什么,为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中,我们在使用电子设备时,我们所输入执行的每一条指令最终大多都会作用到硬件上,比如下载一款软件最终会下载到硬盘上&am…...

Python网页自动化Selenium中文文档

1. 安装 1.1. 安装 Selenium Python bindings 提供了一个简单的API,让你使用Selenium WebDriver来编写功能/校验测试。 通过Selenium Python的API,你可以非常直观的使用Selenium WebDriver的所有功能。 Selenium Python bindings 使用非常简洁方便的A…...