VSCode Keil Assintant 联合开发STM32
文章目录
- VSCode+Keil Assistant+UV5
- 🥇软件下载
- 🥇配置环境
- 🥇插件安装
- 🥈C/C++ Extension Pack
- 🥉C/C++ Extension Pack介绍
- 🥉插件安装
- 🥈Keil Assistant
- 🥉Keil Assistant介绍
- 🥉插件安装与使用
- 🥉问题
- 🥇使用Keil Assistant打开工程的正确方式
VSCode+Keil Assistant+UV5
Date : 2023/12.5
Editor : RUAN YANG
🥇软件下载
-
VS Code
-
Keil 5
-
STM32CubeMX
🥇配置环境
-
配置MinGW
用于识别C/C++语言的语法,为VS Code提供智能提示和代码洞察的能力
-
VS Code下载插件
- C/C++ Extension Pack
- Keil Assistance
🥇插件安装
🥈C/C++ Extension Pack
🥉C/C++ Extension Pack介绍
C/C++ Extension Pack 是一个 Visual Studio Code 的扩展包,专门为 C 和 C++ 开发者提供了一系列有用的工具和功能,以提升在 Visual Studio Code 中进行 C/C++ 开发的体验。
C/C++ Extension Pack 包含了以下几个常用的扩展:
-
C/C++: 这是 Microsoft 官方提供的 C/C++ 扩展,提供了基本的语法高亮、代码补全、代码导航、调试等功能,支持多种编译器和调试器。
-
C++ Intellisense: 这个扩展提供了更强大的 C++ 代码智能感知功能,可以实时分析代码,提供更准确的代码补全、参数提示、符号引用等功能。
-
Code Runner: 这个扩展可以让你在 Visual Studio Code 中直接运行当前文件的代码,支持多种编程语言,包括 C 和 C++。
-
CMake: 这个扩展为 CMake 项目提供了支持,可以在 Visual Studio Code 中编辑和构建 CMakeLists.txt 文件,并提供代码补全、语法检查等功能。
-
C/C++ Clang Command Adapter: 这个扩展使用 Clang 提供了更快速和准确的代码补全、语法检查和重构功能。
-
CMake Tools: 这个扩展提供了更强大的 CMake 支持,可以自动检测和配置 CMake 项目,提供代码补全、语法检查、构建和调试等功能。
-
C++ TestMate: 这个扩展可以帮助你在 Visual Studio Code 中进行 C++ 单元测试,支持多种测试框架,如 Google Test、Catch2 等。
这些扩展组成了 C/C++ Extension Pack,可以一键安装,帮助开发者更好地进行 C 和 C++ 开发。你可以在 Visual Studio Code 的扩展商店中搜索 “C/C++ Extension Pack” 并安装它,或者通过 Visual Studio Code 的扩展管理界面直接安装这些单独的扩展。
🥉插件安装
在VScode的扩展界面上面搜索C/C++,然后点击install。
🥈Keil Assistant
🥉Keil Assistant介绍
Keil Assistant 是一个辅助工具,旨在帮助开发人员在 Keil MDK(Microcontroller Development Kit)集成开发环境中更高效地进行嵌入式软件开发。Keil MDK 是一款针对 ARM Cortex-M 微控制器的开发工具,提供了编译、调试、仿真和软件包管理等功能。
Keil Assistant 提供了一系列辅助功能,可以简化和加速开发过程。以下是一些 Keil Assistant 的常见功能:
-
项目创建和配置: Keil Assistant 可以帮助你快速创建新项目,并提供项目配置向导,帮助你设置编译器选项、链接器脚本、调试器配置等。
-
代码生成: Keil Assistant 可以自动生成一些常见的代码模板,如启动代码、中断向量表、系统初始化等,帮助你快速开始项目开发。
-
设备支持: Keil Assistant 提供了设备数据库,可以帮助你选择和配置目标芯片,包括芯片型号、Flash 和 RAM 大小、外设等。它还可以自动下载和安装设备支持包,以确保你使用的芯片和外设驱动是最新的。
-
调试和仿真: Keil Assistant 提供了调试和仿真相关的功能,包括调试器配置、目标设备连接设置、调试会话管理等。它可以帮助你更方便地配置和管理调试环境,并提供一些调试技巧和建议。
-
软件包管理: Keil Assistant 可以帮助你管理和使用 Keil MDK 的软件包。它提供了软件包搜索、安装、更新和移除等功能,使你可以方便地获取和使用第三方软件库和组件。
请注意,Keil Assistant 是一个辅助工具,并不是 Keil MDK 的一部分。它可以作为一个独立的插件或工具集成到 Keil MDK 中,提供额外的功能和便利性。具体的功能和使用方式可能会根据不同的版本和配置而有所差异,建议参考相关文档或官方资源以获取更详细的信息。
🥉插件安装与使用
1.在VScode的扩展界面上面搜索Keil Assistant,然后点击install。
2.进入VScode的扩展界面,选中Keil Assistant右下角的齿轮,点击扩展设置,进入Keil Assistant设置界面
3.在Keil Assistant设置界面,根据你的单片机类型(C51/ARM),在相应的输入栏里粘贴keil的路径即可。
4.然后就可以在keil Uvision project栏去添加你的keil工程和编译(编译自动保存文件),下载等,添加工程时选中你的工程文件(.uvprojx)即可
🥉问题
问题:头文件无法打开,并出现红色波浪线?
原因:vscode 找不到编译器。
解决办法:
- 打开
工程文件(.uvprojx)
所在的文件夹
- 问题解决✔️
🥇使用Keil Assistant打开工程的正确方式
- 打开
工程文件(.uvprojx)
所在的文件夹。
- 此时keil Uvision project就自动将工程添加进来了,就不需要手动添加。
注意:导入第三方库后需要在Keil里设置好编译路径。
相关文章:

VSCode Keil Assintant 联合开发STM32
文章目录 VSCodeKeil AssistantUV5🥇软件下载🥇配置环境🥇插件安装🥈C/C Extension Pack🥉C/C Extension Pack介绍🥉插件安装 🥈Keil Assistant🥉Keil Assistant介绍🥉插…...
华为交换机基本配置
一、配置时间 sys ntp-service unicast-server 192.168.1.1 ntp-service unicast-server 192.168.1.2 clock timezone UTC add 8 clock timezone CST add 08:00:00 undo ntp-service disable q手动设置一个时间 clock datetime 13:43:00 2023-10-10save ysys保存!保…...
每天一个Linux命令 -- (7)more命令
欢迎阅读《每天一个Linux命令》系列!在本篇文章中,将介绍Linux系统下的more命令,它用于逐屏显示文件的内容。 概念 more命令是Linux系统下的文件逐屏显示命令,用于逐屏显示文件的内容。 命令操作 more命令的语法如下࿱…...

JUnit 之初体验
文章目录 1.定义2.引入1)使用 Maven 工具2)使用 Gradle 工具3)使用 Jar 包 2.样例0)前提1)测试类2)测试方法3)测试断言4)实施 总结 1.定义 JUnit 是一个流行的 Java 单元测试框架&a…...
【前端设计模式】之适配器模式
适配器模式是一种常见的设计模式,用于将一个类的接口转换成客户端所期望的另一个接口。在前端开发中,适配器模式可以帮助我们解决不同框架或库之间的兼容性问题,提高代码的复用性和可维护性。 适配器模式特性 适配器类:适配器类…...

【数据结构】循环队列
🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 🎏队列顺序存储的不足 🎏循环队列的定义 🎏设计循环队列 结语 🎏队列顺序存储的不足 我们假设用一个可以存放为n个数据…...

Docker的资源控制
Docker的资源控制: 对容器使用宿主机的资源进行限制,Docker 通过 Cgroup 来控制容器使用的资源配额,包括 CPU 内存 磁盘i/o Docker 使用Linux自带的功能cgroup,Cgroup 是 ControlGroups 的缩写 C crontrol groups是Linux内核…...

SpringBoot 自动装配原理详解
什么是 SpringBoot 自动装配? 我们现在提到自动装配的时候,一般会和 Spring Boot 联系在一起。但是,实际上 Spring Framework 早就实现了这个功能。Spring Boot 只是在其基础上,通过 SPI 的方式,做了进一步优化。 Spr…...

深度探索Linux操作系统 —— 构建initramfs
系列文章目录 深度探索Linux操作系统 —— 编译过程分析 深度探索Linux操作系统 —— 构建工具链 深度探索Linux操作系统 —— 构建内核 深度探索Linux操作系统 —— 构建initramfs 文章目录 系列文章目录前言一、为什么需要 initramfs二、initramfs原理探讨三、构建基本的init…...

使用cmake构建Qt6.6的qt quick项目,添加应用程序图标的方法
最近,在学习qt的过程中,遇到了一个难题,不知道如何给应用程序添加图标,按照网上的方法也没有成功,后来终于自己摸索出了一个方法。 1、准备一张图片作为图标,保存到工程目录下面,如logo.ico。 …...
VUE宝典之vue-dialog使用
文章目录 🍁vue-dialog概述🍁vue-dialog项目引入🍂安装Vue Dialog插件🍂引入Vue Dialog插件🍂引入 Vue Dialog 组件🍂在组件中使用Vue Dialog 🍁vue-dialog代码示例🍁vue-dialog父子…...

AWTK 串口屏开发(1) - Hello World
1. 功能 这个例子很简单,制作一个调节温度的界面。在这里例子中,模型(也就是数据)里只有一个温度变量: 变量名数据类型功能说明温度整数温度。范围 (0-100) 摄氏度 2. 创建项目 从模板创建项目,将 hmi/…...

鸿蒙Harmony开发初探
一、背景 9月25日华为秋季全场景新品发布会,余承东宣布鸿蒙HarmonyOS NEXT蓄势待发,不再支持安卓应用。网易有道、同程旅行、美团、国航、阿里等公司先后宣布启动鸿蒙原生应用开发工作。 二、鸿蒙Next介绍 HarmonyOS是一款面向万物互联,全…...

【MySQL语言汇总[DQL,DDL,DCL,DML]以及使用python连接数据库进行其他操作】
MySQL语言汇总[DQL,DDL,DCL,DML] SQL分类1.DDL:操作数据库,表创建 删除 查询 修改对数据库的操作对表的操作复制表(重点)!!!!! 2.DML:增删改表中数据3.DQL:查询表中的记录…...

解决方案:Mac 安装 pip
python3 --version 通过以下命令来下载pip: curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py curl命令允许您指定一个直接下载链接。使用-o选项来设置下载文件的名称。 通过运行以下命令安装下载的包: python3 get-pip.py...

【恋上数据结构】前缀树 Tire 学习笔记
Tire 需求分析 如何判断一堆不重复的字符串是否以某个前缀开头? 用 Set\Map 存储字符串(不重复)遍历所有字符串进行判断缺点:时间复杂度 O(n) 有没有更优的数据结构实现前缀搜索? Tire(和 Tree 同音&a…...

2023五岳杯量子计算挑战赛数学建模思路+模型+代码+论文
赛题思路:12月6日晚开赛后第一时间更新,获取见文末名片 “五岳杯”量子计算挑战赛,是国内专业的量子计算大赛,也是玻色量子首次联合移动云、南方科技大学共同发起的一场“企校联名”的国际竞赛,旨在深度融合“量子计算…...
Angular中的单向和双向数据绑定
1、单向数据绑定: 单向数据绑定是指数据从组件流向视图或从视图流向组件,但数据的流动是单向的。 在Angular中,主要有以下两种形式的单向数据绑定: 从组件到视图(插值表达式): 使用插值表达式…...

【Vue】vue整合element
上一篇: vue项目的创建 https://blog.csdn.net/m0_67930426/article/details/134816155 目录 整合过程 使用: 整合过程 项目创建完之后,使用编译器打开项目 在控制器里输入如下命令 npm install element-ui 如图表示安装完毕 然后在…...

HarmonyOS应用开发者高级认证考试答案
一、判断题 云函数打包完成后,需要到AppGallery Connect创建对应函数的触发器才可以在端侧中调用(错)在column和Row容器组件中,aligntems用于设置子组件在主轴方向上的对齐格式,justifycontent用于设置子组件在交叉轴…...

【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...

【C++】纯虚函数类外可以写实现吗?
1. 答案 先说答案,可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

ubuntu22.04有线网络无法连接,图标也没了
今天突然无法有线网络无法连接任何设备,并且图标都没了 错误案例 往上一顿搜索,试了很多博客都不行,比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动,重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!
目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...