CH347使用笔记:CH347结合STM32CubeIDE实现单片机下载与调试

目录

  • 基于 STM32CubeIDE的 CH347 JTAG/SWD调试器使用说明
    • 1. CH347驱动安装与配置
    • 2. STM32CubeIDE调试器配置
      • 2.1 打开相关工程后,进行以下操作
      • 2.2 openocd.exe替换
      • 2.3 脚本添加
      • 2.4 更改调试器选择
    • 3. 下载程序
    • 4. 使用过程中可能遇到的问题
      • 4.1 CH347未插入
      • 4.2 Openocd.exe未进行替换
      • 4.3 cfg配置文件未修改
    • 5、附件

基于 STM32CubeIDE的 CH347 JTAG/SWD调试器使用说明

1. CH347驱动安装与配置

  • 串口部分
  • https://www.wch.cn/downloads/CH343SER_EXE.html
  • SPI/I2C及 JTAG/SWD部分
  • https://www.wch.cn/downloads/CH341PAR_EXE.html

安装完成后设备管理器中可以看到相应的设备。
在这里插入图片描述

2. STM32CubeIDE调试器配置

2.1 打开相关工程后,进行以下操作

  1. 点击 Run > Run Configurations… 按钮。
  2. 在弹出的配置页面新建 STM32 C/C++ Application
  3. 调试器页面进行三步配置,并点击右下角 Apply 按钮保存。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2.2 openocd.exe替换

  1. 点击 Show Command Line 按钮。
  2. 找到原始 openocd.exe 所在的实际路径。
  3. 替换为附件中所提供的 openocd.exe
    在这里插入图片描述

2.3 脚本添加

  1. 在以下路径中添加 ch347.cfg
  2. ch347.cfg 中指定将要使用的 JTAG 或 SWD 接口。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2.4 更改调试器选择

  1. 打开图中绿色圈出的 Script File(例如 STM32F103RB_Nucleo Debug.cfg)文件。
  2. 将上方ST-link相关部分删除,保留最后target 指定,并将调试器指定为 CH347。
    在这里插入图片描述

3. 下载程序

完成上述配置后,点击 Run 按钮开始下载程序。控制台信息如下:
在这里插入图片描述
单片机重新上电后,所下载程序开始运行。
程序 Debug
菜单栏中点击刚配置的 CH347调试器,进行程序调试,控制台输出如下信息:
在这里插入图片描述

4. 使用过程中可能遇到的问题

4.1 CH347未插入

下载时将出现如下错误。
在这里插入图片描述

4.2 Openocd.exe未进行替换


请转至第2.2小节进行操作。

4.3 cfg配置文件未修改

在这里插入图片描述
请按第2.4小节进行操作。

5、附件

https://github.com/ZhiyuanYuanNJ/OpenOCD_CH347_STMicroelectronics/releases/tag/OpenOCD_CH347_STMicroelectronics_r6

https://gitcode.com/qq_43010294/OpenOCD_CH347_STMicroelectronics/releases/OpenOCD_CH347_STMicroelectronics_r6

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

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

相关文章

LVGL常用功能备忘

概述 本文选用LVGL 8.3版本 8.3版本实测帧率比起9版本高,多个GUI工具支持 相关链接 LVGL官网 https://lvgl.io/ LVGL 文档 https://docs.lvgl.io/8.3/ LVGL仓库 https://github.com/lvgl LVGL移植 获取源码 https://github.com/lvgl/lvgl/tree/release/v8.3 下载文件即可 文件…

k8s搭建kube-prometheus

后续再补一个k8s集群搭建的博客,从0开始搭建k8s集群。使用kube-prometheus非常方便,主要问题只在于拉取镜像。除了拉取镜像外其他时间5分钟即可。耐心等待拉取镜像。 一.kube-prometheus简介 kube-prometheus 是一个专为 Kubernetes 设计的开源监控解决…

uni-app——数据缓存API

数据缓存API 在 uni-app 开发中,数据缓存 API 起着重要作用,它能够将需要的数据保存到本地,同时也提供了获取本地缓存数据、移除缓存数据以及清理缓存数据的功能。在实际项目里,数据缓存 API 常被用于存储会员登录状态信息、购物…

突破时空边界:Java实时流处理中窗口操作与时间语义的深度重构

一、流处理范式的革命性演进 在数字化浪潮的推动下,数据处理范式正经历着从批量到实时的根本性转变。这种转变不仅改变了数据处理的时效性特征,更重新定义了时间维度在计算模型中的战略地位。Apache Flink的统计数据显示,现代流处理系统每秒…

【2025 深圳大学-腾讯云程序设计竞赛(热身赛)】题解

比赛链接 A. Cloud Studio的共享连接 题目大意 && Solution 给定 T T T 组长度均为 12 12 12 的字符串 s s s。 对每个 s s s,将其按从左到右的顺序两两分组形成 6 6 6 个 A S C I I \rm{ASCII} ASCII 码,对这 6 6 6 个 A S C I I \…

APScheduler - 用户指南

本文翻译整理自:https://apscheduler.readthedocs.io/en/3.x/userguide.html 文章目录 一、安装 APScheduler二、代码示例三、基本概念四、选择合适的 scheduler, job store(s), executor(s) and trigger(s)五、配置调度器方法 1:方法 2:方法 3: 六、启动调度器七、…

vue3:十一、主页面布局(优化页面跳转方式)

:router"true" 一、参考文章 vue3:十一、主页面布局(实现基本左侧菜单右侧内容效果)-CSDN博客 参考上述文章可知,页面跳转是通过在js中定义的菜单中携带的path,然后通过菜单的点击事件完成的跳转,现在可以进行优化,直…

每日一题--C与C++的差别

C与C的差别 1. 编程范式 C 纯 过程式编程语言,强调函数和结构化编程。 代码通过函数和顺序步骤组织,适合底层系统开发。 C 支持 多范式编程: 过程式编程 面向对象编程(OOP)(类、继承、多态) …

Etcd 服务搭建

💢欢迎来到张胤尘的开源技术站 💥开源如江河,汇聚众志成。代码似星辰,照亮行征程。开源精神长,传承永不忘。携手共前行,未来更辉煌💥 文章目录 Etcd 服务搭建预编译的二进制文件安装下载 etcd 的…

玩转C#函数:参数、返回值与游戏中的攻击逻辑封装

Langchain系列文章目录 01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain:从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…

WebRTC建立Description的通信的实际的原理

一、正确流程的核心逻辑 // 发送端正确代码示例 const senderPC new RTCPeerConnection();// 生成Offer时立即开始收集候选 ✅ senderPC.createOffer().then(offer > {await senderPC.setLocalDescription(offer); // 触发icecandidate事件sendToReceiver(offer); });// …

EmbodiedSAM:在线实时3D实例分割,利用视觉基础模型实现高效场景理解

2025-02-12,由清华大学和南洋理工大学的研究团队开发 一种名为 EmbodiedSAM(ESAM)的在线3D实例分割框架。该框架利用2D视觉基础模型辅助实时3D场景理解,解决了高质量3D数据稀缺的难题,为机器人导航、操作等任务提供了高…

信创-人大金仓数据库创建

一. 官文 资源下载地址 https://download.kingbase.com.cn/xzzx/index.htm 下载安装文件 下载授权文件 产品文档地址:https://help.kingbase.com.cn/v8/index.html 二. 概念 2.1 体系结构 ‌ 实例结构 ‌:由数据库文件和 KingbaseES 实例组成。数据…

C++第三种异质集合 std::any方式实现

#include <type_traits> #include <any> #include <functional> #include <iomanip> #include <iostream> #include <typeindex> #include <typeinfo> #include <unordered_map> #include <vector> //any是编译期的异质…

Springboot实现使用断点续传优化同步导入Excel

springboot实现使用断点续传优化同步导入Excel 需求前言断点续传前端实现后端实现完结撒花&#xff0c;如有需要收藏的看官&#xff0c;顺便也用发财的小手点点赞哈&#xff0c;如有错漏&#xff0c;也欢迎各位在评论区评论&#xff01; 需求前言 在跨境电商系统中&#xff0c…

mysql 对json的处理?

MySQL从5.7版本开始支持JSON数据类型&#xff0c;并提供了多种函数来查询和处理JSON数据。以下是一些基本的操作和函数&#xff1a; 创建包含JSON列的表&#xff1a; 可以直接在表定义中指定某列为JSON类型。 CREATE TABLE my_table (id INT NOT NULL AUTO_INCREMENT,data JSON…

Nexus L2 L3基本配置

接口基本配置 N7K上所有端口默认处于shutdown状态; N5K上所有端口默认处于no shutdown状态(所有端口都是switchport) 默认所有接口都是三层route模式, 只有当线卡不支持三层的时候, 接口才会处于二层switchport模式 show run all | in “system default” 创建SVI口需要提前打…

HCIA-AI人工智能笔记3:数据预处理

统讲解数据预处理的核心技术体系&#xff0c;通过Python/Pandas与华为MindSpore双视角代码演示&#xff0c;结合特征工程优化实验&#xff0c;深入解析数据清洗、标准化、增强等关键环节。 一、数据预处理技术全景图 graph TD A[原始数据] --> B{数据清洗} B --> B1[缺…

G-Star 校园开发者计划·黑科大|开源第一课之 Git 入门

万事开源先修 Git。Git 是当下主流的分布式版本控制工具&#xff0c;在软件开发、文档管理等方面用处极大。它能自动记录文件改动&#xff0c;简化合并流程&#xff0c;还特别适合多人协作开发。学会 Git&#xff0c;就相当于掌握了一把通往开源世界的钥匙&#xff0c;以后参与…

MySQL错误 “duplicate entry ‘1‘ for key ‘PRIMARY‘“ 解决方案

文章目录 1. 错误原因分析2. 快速解决方法场景1:手动插入重复值场景2:自增主键冲突场景3:批量插入冲突3. 长期预防策略4. 高级排查技巧该错误通常由主键冲突引起,表示尝试插入或更新的主键值已存在于表中。以下是分步排查和解决方法: 1. 错误原因分析 主键唯一性约束:表…