【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里设置好编译路径

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

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

相关文章

【LAMMPS学习】七、加速性能(3)通用技巧

7. 加速性能 7.1.基准测试 7.2.测试性能 7.3.通用技巧 以下是提高模拟性能的通用技巧。它们中的大多数只适用于当前性能中的某些模型和某些瓶颈,因此让您生成的计时数据作为指导。要预测这些选项会产生多大的差异,即使不是不可能,也是很难…

Pathlib库的有哪些神奇功能在Python中

解锁Python利器pathlib的神奇功能 什么是 pathlib? pathlib 是 Python 中用于处理文件路径的模块,它提供了面向对象的方法来操作文件系统路径。使用 pathlib 可以更加直观和安全地处理文件和目录路径。 功能 一些 pathlib 提供的功能包括:…

Jmeter02-1:参数化组件CVS

目录 1、Jmeter组件:参数化概述 1.1 是什么? 1.2 为什么? 1.3 怎么用? 2、Jmeter组件:参数化实现之CSV Data Set Config(重点中重点) 2.1 是什么? 2.2 为什么? 2.3 怎么用? …

【2024年5月备考新增】《2024高项论文精华版(5)项目工作绩效域和度量绩效域》

3 项目工作绩效域 预期目标绩效指标检查方法①高效且有效的项目绩效状态报告:通过状态报告可以表明项目工作有效率且有效果②适合项目和环境的项目过程▲过程的适宜性:证据表明,项目过程是为满足项目和环境的需要而裁剪▲过程相关性和有效性:过程审计和质量保证活动表明,过…

Golang | Leetcode Golang题解之第5题最长回文子串

题目&#xff1a; 题解&#xff1a; func longestPalindrome(s string) string {if s "" {return ""}start, end : 0, 0for i : 0; i < len(s); i {left1, right1 : expandAroundCenter(s, i, i)left2, right2 : expandAroundCenter(s, i, i 1)if ri…

「PHP系列」PHP数组排序及运用场景

文章目录 一、PHP 数组排序二、PHP 数组排序使用场景数据排序介绍数据排序案例 三、相关链接 一、PHP 数组排序 PHP 提供了多种数组排序函数&#xff0c;允许你根据数组元素的值或键进行排序。 sort() sort() 函数用于对数组的元素按升序进行排序。它会修改原始数组&#xf…

把本地项目上传到gitee上

要把本地项目上传到 Gitee&#xff0c;你需要先在 Gitee 上创建一个仓库&#xff0c;然后在本地使用 Git 将项目推送到 Gitee。以下是简要步骤和示例代码&#xff1a; 1、在 Gitee 上创建一个新的仓库。 2、在本地项目目录中初始化 Git&#xff08;如果尚未初始化&#xff09…

python实现全排列(递归和循环)

递归实现全排列可以使用回溯法。具体步骤如下&#xff1a; 将待排列的元素分为两部分&#xff1a;第一个元素&#xff08;固定元素&#xff09;和其余元素。对于固定元素后面的每一个元素&#xff0c;将其与固定元素交换位置&#xff0c;然后递归地对剩余元素进行全排列。递归…

Mysql数据库getshell方法

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

【面试八股总结】传输控制协议TCP(三)

参考资料 &#xff1a;小林Coding、阿秀、代码随想录 一、TCP拥塞控制⭐ 1. 慢启动 – Slow Start 慢启动是指TCP连接刚建立&#xff0c;一点一点地提速&#xff0c;试探一下网络的承受能力&#xff0c;以免直接扰乱了网络通道的秩序。 慢启动算法&#xff1a; 初始拥塞窗口…

电商技术揭秘五:电商平台的个性化营销与数据分析

文章目录 引言1. 个性化营销的概念与价值1.1 个性化营销的定义1.1.1 个性化营销的基本概念1.1.2 个性化营销在电商领域的重要性 1.2 个性化营销的核心价值1.2.1 提升用户体验1.2.2 增加转化率和客户忠诚度1.2.3 优化营销资源配置 2. 用户画像与行为分析2.1 用户画像的构建2.1.1…

SpringBoot+thymeleaf完成视频记忆播放功能

一、背景 1)客户要做一个视频播放功能,要求是系统能够记录观看人员在看视频时能够记录看到了哪个位置,在下次观看视频的时候能够从该位置进行播放。 2)同时,也要能够记录是谁看了视频,看了百分之多少。 说明:由于时间关系和篇幅原因,我们这里只先讨论第一个要求,第…

智能小车测速(3.26)

模块介绍&#xff1a; 接线&#xff1a; VCC -- 3.3V 不能接5V&#xff0c;否则遮挡一次会触发3次中断 OUT -- PB14 测速原理&#xff1a; cubeMX设置&#xff1a; PB14设置为gpio中断 打开定时器2&#xff0c;时钟来源设置为内部时钟&#xff0c;设置溢出时间1s&#xff0c…

OpenEuler虚拟机配置网络连接

花了一晚上踩坑...... 1.进入下面这个网卡的配置 vi /etc/sysconfig/network-scripts/ifcfg-ens33 把ONBOOT改成yes 解释&#xff1a;ONBOOT是指明在系统启动时是否激活网卡&#xff0c;只有在激活状态的网卡才能去连接网络&#xff0c;进行网络通讯。 重启一下登录的时候…

视频监控/云存储/AI智能分析平台EasyCVR集成时调用接口报跨域错误的原因

EasyCVR视频融合平台基于云边端架构&#xff0c;可支持海量视频汇聚管理&#xff0c;能提供视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、智能分析等视频服务。平台兼容性强&#xff0c;支持多协议、多类型设备接入&#xff0c;包括&#xff1a;国标G…

【已解决】Error: error:0308010C:digital envelope routines::unsupported

前言 场景&#x1f3ac; 使用 Ant Design &#xff0c; 执行 npm run dev 出现异常。 文章目录 前言场景&#x1f3ac; 异常信息解决方案方案一(推荐)MAC | Linux 电脑成功⬇️ Windows 电脑 方案2&#xff1a; 不懂留言 JavaPub 异常信息 我直接异常信息&#xff0c;你可以…

Tomcat部署flowable出现consider increasing the maximum size of the cache

使用Apache Tomcat/8.5.32部署运行flowable-6.5.0时发现控制台有警告 问题原因&#xff1a;解决方法: 使用Apache Tomcat/8.5.32部署运行flowable-6.5.0时发现控制台有警告 01-Apr-2024 20:55:08.877 警告 [localhost-startStop-1] org.apache.catalina.webresources.Cache.ge…

拥塞控制算法系列之:Swift-谷歌2020年SIGCOM-包级别端到端TIMELY拥塞控制算法

核心要点&#xff1a; 谷歌 2020 SIGCOM基于delay的AIMD拥塞拆分EC和FC&#xff0c;时延敏感场景优势分别计算EC和FC的wnd&#xff08;最核心&#xff09;保障吞吐和低延迟。Swift 因利用延迟的简单性和有效性而闻名包级别的论文&#xff1a;https://dl.acm.org/doi/pdf/10.11…

基于 Erlang 的随机账户分配机制

当你在网上注册新账户时&#xff0c;平台如何为你生成一个独特的用户名或编号呢&#xff1f;这背后其实有一套精心设计的系统。本文将带你了解一种使用 Erlang 语言开发的随机账户分配系统&#xff0c;它既快速又可靠。 ## 随机分配的简单步骤 我们可以将这个过程想象成一个装…

C刊级 | Matlab实现GWO-BiTCN-BiGRU-Attention灰狼算法优化双向时间卷积双向门控循环单元融合注意力机制多变量回归预测

C刊级 | Matlab实现GWO-BiTCN-BiGRU-Attention灰狼算法优化双向时间卷积双向门控循环单元融合注意力机制多变量回归预测 目录 C刊级 | Matlab实现GWO-BiTCN-BiGRU-Attention灰狼算法优化双向时间卷积双向门控循环单元融合注意力机制多变量回归预测效果一览基本介绍程序设计参考…