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 打开相关工程后,进行以下操作
- 点击
Run>Run Configurations…按钮。 - 在弹出的配置页面新建
STM32 C/C++ Application。 - 在
调试器页面进行三步配置,并点击右下角Apply按钮保存。



2.2 openocd.exe替换
- 点击
Show Command Line按钮。 - 找到原始
openocd.exe所在的实际路径。 - 替换为附件中所提供的
openocd.exe。

2.3 脚本添加
- 在以下路径中添加
ch347.cfg。 - 在
ch347.cfg中指定将要使用的 JTAG 或 SWD 接口。



2.4 更改调试器选择
- 打开图中绿色圈出的
Script File(例如STM32F103RB_Nucleo Debug.cfg)文件。 - 将上方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
相关文章:
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…...
从C语言开始的C++编程生活(1)
前言 本系列文章承接C语言的学习,需要有C语言的基础才能学会哦。 第1篇主要讲的是有关于C的命名空间、输入和输出。 C才起步,都很简单呢! 目录 前言 命名空间namespace 基本语法 作用 使用命名空间 域作用限定符 :: 基本语法 using n…...
Python F-String 深度解析:原理、用法与最佳实践
# Python F-String 深度解析:原理、用法与最佳实践 ## 一、引言 Python 的 F-String(格式化字符串字面值)自 3.6 版本引入以来,凭借其简洁性和高效性,迅速成为字符串格式化的首选方案。本文将从原理、核心用法和编码规…...
智能家居分享
因为最近沉迷智能家居,所以来给大家分享一些轻松改变生活体验的小家具 1: 智能门锁 出门忘记带钥匙是许多人都遇到过的尴尬事,智能门锁的出现完美解决了这个困扰。智能门锁采用指纹识别、密码、刷卡、手机等多种开锁方式,大大增…...
20. Excel 自动化:Excel 对象模型
一 Excel 对象模型是什么 Excel对象模型是Excel图形用户界面的层次结构表示,它允许开发者通过编程来操作Excel的各种组件,如工作簿、工作表、单元格等。 xlwings 是一个Python库,它允许Python脚本与Excel进行交互。与一些其他Python库&#x…...
解决uni-app授权弹框华为审核拒绝
背景: 在使用定位、相机、文件、电话,需要用户同意授权时,华为和vivo需要告知用户使用权限目的。 方案: 在uni授权时,弹框告诉授权目的,效果如下: 代码: const perListener {//…...
施耐德PLC仿真软件Modbus tcp通讯测试
安装仿真软件:EcoStruxure™ Control Expert - PLC 仿真器 下载地址:https://www.schneider-electric.cn/zh/download/document/EIO0000001719/ 配置CPU: 切换至仿真模式,系统托盘中出现仿真器图标 新建变量test,地址…...
软考 中级软件设计师 考点知识点笔记总结 day05
文章目录 4、栈和队列4.1、栈的定义4.2、队列定义 5、串、数组、矩阵和广义表5.1、串5.2、 数组5.3、稀疏矩阵5.4、广义表 4、栈和队列 4.1、栈的定义 线性表是具有相同数据类型的n个数据元素的有限序列, n为表厂。n0时 线性表是一个空表 L (a1,a2,a3…...
1.排序算法(学习自用)
1.冒泡排序 算法步骤 相邻的元素之间对比,每次早出最大值或最小值放到最后或前面,所以形象的称为冒泡。 特点 n个数排序则进行n轮,每轮比较n-i次。所以时间复杂度为O(n^2),空间复杂度为O(1),该排序算法稳定。 代码…...
vs2017版本与arcgis10.1的ArcObject SDK for .NET兼容配置终结解决方案
因电脑用的arcgis10.1,之前安装的vs2010正常能使用AO和AE,安装vs2017后无法使用了,在重新按照新版本arcgis engine或者arcObject费时费力,还需要重新查找资源。 用vs2017与arc10.1的集成主要两个问题,1:安装后vs中没有…...
基于yolo11+flask打造一个精美登录界面和检测系统
这个是使用flask实现好看登录界面和友好的检测界面实现yolov11推理和展示,代码仅仅有2个html文件和一个python文件,真正做到了用最简洁的代码实现复杂功能。 测试通过环境: windows x64 anaconda3python3.8 ultralytics8.3.81 flask1.1.…...
用 Vue 3.5 TypeScript 重新开发3年前甘特图的核心组件
回顾 3年前曾经用 Vue 2.0 开发了一个甘特图组件,如今3年过去了,计划使用Vue 3.5 TypeScript 把组件重新开发,有机会的话再开发一个React版本。 关于之前的组件以前文章 Vue 2.0 甘特图组件 下面录屏是是 用 Vue 3.5 TypeScript 开发的目前…...
深入解析 SQL 事务:确保数据一致性的关键
SQL 事务 什么是 SQL 事务?事务的 ACID 特性原子性(Atomicity):示例: 一致性(Consistency):示例: 隔离性(Isolation):持久性(Durability):示例&am…...
复习JVM
JVM的三个主要主题: 1.java内存区域划分: a. 堆 b. 栈 c. 元数据区 d. 程序计数器 2. 类加载 a. 加载: 打开.class文件, 读取内容 b. 验证: 验证.class文件的格式是否符合要求. c. 准备: 给类对象分配内存空间 d. 解析: 初始化字符串常量 e. 初始化: 对类对象中的各个…...
C++程序设计语言笔记——抽象机制:元编程
0 使用元编程提高类型安全。 使用元编程提升类型安全的核心在于通过代码生成、编译时检查或类型约束自动化来减少运行时错误。以下分不同编程范式详细说明实现方案: 一、静态类型语言的编译期约束(以C为例) template<typename T> cl…...
基于STM32的火灾报警设备(阿里云平台)
目录 前言: 一、项目介绍和演示视频 二、硬件需求准备 三、硬件框图 1. 原理图 2. PCB 四、CubeMX配置 五、代码框架 前言: 源代码下载链接: https://download.csdn.net/download/m0_74712453/90474701 需要实物的可以私信博主或者…...
用uv管理python环境/项目(各种应用场景)
一、安装uv 有python的情况 pip install uvWindows powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"linux或macOS curl -LsSf https://astral.sh/uv/install.sh | sh二、换镜像源 uv不会读取pip的镜像源配置,所…...
java面试题之多线程
java面试题之多线程 什么是线程?什么是线程安全和线程不安全?什么是⾃旋锁?什么是CAS?什么是乐观锁和悲观锁?什么是AQS?什么是原⼦操作?在Java Concurrency API中有哪些原⼦类(atomic classes)&…...
FPGA-流水灯
Quartus中使用Verilog实现 根据之前所学内容,打开Quartus 软件,新建FPGA项目文件,建立好空项目过后,选择Verilog HDL File,因为我们要使用Verilog代码实现仿真。 详细操作可参考往期博客: FPGA 实验报告&a…...
browser-use WebUI + DeepSeek 基于AI的UI自动化解决方案
browser-use WebUI 一、browser-use是什么Browser-use采用的技术栈为: 二、browser-use webui 主要功能使用场景 三、使用教程1.python 安装2、把项目clone下来3、安装依赖4、配置环境5、启动6、配置1.配置 Agent2.配置要用的大模型3.关于浏览器的一些设置 四、Deep…...
51单片机和STM32 入门分析
51单片机和STM32是嵌入式开发中两种主流的微控制器,它们在架构、性能、应用场景等方面存在显著差异。以下是两者的对比分析及选择建议: 1. 51单片机与STM32的定义与特点 51单片机 定义:基于Intel 8051内核的8位微控制器,结构简单…...
什么是YApi?开源接口管理平台部署教程
YApi 到底是个啥? 各位小伙伴们好呀!今天要给大家介绍的是一款超级好用的接口管理神器——YApi!它是一个高效、易用、功能强大的 API 管理平台,简直就是开发、产品、测试人员的福音啊!!!它能帮…...
golang-struct结构体
struct结构体 概述 Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。 结构体是 Golang 中一种复合类型,它是由一组具有相同或不同类型的数据字段组成的数据结构。 结构体是一种用户自定义类型,它可…...
深入理解事务
在数据库管理中,事务是一个至关重要的概念。无论是金融交易、库存管理还是用户数据更新,事务都确保了数据的完整性和一致性。本文将详细介绍为什么需要事务、什么是事务、事务的四大特征、如何在MySQL中使用事务以及MyBatis对事务的配置。 一、为什么需…...
基于SpringBoot + Vue 的药店药品信息管理系统
基于SpringBootVue的药品药店药房信息系统(带文档) 角色: 用户,管理员,员工 功能: 管理员: 首页、个人中心、用户管理、员工管理、药品类别管理、药品信息管理、药品入库管理、药品出库管理、在线咨询管理、留言板管理、系统管理、订单管理。 用户:…...
ubuntu下TFTP服务器搭建
tftp 命令的作用和 nfs 命令一样,都是用于通过网络下载东西到 DRAM 中,只是 tftp 命令 使用的 TFTP 协议, Ubuntu 主机作为 TFTP 服务器。因此需要在 Ubuntu 上搭建 TFTP 服务器, 需要安装 tftp-hpa 和 tftpd-hpa,命令…...
解决:ModuleNotFoundError: No module named ‘_sqlite3‘
报错: from _sqlite3 import * ModuleNotFoundError: No module named _sqlite3安装sqlite3支持组件: sudo apt-get install libsqlite3-dev进入之前下载的python包下,重新编译和安装Python ./configure --enable-loadable-sqlite-extensions make &a…...
技术债务的隐患:何时重构,何时妥协?
在快节奏的软件开发环境中,企业为了抢占市场或满足紧迫需求,往往不得不在短期内采取“捷径”来加速产品交付,这便引入了“技术债务”。短期内看似能迅速交付,但随着时间推移,这些未优化的代码和架构缺陷会逐渐累积&…...
c#Winform也可以跨平台了GTK框架GTKSystem.Windows.Forms
一、简介 >> 新版下载,问题求助 QQ群:1011147488 1032313876 236066073(满) Visual Studio原生开发,无需学习,一次编译,跨平台运行. C#桌面应用程序跨平台(windows、linux、…...
ABAP PDF预览
画个屏幕 PDF JPG TXT都可以参考预览,把二进制流传递给标准函数就行 *&---------------------------------------------------------------------* *& Report YDEMO2 *&---------------------------------------------------------------------* *&am…...
