3. keil + vscode 进行stm32协同开发

1. 为什么使用vscode

主要还是界面友好,使用习惯问题,vscode 从前端,js, c/c++, qt, 仓颉,rust都有很好插件的支持,并且有romote, wsl 等很多插件可以提高效率, 唯一的问题就是要使用插件进行环境的配置。

2. 使用前准备

  • vscode 安装
  • keil MDK 环境安装, 可参考: https://blog.csdn.net/qq_51355375/article/details/143273553
  • 工程模板准备, 可参考: https://blog.csdn.net/qq_51355375/article/details/143276840

3. 插件安装

  • c/c++ Extesion Pack
  • EIDE
  • Cortex DeBug
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

4. 配置EIDE工具链

EIDE官网: https://em-ide.com/zh-cn/docs/intro
插件安装完后,点击图标配置工具链

  • CppCheck
  • OpenOCD Programmer
  • GNU Arm EmdeddedToolchain(stable)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    安装完成会有一个 ‘✔’ 标记将会出现
    在这里插入图片描述

5. 配置外部编译器

在安装的插件中找到eide, 点设置
在这里插入图片描述
在这里插入图片描述
找到keil 安装路径中的ARMCC路径
在这里插入图片描述
填入插件ARMCC安装路径设置
在这里插入图片描述

6. 导入工程

将之前创建的工程模板复制一份
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
是否与原有的 KEIL 项目共存于同一目录下? 如果选择 “No”,你需要为 EIDE 项目指定存放位置 !
这里选择不共存
在这里插入图片描述
在原项目的Projecs目录下创建EIDE目录,存放eide项目文件
在这里插入图片描述
在这里插入图片描述

7. 项目配置

7.1 添加固件包

在这里插入图片描述
选择当时给MDK安装过的固件包
在这里插入图片描述

7.2 编译配置

在这里插入图片描述
编译输出配置:
在这里插入图片描述
一些配置和keil中是对应的
在这里插入图片描述
在这里插入图片描述
下载器选,这里选OpenOCD
在这里插入图片描述
根据实际配置OpenOCD
在这里插入图片描述
检查头文件配置和宏
在这里插入图片描述
可以通过配置文件或直接添加
在这里插入图片描述
在这里插入图片描述

8. 编译下载测试

在这里插入图片描述
在这里插入图片描述
单片机上电,连接下载器
在这里插入图片描述
在这里插入图片描述

9. 调试

9.1 配置 cortex-debug

在这里插入图片描述
点击对应选项在配置文件中会出现对应配置项
在这里插入图片描述
在这里插入图片描述
之前工具链安装过,复制下来就行, 注意,这里使用绝对路径
在这里插入图片描述

9.2 创建调试

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

修改launch.json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Cortex Debug",
            "cwd": "${workspaceFolder}",
            "executable": "build/template/stm32f103.elf",
            "request": "launch",
            "type": "cortex-debug",
            "runToEntryPoint": "main",
            "servertype": "openocd",
            "configFiles": [
                "interface/stlink.cfg",
                "target/stm32f1x.cfg"
            ]
        }
    ]
}

在这里插入图片描述
executable 配置路径在 EIDE 项目下的build 下对应路径
点击调试运行,调试按钮界面出现,测试成功
在这里插入图片描述

10. 自动识别文件编码

在这里插入图片描述
搜索 files.autoGuessEncoding
在这里插入图片描述
勾选后就能自动识别文件编码,防止导入的项目中文乱码

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

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

相关文章

Spring MVC 完整生命周期和异常处理流程图

先要明白 // 1. 用户发来请求: localhost:8080/user/1// 2. 处理器映射器(HandlerMapping)的工作 // 它会找到对应的Controller和方法 GetMapping("/user/{id}") public User getUser(PathVariable Long id) {return userService.getById(id); }// 3. 处理器适配…

Hadoop生态圈框架部署(四)- Hadoop完全分布式部署

文章目录 前言一、Hadoop完全分布式部署(手动部署)1. 下载hadoop2. 上传安装包2. 解压hadoop安装包3. 配置hadoop配置文件3.1 虚拟机hadoop1修改hadoop配置文件3.1.1 修改 hadoop-env.sh 配置文件3.3.2 修改 core-site.xml 配置文件3.3.3 修改 hdfs-site…

【智能算法应用】天鹰优化算法求解二维路径规划问题

摘要 路径规划问题在机器人和无人机导航中起着关键作用。本文提出了一种基于天鹰优化算法的二维路径规划方法。天鹰优化算法(Eagle Strategy Optimization, ESO)通过模拟天鹰的捕猎行为,寻找最优路径。实验结果显示,该算法能够有…

数据结构之二叉树——堆 详解(含代码实现)

1.堆 如果有一个关键码的集合 K { , , , … ,},把它的所有元素按完全二叉树的顺序存储方式存储 在一个一维数组中,则称为小堆( 或大堆 ) 。将根节点最大的堆叫做最大堆或大根堆,根节点最小的…

【机器学习】25. 聚类-DBSCAN(density base)

聚类-DBSCAN-density base 1. 介绍2. 实现案例计算 3. K-dist4. 变化密度5. 优缺点 1. 介绍 DBSCAN – Density-Based Spatial Clustering of Applications with Noise 与K-Means查找圆形簇相比,DBSCAN可以查找任意形状和复杂形状的簇,如S形、椭圆、半圆…

MongoDB 8.0.3版本安装教程

MongoDB 8.0.3版本安装教程 一、下载安装 1.进入官网 2.选择社区版 3.点击下载 4.下载完成后点击安装 5.同意协议,下一步 6.选择第二个Custon,自定义安装 7.选择安装路径 !记住安装路径 8.默认,下一步 9.取…

怎么做才能降低APP用户的卸载率?

常年困扰 App 开发者的始终是一个问题:怎么做才能降低用户卸载率呢? 不要慌,今天这篇文章里,你就会找到解决方案啦。首先请记住: 每个 App 都是有自己独立个性的,所以没有一个通用的公式能让大家套用。 还…

elasticsearch 8.x 插件安装(三)之拼音插件

elasticsearch 8.x 插件安装(三)之拼音插件 elasticsearch插件安装合集 elasticsearch插件安装(一)之ik分词器安装(含MySQL更新) elasticsearch 8.x插件(二)之同义词安装如何解决…

CSP-J2024入门级T3:小木棍

题目链接 CSP-J2024T3:小木棍 题目描述 小 S 喜欢收集小木棍。在收集了 n n n 根长度相等的小木棍之后,他闲来无事,便用它们拼起了数字。用小木棍拼每种数字的方法如下图所示。 现在小 S 希望拼出一个正整数,满足如下条件: 拼出这个数恰好使用

Python小游戏19——滑雪小游戏

运行效果 python代码 import pygame import random # 初始化Pygame pygame.init() # 设置屏幕尺寸 screen_width 800 screen_height 600 screen pygame.display.set_mode((screen_width, screen_height)) pygame.display.set_caption("滑雪小游戏") # 定义颜色 WH…

哪个牌子的宠物空气净化器好?口碑好的宠物空气净化器推荐!

哪个牌子的宠物空气净化器好?作为一名家电测评博主,我发现市面上宠物空气净化器的牌子越来越多了,很多厂家都看中了宠物行业的红利,想来分一杯羹,这就导致很多技术不成熟的产品流入了市场。今年我测试了50多台宠物空气…

【Vue3.js】计算属性监视属性的深度解析

🧑‍💼 一名茫茫大海中沉浮的小小程序员🍬 👉 你的一键四连 (关注 点赞收藏评论)是我更新的最大动力❤️! 📑 目录 🔽 前言1️⃣ 计算属性概述2️⃣ 监视属性概述3️⃣ 计算属性与监视属性的对比…

[SAP ABAP] 在选择屏幕上的标准工具栏上增加自定义按钮

SAP系统的选择屏幕的标准工具栏上预先定义了5个按钮,对应的功能码是FC01、FC02、FC03、FC04、FC05,该功能码默认是不激活的。用户可以使用以下代码来激活这5个按钮 SELECTION-SCREEN FUNCTION KEY i. 提示Tips:这里的 i 必须是整数1-5&…

SIwave:释放 DCIR 求解器的强大功能

SIwave 是一种电源完整性和信号完整性工具。本文讨论了 DCIR 是电源完整性求解器之一。 DCIR 对于研究 powerplane 配电网络 PDN 的电压和电流分布是必要的。该求解器可计算任何电源层中的电压降、接地层中的电压上升、电流分布、每个过孔中的电流,检测任何过孔中的…

【论文笔记】Token Turing Machines

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: Token Turing Machines 作…

2. Flink快速上手

文章目录 1. 环境准备1.1 系统环境1.2 安装配置Java 8和Scala 2.121.3 使用集成开发环境IntelliJ IDEA1.4 安装插件2. 创建项目2.1 创建工程2.1.1 创建Maven项目2.1.2 设置项目基本信息2.1.3 生成项目基本框架2.2 添加项目依赖2.2.1 添加Flink相关依赖2.2.2 添加slf4j-nop依赖2…

XHCI 1.2b 规范摘要(九)

系列文章目录 XHCI 1.2b 规范摘要(一) XHCI 1.2b 规范摘要(二) XHCI 1.2b 规范摘要(三) XHCI 1.2b 规范摘要(四) XHCI 1.2b 规范摘要(五) XHCI 1.2b 规范摘要…

【JavaEE初阶】网络原理(5)

欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 目录 路由选择 数据链路层>以太网 MTU mac地址和IP地址的区别 空间范围不同 应用范围不同 ARP协议/ARP数据包 DNS(域名解析系统) 路由选择 每个路由器,无法知道整个网络…

图书管理系统汇报

【1A536】图书管理系统汇报 项目介绍1.用户登录注册功能1. 1用户角色管理2.图书管理功能2.1 添加图书2.2 编辑图书2.3 删除图书 3.图书搜索和筛选3.1 图书搜索3.2 图书筛选 4.图书借阅、图书归还4.1 图书借阅4.2 图书归还 5.用户信息管理5.1上传头像5.2修改头像5.3 修改密码 项…

清晰易懂的JavaScript进阶部分——DOM操作 (节点获取,节点属性修改,节点创建与插入,CSS样式的修改)

DOM操作(Document Object Model 文档对象模型)指的是通过JavaScript来操作网页的结构和内容。DOM提供了一种以文档树形式表示HTML或XML文档的方式,可以使用JavaScript来访问和修改网页的元素、属性和文本内容,且提供了一系列的函数…