使用VScode 和 Keil搭建STM32的开发环境

目录

概述

1 Keil工具

1.1 Keil工具介绍

1.2 Keil 下载

 1.3 安装Keil 

1.4 Keil软件测试

2  VSCode软件 

2.1 VSCode介绍

2.2 VSCode下载

2.3 安装VSCode

3 搭建STM32集成开发环境

3.1 安装Keil插件

3.2 参数配置

3.3 测试

4 配置头文件路径

4.1 参数配置

4.2 测试


概述

本文主要介绍使用VScode 和 Keil搭建STM32的开发环境,其内容包括Keil开发软件的下载和安装流程,VScode的下载和安装流程,vscode相关插件的配置。在VSCode中配置Keil的方法。

1 Keil工具

1.1 Keil工具介绍

Keil是一种集成开发环境(IDE),用于嵌入式软件开发。它由Keil Software公司开发,提供了多种功能和工具,方便开发人员编写、调试和测试嵌入式应用程序。

Keil的开发环境具有以下特点:

  1. 支持多种编程语言:Keil支持多种编程语言,包括C、C++和汇编语言。这使得开发人员可以根据需求选择最适合他们项目的语言。

  2. 提供强大的编辑器:Keil提供了一个强大的编辑器,具有语法高亮、代码折叠、智能提示等功能,方便开发人员编写代码。

  3. 集成调试器:Keil集成了调试器,可以与各种硬件调试器配合使用,方便开发人员调试程序。

  4. 提供丰富的工具:Keil提供了丰富的工具,包括编译器、链接器、仿真器等,可以帮助开发人员进行全面的开发工作。

  5. 支持多种微控制器:Keil支持多种微控制器,包括ARM、8051等,可以满足不同项目的需求。

总之,Keil是一款功能强大的开发环境,适用于嵌入式软件开发。它提供了各种工具和功能,方便开发人员进行编写、调试和测试嵌入式应用程序的工作。

1.2 Keil 下载

登录如下网站可以看见Keil开发软件的相关信息:

https://www.keil.com/

目前最新版本为 V5.41版本

 

 1.3 安装Keil 

下载完成后就可以安装该软件,笔者使用的V5.38版本

 

首次安装完成后需要注册软件,注册界面如下:

添加相应的License文件就可以完成注册功能。

1.4 Keil软件测试

使用STM32Cube工具创建项目,并生成相关的项目代码:

编译代码,如果能正常编程,安装Keil软件完成

2  VSCode软件 

2.1 VSCode介绍

VSCode(Visual Studio Code)是一个由微软开发的免费开源的文本编辑器,广泛用于软件开发和编程。

VSCode具有以下特点和优势:

  1. 跨平台支持:VSCode可以在Windows、macOS和Linux等多个操作系统上运行,方便用户在不同操作系统上进行开发工作。

  2. 强大的编辑功能:VSCode支持语法高亮、代码补全、代码导航、多光标编辑等功能,可以提高开发效率。

  3. 丰富的扩展生态系统:VSCode提供了一个丰富的扩展平台,用户可以安装各种插件来扩展编辑器的功能,如代码片段、调试工具、代码检查等。

  4. 内置的调试功能:VSCode集成了调试器,可以方便地进行代码调试,支持多种编程语言和调试协议。

  5. Git集成:VSCode内置了Git工具,可以方便地进行版本控制和代码提交,以及查看文件的修改历史。

除了以上特点外,VSCode还拥有友好的用户界面、快速的启动速度、可自定义的界面布局等优点,深受开发者喜爱。

总之,VSCode是一款功能强大、易于使用的文本编辑器,适用于各种编程语言和开发环境,是程序员的理想选择。

2.2 VSCode下载

登录VSCode的官网,下载该软件:

https://code.visualstudio.com/

 

2.3 安装VSCode

 完成下载后就可以安装该软件,安装完成后,就可以使用其功能了,打开该软件,可以看见如下UI:

3 搭建STM32集成开发环境

3.1 安装Keil插件

1) 安装Keil Assistant

2) 安装Keil V

在搜索框中查询Keil V,安装该插件

3.2 参数配置

1)在Setting中配置Keil工具的路径

 2)配置完成后就可以看见如下3个图标

3.3 测试

点击编译软件,如果代码能正常编译,说明配置成功

4 配置头文件路径

4.1 参数配置

1) 生成c_cpp_properties.json

点击Win32按钮,系统会自动生成: c_cpp_properties.json

打开 c_cpp_properties.json 会看见如下信息, 在相应位置添加文件路径

2) 配置图文件路径

源代码文件:

 

{"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**","G:/workspace_stm32/stm32_g4_project/MutiADC_Test_Proj/Drivers/STM32G4xx_HAL_Driver/Inc/**","G:/workspace_stm32/stm32_g4_project/MutiADC_Test_Proj/Core/Inc/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"windowsSdkVersion": "10.0.22000.0","compilerPath": "D:/Keil_v5/UV4/UV4.exe","cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "windows-msvc-x64"}],"version": 4
}

4.2 测试

1) 文件引用测试

系统可以正常的找到相关的数据结构

2)编译测试、

点击测试按钮,系统能正常编译代码

 

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

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

相关文章

【C++学习篇】map和set (set篇)

目录 1.map和set的使用 1.1序列式容器和关联式容器 2. set系列的使⽤ 2.1 set分类 2.2set类的介绍 2.3 set的构造和迭代器 2.4set的增删查 2.5 insert和迭代器遍历使⽤样例: 2.6 find和erase使⽤样例: 2.7multiset和set的差异 1.map和set的…

WGAN生成对抗网络数据生成

数据生成 | WGAN生成对抗网络数据生成 目录 数据生成 | WGAN生成对抗网络数据生成生成效果基本描述程序设计参考资料 生成效果 基本描述 1.WGAN生成对抗网络,数据生成,样本生成程序,MATLAB程序; 2.适用于MATLAB 2020版及以上版本&…

简易图书管理系统

javawebjspservlet 实体类 package com.ghx.entity;/*** author :guo* date :Created in 2024/12/6 10:13* description:* modified By:* version:*/ public class Book {private int id;private String name;private double pri…

c++笔记2

14、c的对象 对象和结构的区别; 结构:包含各种类型的变量; 对象:包含各种函数、和变量; 设计对象的时候引用class关键字创建类,和结构形状差不多; 将变量称之为属性,函数称之为方…

停止等待协议

理想传输条件有以下两个特点: 传输信道不产生差错不管发送发以多快的速度发送数据,接收方总是来得及处理收到的数据。 然而实际的网络都不具备以上两个理想条件,所以需要一个协议 “停止等待协议”就是每发送完一个分组就停止发送&#xf…

python | print() 函数常被忽略的几点用法

在 python 编程中,print() 是最为基础和常用的函数。 也正因如此,print() 函数的一些基础用法常常被我们初学者所忽略,典型的有:换行问题、间隔符使用及格式化输出等。 一、print() 换行问题 1、默认情况下,每一个 …

《鸣潮》运行时电脑提示“d3dx9_41.dll丢失”是什么原因?“缺失d3dx9_41.dll文件”的解决方法和预防方案

游戏运行时文件丢失与报错解决方案:《鸣潮》提示“d3dx9_41.dll丢失”怎么办? 大家好,我是一名在软件开发领域有着丰富经验的从业者。在游戏爱好者的世界里,遇到游戏运行时提示文件丢失或损坏的情况并不少见。今天,我…

性能测试需求分析(超详细总结)

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 1、客户方提出 客户方能提出明确的性能需求,说明对方很重视性能测试,这样的企业一般是金融、电信、银行、医疗器械等;他们…

(长期更新)《零基础入门 ArcGIS(ArcMap) 》实验三----学校选址与路径规划(超超超详细!!!)

目录 实验三 学校选址与道路规划 3.1 实验内容及目的 3.1.1 实验内容 3.1.2 实验目的 3.2 实验方案 3.3 操作流程 3.3.1 环境设置 3.3.2 地势分析 (1)提取坡度: (2)重分类: 3.3.3 学校点分析 (1)欧氏距离: (2)重分类: 3.3.4 娱乐场所点分析 (1)欧氏距离…

计算机网络 —— HTTPS 协议

前一篇文章:计算机网络 —— HTTP 协议(详解)-CSDN博客 目录 前言 一、HTTPS 协议简介 二、HTTPS 工作过程 1.对称加密 2.非对称加密 3.中间人攻击 4.引入证书 三、HTTPS 常见问题 1.中间人能否篡改证书? 2.中间人能否调…

【调试工具】USB 转 UART 适配器(USB 转 TTL)

「USB 转 TTL 转换器」是错误的叫法&#xff0c;正确的叫法应该为 「USB 转 UART 适配器」。 Device connection 注意端口的交叉连接&#xff0c;Device1_TX<---->Device2_RX USB-to-UART adapter GND 记得接地。 使用&#xff1a; 当 TX,RX 需要电平为 0-3.3V 时&am…

116. UE5 GAS RPG 实现击杀掉落战利品功能

这一篇&#xff0c;我们实现敌人被击败后&#xff0c;掉落战利品的功能。首先&#xff0c;我们将创建一个新的结构体&#xff0c;用于定义掉落体的内容&#xff0c;方便我们设置掉落物。然后&#xff0c;我们实现敌人死亡时的掉落函数&#xff0c;并在蓝图里实现对应的逻辑&…

图像生成-扩散模型的经典之作DDPM

论文&#xff1a;https://arxiv.org/pdf/2006.11239 项目&#xff1a;https://github.com/hojonathanho/diffusion Denoising Diffusion Probabilistic Models (DDPM) 是一种生成模型&#xff0c;它通过一系列逐步添加噪声的过程将数据点映射到一个简单的先验分布&#xff08;…

【Axure视频教程】中继器表格——筛选后的条件判断

今天教大家在Axure制作中继器表格筛选以及筛选后条件交互的原型模板&#xff0c;我们可以在输入框里输入员工姓名&#xff0c;点击查询按钮后可以筛选出对应的数据&#xff0c;筛选后会进行条件判断&#xff0c;如果筛选不到任何数据&#xff0c;就会显示提示弹窗。这个原型模板…

GDPU 人工智能 期末复习

1、python基础 2、回归、KNN、K-Means、搜索方法思想及算法实现步骤 3、知识表示基本概念 4、状态空间的相关概念、表示方法及应用 5、图搜索策略及应用 6、问题归约概念、与或图搜索、博弈树搜索与剪枝 7、决策树、贝叶斯决策算法及其应用 8、神经网络与深度学习基本概念 一、…

几个Linux系统安装体验: 龙蜥服务器系统

本文介绍龙蜥服务器系统&#xff08;AnolisOS&#xff09;的安装。 下载 下载地址&#xff1a; https://openanolis.cn/download 选定版本为8.6。 本文下载的文件名称为AnolisOS-8.6-x86_64-minimal.iso&#xff0c;体积约2.2GB。另&#xff1a;AnolisOS-8.6-QU1-x86_64-dv…

Unity 设计模式-策略模式(Strategy Pattern)详解

策略模式&#xff08;Strategy Pattern&#xff09;是一种行为型设计模式&#xff0c;定义了一系列算法&#xff0c;并将每种算法封装到独立的类中&#xff0c;使得它们可以互相替换。策略模式让算法可以在不影响客户端的情况下独立变化&#xff0c;客户端通过与这些策略对象进…

阿拉丁论文助手:一键点亮学术之路

在学术研究的海洋中&#xff0c;每一位学者都渴望拥有一盏能够照亮前行道路的神灯。阿拉丁论文助手&#xff0c;正是这样一盏神奇的灯&#xff0c;它以其先进的人工智能技术和丰富的学术资源&#xff0c;为学者们的学术写作提供了全方位的支持。 一、阿拉丁论文助手简介 阿拉丁…

YOLOv10改进,YOLOv10添加U-Netv2分割网络中SDI信息融合模块,助力小目标检测

摘要 理论介绍 SDI模块的架构: 平滑卷积(SmoothConv):用于平滑特征图,帮助减少噪声并使得特征更加稳定。Hadamard积:用于在特征图中进行逐元素相乘(点乘),以加强语义信息和细节信息的融合。通道注意力(ChannelAttention):利用通道注意力机制来自动关注重要的特征通…

解锁 AI 潜能 - ChatGPT等大模型提示词技巧

在人工智能领域&#xff0c;ChatGPT 等大语言模型正在重新定义我们的工作和生活方式。这些强大的 AI 大模型 能够理解自然语言并生成高质量的内容&#xff0c;无论是撰写文案、解决问题&#xff0c;还是数据分析&#xff0c;都展现了卓越的表现。如何高效使用这些工具&#xff…