VsCode + EIDE + OpenOCD + STM32(野火DAP) 开发环境配置

VsCode + EIDE + OpenOCD + STM32(野火DAP) 开发环境配置

在这里插入图片描述
接受了新时代编辑器的我,实在受不了Keil的上古编辑页面,周树人说过:由奢入俭难,下面我们一起折腾一下开源软件Vscode, 用以开发51和STM32,有错误之处,欢迎大佬指正

步骤一 :下载软件

VScode
MinGW
OpenOCD
配置MINGW:环境变量添加MinGW 、OpenOCD的bin目录
测试:gcc -v openocd -
在这里插入图片描述
在这里插入图片描述

步骤二 :安装插件

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

配置EIDE插件路径:添加KEIL路径,包含ARM C51

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

步骤三 :EIDE 项目创建:

  1. 安装实用工具,也可以选择手动安装,配置环境变量时选择的路径不一样而已,其他的如Jlink、STlink的可以等同配置
    Toolcharin or arm-none-eabi-gcc
    openocd

    EIDE: .eide\tools\gcc_arm\bin\
    手动安装:你下载安装的位置,例如:D:\Program Files (x86)\gcc-arm-none-eabi-10.3-2021.10\bin
    在这里插入图片描述
  2. 创建项目
    • 选择创建项目
    • 内置项目模板
    • 选择STM32F103,然后取名(尽量使用英文)
    • 点击切换工作区,切换到插件项目页面
      在这里插入图片描述

步骤四 项目配置

  1. 芯片支持包:点击+from repo输入STM32F1选择STM32F10xx_DFP.2.3.0.pack, 然后点击添加芯,选择对应芯片型号,如STM32F103C8在这里插入图片描述 2. 项目构建配置:gcc or gcc-arm, 不正确会有提醒,在输出界面 - 烧录器选择:点击切换按钮,选择openOCD(选择对应烧录器,如STLink、JLink), 接口配置选择:cmsis-dap.cfg(野火使用的是这个),其他可对应选择 - 在这里插入图片描述3. 配置完成后的页面:
    在这里插入图片描述
    然后就可以点击项目编译了,编译成功界面如下:
    在这里插入图片描述

步骤五 cortex-debug - Openocd-Debuger 配置

  1. 切换到调试界面,选择openOCD, 点击配置:
    在这里插入图片描述
  2. 点击切换,,将右侧切换到EIDE界面
    配置相关目录,完整的cortex-debug文件(点击添加配置后直接粘贴该代码,然后配置):
{
    "cwd": "${workspaceRoot}",
    "executable": "${workspaceRoot}/build/Debug/STM32F103-Demo.elf",		// 可执行文件的路径
    "name": "cmsis-dap",                                          //用的什么仿真stlink还是jlink
    "request": "launch",
    "type": "cortex-debug",
    "servertype": "openocd",                                    //我这里是openocd,你看你自己用的什么
    "svdFile": ".pack/Keil/STM32F1xx_DFP.2.3.0/SVD/STM32F103xx.svd",
    "configFiles": [
        "interface/cmsis-dap.cfg",
        "target/stm32f1x.cfg"                                   
    ],
    "runToEntryPoint": "main" 
}

在这里插入图片描述

  1. 点击调试运行
    在这里插入图片描述

以上,环境搭建已经完成,有问题评论区细聊,不足之处请大佬指正。

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

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

相关文章

esp32驱动带字库芯片TFT屏幕

前言 学习esp32单片机开发,前段时间在网上买了一块2.0寸TFT屏幕。 长这个样子,这个屏幕带汉字字库的硬件模块。我仔细看了一下这个字库模块上面写的字是25Q32FVSIG 1336 文档 卖家也发来了开发文档,是个doc文档,张这个样子。 开…

短分享-Flink图构建

一、背景 通过简单的书写map、union、keyby等代码,Flink便能构建起一个庞大的分布式计算任务,Flink如何实现的这个酷炫功能呢?我们本次分享Flink做的第一步,将代码解析构建成图 源码基于Flink 2.10,书籍参考《Flink核…

在 ASP.NET Core 中启用 Brotli 和 Gzip 响应压缩

在本文中,我们将探讨如何在 ASP.NET Core 应用程序中启用响应压缩,重点介绍 Brotli 和 Gzip 算法以及如何验证压缩是否有效。 什么是响应压缩? 响应压缩通过使用Brotli 或 Gzip等算法来最小化 HTTP 响应的大小。这些算法在传输文本资产&#…

调研:如何实现智能分析助手(Agent)(AutoCoder、FastGPT、AutoGen、DataCopilot)

文章目录 调研:如何实现智能分析助手(Agent)(AutoCoder、FastGPT、AutoGen、DataCopilot)一、交互流程二、数据流程三、架构分类四、开源产品4.1 AutoCoder(知识库变体)4.2 FastGPT(…

由麻省理工学院计算机科学与人工智能实验室等机构创建低成本、高效率的物理驱动数据生成框架,助力接触丰富的机器人操作任务

2025-02-28,由麻省理工学院计算机科学与人工智能实验室(CSAIL)和机器人与人工智能研究所的研究团队创建了一种低成本的数据生成框架,通过结合物理模拟、人类演示和基于模型的规划,高效生成大规模、高质量的接触丰富型机…

Oracle OCP认证考试考点详解083系列01

题记: 本系列主要讲解Oracle OCP认证考试考点(题目),适用于19C/21C,跟着学OCP考试必过。 1. 第1题: 题目 解析及答案: 关于自动工作量存储库(AWR)快照,以下哪三个选项…

perl初试

我手头有一个脚本,用于从blastp序列比对的结果文件中,进行文本处理, 获取序列比对最优的hit记录 #!/usr/bin/perl -w use strict;my ($blast_out) ARGV; my $usage "This script is to get the best hit from blast output file wit…

Nginx1.19.2不适配OPENSSL3.0问题

Nginx 1.19.2 是较老的版本,而 Nginx 1.21 版本已经适配 OpenSSL 3.0,所以建议 升级 Nginx 到 1.25.0 或更高版本: wget http://nginx.org/download/nginx-1.25.0.tar.gz tar -xzf nginx-1.25.0.tar.gz cd nginx-1.25.0 ./configure --prefix…

MySQL复合查询——通过案例讲解每个指令

0.准备工作 在开始之前可以先准备好相同的数据库 方法一:直接在MySQL创建相应的数据库和表 第一步:创建数据库并进入数据库 create database soctt_data; use soctt_data; 第二步:创建部门信息表 DROP TABLE IF EXISTS dept; CREATE TABL…

Kubernetes全解析:从容器编排到云原生霸主

前言 在数字化转型浪潮中,云原生技术已成为企业构建敏捷、弹性基础设施的核心驱动力。作为容器编排领域的“操作系统”,Kubernetes(K8s)凭借其自动化部署、弹性伸缩和跨环境一致性等能力,正重新定义现代应用的运维范式…

我的两个医学数据分析技术思路

我的两个医学数据分析技术思路 从临床上获得的或者公共数据库数据这种属于观察性研究,是对临床诊疗过程中自然产生的数据进行分析而获得疾病发生发展的规律等研究成果。再细分,可以分为独立危险因素鉴定和预测模型构建两种。 独立危险因素鉴定是一直以…

图像滑块对比功能的开发记录

背景介绍 最近,公司需要开发一款在线图像压缩工具,其中的一个关键功能是让用户直观地比较压缩前后的图像效果。因此,我们设计了一个对比组件,它允许用户通过拖动滑块,动态调整两张图像的显示区域,从而清晰…

迷你世界脚本UI五子棋小游戏

wzq_jm "7477124677881080183-22855"--界面id wzq_jmjxh "7477124677881080183-22855_"--界面加下划线 wzq_tc "7477124677881080183-22855_262"--退出按钮id wzq_hdlt1 "7477124677881080183-22855_267"--互动聊天按钮 快点吧&a…

大模型理论基础介绍

大模型理论基础 {docsify-ignore-all} 项目简介 本项目旨在作为一个大规模预训练语言模型的教程,从数据准备、模型构建、训练策略到模型评估与改进,以及模型在安全、隐私、环境和法律道德方面的方面来提供开源知识。 项目将以斯坦福大学大规模语言模型课…

【Spring Boot 应用开发】-04-02 自动配置-数据源-手撸一个最简持久层工具类

设计概述 有时候我们不需要太重的持久层,就像要一个最简的、轻量的持久层,便于维护和扩展,代码掌握在自己手里,那么我们可以基于springboot的自动配置,快速的构建一个自己的持久层轻量框架,不说废话&#…

MicroServer Gen8再玩之三 OCP万兆光口+12G阵列卡

前一段时间,做了一片双OCP的合成转接卡,在GEN8上用了起来,有些小伙伴觉得还不错,有些则对LSI2308这块阵列卡性能表示不甚满意。 于是乎,就有了后续折腾的理由。 前一段时间,我还不了解阵列卡有啥区别&…

PostgreSQL10 物理流复制实战:构建高可用数据库架构!

背景 PostgreSQL 10 在高可用架构中提供了物理复制,也称为流复制(Streaming Replication),用于实现实例级别的数据同步。PostgreSQL 复制机制主要包括物理复制和逻辑复制:物理复制依赖 WAL 日志进行物理块级别的同步&…

Linux网络安全技术与实现

🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 Linux 网络安全和优化 Jephe Wu 翻译整理 简介 网络安全是一个非常重要的课题,基本上你运行的服务后台越多,你就可能打开更多的安全漏洞.如果配置的恰当的话,Li…

[黑马点评]关于原子性,锁的笔记

不得不说,黑马点评是一个非常不错的课程,对于线程安全方面的讲解十分详细且明朗,故写下这篇笔记方便复习及帮助后人() 目标 我们的目标是对于大量对于优惠劵的访问时,要防止超卖问题以及一人多单问题。 单J…

mapbox高阶,结合threejs(threebox)添加三维球体

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️threebox Sphere静态对象二、🍀使用t…