【VSCode+Keil5+STM32CubeMX】开发环境配置

一、软件下载
二、软件安装
三、配置环境
四、验证开发环境
五、Keil与VS Code的同步


从0到1搭建VS Code + Keil5 + STM32CubeMX开发环境

  • 优点

    1. 支持标准库+HAL库+LL库
    2. 代码编辑更“现代化”:代码提示、函数跳转、更高自由度的定制主题等优点
    3. 多端同步,VS Code和Keil 5编写的代码可以实现同步
  • 缺点

    1. 不能实现VS Code一条龙开发,比如配置工程的编译选项和烧录器指定都需要在Keil完成
    2. 替代方法:EIDE(Emdedded IDE)、PIO(PlatformIO IDE),新人不友好

(可选项)卸载/删除原有的软件,清理残余

  • 这一步需要酌情考虑,若确实想换开发流程,则继续接下来的操作

  • 使用Geek Uninstaller进行卸载,清理注册表残余
    在这里插入图片描述

  • 之后找到软件的安装目录,删除

    对于STM32CubeMX还要删除:WIN+E ->C盘 -> user ->与.stm32相关的文件进行删除

  • 对于VS Code需要再删除两个位置的残余

    WIN+R -> 输入“%appdata%”按回车,找到“Code”文件夹,删除

    WIN+E ->C盘 -> user ->与.vscode相关的文件进行删除


一、软件下载

1. VS Code

VS Code 官网下载

在这里插入图片描述

2. Keil 5

Keil 官网下载

在这里插入图片描述
在这里插入图片描述

3. STM32CubeMX

STM32CubeMX 官网下载

在这里插入图片描述

二、软件安装

为了方便管理,先在任意盘符下新建一个文件夹(ProgramFile),用于管理此次安装的所有文件

文件名尽量英文,不要夹杂符号,例如:!@#$%^&*()_-+=~`等符号,以上字符/符号最好不要出现在文件路径
在这里插入图片描述

1. VS Code

选择好安装路径后一直下一步,此时勾选上所有的勾

在这里插入图片描述
在这里插入图片描述

2. Keil 5

keil 开发软件MDK的安装
在这里插入图片描述
在这里插入图片描述

  1. 安装好之后,以管理员权限打开

  2. 打开License生成工具,复制CID码,生成License Key

  3. 安装固件库/支持包

  4. 添加AC5版本的编译器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Keil MDK上基础配置
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
KEIL MDK5使用技巧
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

KEIL 固件支持包 官网下载

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. STM32CubeMX

【正点原子STM32】STM32CubeMX入门(搭建Java运行环境、STM32CubeMX安装、新建STM32CubeMX工程步骤、STM32CubeMX用户使用手册)

  1. 安装
  2. 打开软件,下载F1和F4系列的支持包
  3. 关闭自动更新和检查
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

三、配置环境

  • 配置MinGW
    开发环境 windows gcc 编译

    用于识别C/C++语言的语法,为VS Code提供智能提示和代码洞察的能力
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • VS Code下载插件

    1. C/C++ Extension Pack
    2. Keil Assistance
      在这里插入图片描述
      在这里插入图片描述
  • VS Code配置插件

    配置Keil Assistant与Keil编译器的链接
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • VScode SSH远程连接

    配置VScode SSH连接虚拟机
    【VScode】安装配置、插件及远程SSH连接
    在这里插入图片描述

四、验证开发环境

  • 标准库

    导入现成的工程到VS Code,编写代码、编译、下载

  • HAL库

    导入STM32CubeMX生成的工程,编写代码、编译、下载
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • LL库

    导入STM32CubeMX生成的工程,编写代码、编译、下载

五、Keil与VS Code的同步

  • 代码同步

    两个软件都可以进行代码编辑,完成后保存即可

  • 编译路径同步

    导入第三方库后需要在Keil里设置好编译路径

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入了解C语言中的结构体类型与内存对齐

引言: 在C语言中,结构体是一种自定义的数据类型,它允许我们将不同类型的数据组合在一起,形成一个新的数据类型。结构体的使用为我们解决了一些复杂数据的表示和处理问题,不仅限于单单的整型或者字符。本文将深入探讨结…

金三银四上岸!2024最新Java高频面试题总结(附答案PDF)!

《Java面试全解析》1000道 面试题大全详解(针对于应届生、三到五年经验、六到十年经验!) 本人是 2009 年参加编程工作的,一路上在技术公司摸爬滚打,前几年一直在上海,待过的公司有 360 和游久游戏&#xf…

Mysql数据库getshell方法

今天摸鱼时候,突然有人问我不同的数据库getshell的方式,一时间我想到了mysql还有redis未授权访问到getshell的方式,但是仅仅第一时间只想到了这两种,我有查了查资料,找到了上面两种数据库getshell的补充,以…

python实现泊松回归

1 什么是基于计数的数据? 基于计数的数据包含以特定速率发生的事件。发生率可能会随着时间的推移或从一次观察到下一次观察而发生变化。以下是基于计数的数据的一些示例: 每小时穿过十字路口的车辆数量每月去看医生的人数每月发现的类地行星数量 计数数…

Mysql 常用SQL语句

1、查看mysql中所有的数据库, show databases; 2、创建库 create database 库名;(也可以用 create database if not exists 库名; 表示如果库不存在再创建) 例:create database if not exists ecology; 3、删除库 …

Linux安全加固

账号和权限 系统用户 超级管理员&#xff1a;UID0 系统默认用户&#xff1a;系统程序使用&#xff0c;从不登录 新增普通用户&#xff1a;UID大于500 用户管理 添加用户&#xff1a;useradd <用户名> 删除用户&#xff1a;userdel [-r] [-f] <用户名> 锁定/解…

electron 打包生成的latest.yml文件名字变成xxx.yml文件名

正常情况是electron每次打包会生成一个latest.yml文件和一个xxx.exe文件&#xff0c;但是当version的名字修改成 这样 后面添加了-beta &#xff0c;然后生成的文件名字就变成了 beta.yml 更改方法&#xff1a; 在build配置底下添加 "detectUpdateChannel": false…

我的C++奇迹之旅:值和引用的本质效率与性能比较

文章目录 &#x1f4dd;引用&#x1f320;引用概念&#x1f309;引用特性 &#x1f320;使用场景&#x1f309;做参数&#xff08;传值与传地址&#xff09;&#x1f309;传值、传引用效率比较 &#x1f320;引用做返回值&#x1f309;引用和指针的区别 &#x1f320;常引用&am…

坚持刷题|分发饼干

文章目录 题目思路代码实现实现总结主要步骤时间复杂度 扩展问题 Hello&#xff0c;大家好&#xff0c;我是阿月。坚持刷题&#xff0c;老年痴呆追不上我&#xff0c;今天刷第一个贪心算法&#xff1a;分发饼干 题目 455.分发饼干 思路 要解决这个问题&#xff0c;可以使用…

深度学习实战73-基于多模态CLIP模型的实战项目,CLIP模型的架构介绍与代码实现

大家好,我是微学AI,今天给大家介绍一下深度学习实战73-基于多模态CLIP模型的实战项目,CLIP模型的架构介绍与代码实现。多模态CLIP(Contrastive Language-Image Pre-training)模型是一种深度学习模型,其核心设计理念是通过大规模的对比学习训练,实现图像与文本之间的跨模…

Linux——进程管理

目录 作业和进程的概念 程序与进程的关系 查看进程信息——ps&#xff0c;top ps命令 top命令 设置进程的优先级——nice&#xff0c;renice nice命令 renice命令 查看进程信息——pgrep&#xff0c;pstree pgrep命令 pstree命令 切换进程——jobs&#xff0c;bg&a…

【linux】基础IO(一)

文件只有站在系统层面才能彻底理解 简单回顾一下文件&#xff1a; 首先我们要明确一点&#xff0c;我们说的打开文件不是写下fopen就打开文件&#xff0c;而是当我们的进程运行起来&#xff0c;进程打开的文件。 我们在C语言一般都会使用过如下的代码进行向文件中写入 但是除…

Oracle客户端如何连接远程数据库?

Oracle是一种常用的数据库管理系统&#xff0c;它具有高效、稳定的特性&#xff0c;广泛应用于各行各业。为了实现远程数据库的连接&#xff0c;我们可以使用Oracle客户端工具。本文将介绍如何使用Oracle客户端连接远程数据库&#xff0c;并讨论其使用场景。 Oracle客户端工具 …

sql中如何添加数据?

添加 在 SQL 中添加数据通常使用INSERT语句。INSERT语句用于将新的数据行插入到数据库表中。 基本的INSERT语句语法如下&#xff1a; INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,...);其中&#xff1a; INSERT INTO&#xff1a;指定要插入数据…

利用Flutter的特性最大程度提升iOS应用的用户体验

本文探讨了使用Flutter开发的iOS应用能否上架&#xff0c;以及上架的具体流程。苹果提供了App Store作为正式上架渠道&#xff0c;同时也有TestFlight供开发者进行内测。合规并通过审核后&#xff0c;Flutter应用可以顺利上架。但上架过程可能存在一些挑战&#xff0c;因此可能…

SSM框架学习——MVC模式与三层架构

MVC模式与三层架构 什么是MVC模式 MVC模式代表Model-View-Controller&#xff08;模型-视图-控制器&#xff09;模式。这种应用模式用于应用程序的分层开发。 Model代表存取数据的对象&#xff0c;它自身可带有逻辑&#xff0c;数据变化时更新Controller。View代表Model包含…

最牛的音乐大模型-suno 音乐界的ChatGPT

一、前言 之前一直对音乐是无感的&#xff0c;但随着 suno.ai 大火&#xff0c;开始喜欢上了音乐&#xff0c;喜欢上了音乐创作的 二、suno介绍 2.1 基本介绍 基于 Suno 任何人都可以创作美妙音乐。无论您是歌手还是艺术家抑或是对音乐一无所知的人&#xff0c;suno都会打破…

STM32(1):系统架构地址映射

STM32&#xff08;1&#xff09;&#xff1a;系统架构&地址映射 前提摘要 个人说明&#xff1a; 限于时间紧迫以及作者水平有限&#xff0c;本文错误、疏漏之处恐不在少数&#xff0c;恳请读者批评指正。意见请留言或者发送邮件至&#xff1a;“Email:noahpanzzzgmail.com…

基因组Survey分析

流程图&#xff1a; 图片来源&#xff1a;https://www.jianshu.com/p/94da86093843 一、Fastp质控 二、NT比对 一般选择第六个输出格式 结果示例&#xff1a; 三、k-mer分析 软件&#xff1a;GCE/genomescope 分析目的&#xff1a;预估基因组大小&#xff0c;重复序列比…

团聚金刚石研磨液为高性能研磨抛光材料 中机新材是国内领先供应商

团聚金刚石研磨液为高性能研磨抛光材料 中机新材是国内领先供应商 团聚金刚石研磨液是一种高性能研磨抛光材料&#xff0c;是以团聚金刚石微粉为原料采用特殊配方配制而成。团聚金刚石微粉是由金刚石微粉、粘结剂经特殊工艺处理集合而成的球形磨料。金刚石微粉制备方式多样&am…