Jlink+OpenOCD+STM32 Vscode 下载和调试环境搭建

对于 Mingw 的安装比较困难,国内的网无法正常在线下载组件,

需要手动下载 x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z 版本的软件包,添加环境变量,并将 mingw32-make.exe 名字改成 make.exe。

对于 OpenOCD,需要使用 Zadig 工具安装 Jlink 驱动。

Vscode 工程的 Makefile 也要更改:

#省略
INTERFACE_CFG="D:\work\tool\OpenOCD-20231002-0.12.0\share\openocd\scripts\interface\jlink_swd.cfg"
TARGET_CFG="D:\work\tool\OpenOCD-20231002-0.12.0\share\openocd\scripts\target\stm32g4x.cfg"#省略
#######################################
clean:
#	-rm -fR $(BUILD_DIR)-del /q $(BUILD_DIR)down: openocd -f $(INTERFACE_CFG) -f $(TARGET_CFG) -c init -c halt -c \"program $(BUILD_DIR)/$(TARGET).hex" -c reset -c shutdown #######################################

参考以下的文章:

在window下使用 VScode 搭建 ARM 开发环境—— 详细版_抛弃ide — 在window下使用vscode搭建arm开发环境-CSDN博客

对于使用 OpenOCD 进行 Debug:

需要修改 Vscode 工程 .vscode 路径下的 launch.json 文件

    {"cwd": "${workspaceRoot}","executable": "./build/ee.elf","name": "Debug Microcontroller","request": "launch","type": "cortex-debug","showDevDebugOutput": false,"servertype": "openocd","configFiles": ["D:/work/tool/OpenOCD-20231002-0.12.0/share/openocd/scripts/interface/jlink_swd.cfg","D:/work/tool/OpenOCD-20231002-0.12.0/share/openocd/scripts/target/stm32g4x.cfg"]},

参考以下文章:

VsCode+OpenOCD 开发stm32系列_vscode openocd-CSDN博客

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

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

相关文章

中标麒麟桌面操作系统软件及安装方法

中标麒麟桌面操作系统软件及安装方法 安装力法 TeXworks编辑器 1、打开终端 输入“ sudo yum install texworks "命令 2、打开软件中心,搜索“TeX 编辑器”下载安装编程软件Anjuta集成开发环境 1、打开终端 输入“ sudo yum install anjuta ” 命令 2、打开软…

Python爬虫知识图谱

下面是一份详细的Python爬虫知识图谱,涵盖了从基础入门到进阶实战的各个环节,涉及网络请求、页面解析、数据提取、存储优化、反爬策略应对以及法律伦理等多个方面,并配以关键点解析和代码案例,以供读者深入学习和实践。 一、Pyth…

django中session值的数据类型是dict,需要手动save(),更新才会传递到其他页面。

django 项目在一个页面中删除了session中的某一个成员(del request.session["test"]["a"]),切换到另外一个页面的时候,session中的那个成员居然还在。让我一阵莫名其妙。 # 对session["test"]进行初…

mysql 2-18

加密与解密函数 其他函数 聚合函数 三者效率 GROUP BY HAVING WHERE和HAVING的区别 子查询 单行子查询和多行子查询 单行比较操作符 多行比较操作符 把平均工资生成的结果当成一个新表 相关子查询 EXISTS 一条数据的存储过程 标识符命名规则 创建数据库 MYSQL的数据类型 创建表…

目标检测一般性问题

Precision(查准率/精确率) 所有预测为正样本的结果中,预测正确的比率。 Precision TP / (TP FP)Recall (查全率/召回率) 所有正样本中被正确预测的比率。 Recall TP / (TP FN)正样本负样本预测为正True Positive(TP)False Positive(FP)预测为负False Negati…

利用ChatGPT进行数据分析——如何提出一个好的prompt

利用ChatGPT进行数据分析——如何提出一个好的prompt ​ 使用ChatGPT时,能否得到一个好的输出结果,关键在于能否提出好的prompt。 1.1 prompt是什么 ​ 现在大家把向ChatGPT输入的内容称作prompt(提示),它的作用是引…

Docker部署Java项目

打包 添加 <!-- 打包插件--> <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins> </build> 通过执行以下命令进…

MySQL数据库基础(九):SQL约束

文章目录 SQL约束 一、主键约束 二、非空约束 三、唯一约束 四、默认值约束 五、外键约束&#xff08;了解&#xff09; 六、总结 SQL约束 一、主键约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录。主键必须包含唯一的值。主键列不能包含 NULL 值。每个表都应该有…

String为什么是不可变的?

原因一、String字符串类型的数据结构 字符串在String类的内部是用一个char[]数组表示的,而这个数组使用final关键字修饰的&#xff0c;所以不能修改。 举例说明&#xff1a; String ip"127.0.0.1"; String retip.replace(".","#"); System.out.…

spring通过类名称获取名字

在Spring中&#xff0c;可以使用反射来根据类的全限定名获取其对应的Bean名称。 下面是示例代码&#xff1a; import org.springframework.beans.factory.BeanFactory; import org.springframework.context.support.ClassPathXmlApplicationContext;public class Main {publi…

BUGKU-WEB 留言板1

题目描述 题目截图如下&#xff1a; 进入场景看看&#xff1a; 解题思路 之间写过一题类似的&#xff0c;所以这题应该是有什么不同的那就按照之前的思路进行测试试试提示说&#xff1a;需要xss平台接收flag&#xff0c;这个和之前说的提示一样 相关工具 xss平台&#xf…

银河麒麟操作系统自动同步时间更新

1、银河麒麟操作系统基于Centos8的&#xff0c;因centos8取消了ntp服务器&#xff0c;所以导致之前使用ntpdate命令无法同步时间 2、centos默认使用chrony模块来进行同步时间 3、修改chrony配置同步时间服务器 vim /etc/chrony.conf 4、目前使用的是阿里云的时间服务器&…

Postgresql源码(122)Listen / Notify与事务的联动机制

前言 Notify和Listen是Postgresql提供的不同会话间异步消息通信功能&#xff0c;例子&#xff1a; LISTEN virtual; NOTIFY virtual; Asynchronous notification "virtual" received from server process with PID 8448. NOTIFY virtual, This is the payload; Asy…

Unity笔记:数据持久化的几种方式

正文 主要方法&#xff1a; ScriptableObjectPlayerPrefsJSONXML数据库&#xff08;如Sqlite&#xff09; 1. PlayerPerfs PlayerPrefs 存储的数据是全局共享的&#xff0c;它们存储在用户设备的本地存储中&#xff0c;并且可以被应用程序的所有部分访问。这意味着&#xf…

深入浅出熟悉OpenAI最新大作Sora文生视频大模型

蠢蠢欲动&#xff0c;惴惴不安&#xff0c;朋友们我又来了&#xff0c;这个春节真的过的是像过山车&#xff0c;Gemini1.5 PRO还没过劲&#xff0c;OpenAI又放大招&#xff0c;人类真的要认输了吗&#xff0c;让我忍不住想要再探究竟&#xff0c;到底是什么让文生视频发生了质的…

头歌C++语言之选择排序练习题

目录 第1关:第二统计数字 任务描述 相关知识 数组声明: 初始化数组: 访问数组元素 选择排序 编程要求 第2关:运动会排名 任务描述 相关知识 多维数组 访问二维数组 编程要求 第3关:单词排序 任务描述 相关知识 strcmp()函数 编程要求

流星蝴蝶剑之七夜听雪中文版下载

软件介绍&#xff1a; 中文名称: 流星蝴蝶剑七夜听雪 英文名称: Meteor 游戏类型: 3D武侠格斗 发行时间: 2002年08月 制作发行: 流星江湖悠悠客栈 语言 :中文 配置要求: 操作系统&#xff1a;Windows 95 / 98 / Me / 2000 / XP 最低配置 CPU&#xff1a;Pentium II 450MHz 以上…

记录 | git win C://User/Administrator/.ssh下没有id_rsa.pub找不到

在用 ssh-keygen -t rsa -C "xxx163.com”生成后&#xff0c;在 C://User/Administrator/.ssh 下找不到 id_rsa.pub 文件 在这个下面找找&#xff1a; C:\Users\Administrator\AppData\Roaming\SPB_Data\.ssh 或者直接看 ssh-keygen 生成的终端日志&#xff0c;上面有说…

单向/双向V2G环境下分布式电源与电动汽车充电站联合配置方法(matlab代码)

目录 1 主要内容 目标函数 电动汽车负荷建模 算例系统图 程序亮点 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序复现博士文章《互动环境下分布式电源与电动汽车充电站的优化配置方法研究》第五章《单向/双向V2G环境下分布式电源与电动汽车充电站联合配置方法》…

0206-1-网络层

第 4 章 网络层 网络层提供的两种服务 虚电路服务 数据报服务 概要: 虚电路服务与数据报服务的对比 网际协议 IP 网际协议 IP 是 TCP/IP 体系中两个最主要的协议之一。与 IP 协议配套使用的还有四个协议&#xff1a; 地址解析协议 ARP (Address Resolution Protocol)逆地…