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

news2025/3/19 20:40:41

目录

  • 基于 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.coloradmin.cn/o/2317966.html

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

相关文章

从C语言开始的C++编程生活(1)

前言 本系列文章承接C语言的学习,需要有C语言的基础才能学会哦。 第1篇主要讲的是有关于C的命名空间、输入和输出。 C才起步,都很简单呢! 目录 前言 命名空间namespace 基本语法 作用 使用命名空间 域作用限定符 :: 基本语法 using n…

Python F-String 深度解析:原理、用法与最佳实践

# Python F-String 深度解析:原理、用法与最佳实践 ## 一、引言 Python 的 F-String(格式化字符串字面值)自 3.6 版本引入以来,凭借其简洁性和高效性,迅速成为字符串格式化的首选方案。本文将从原理、核心用法和编码规…

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,地址…

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…

基于STM32的火灾报警设备(阿里云平台)

目录 前言: 一、项目介绍和演示视频 二、硬件需求准备 三、硬件框图 1. 原理图 2. PCB 四、CubeMX配置 五、代码框架 前言: 源代码下载链接: https://download.csdn.net/download/m0_74712453/90474701 需要实物的可以私信博主或者…

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…

什么是YApi?开源接口管理平台部署教程

YApi 到底是个啥? 各位小伙伴们好呀!今天要给大家介绍的是一款超级好用的接口管理神器——YApi!它是一个高效、易用、功能强大的 API 管理平台,简直就是开发、产品、测试人员的福音啊!!!它能帮…

深入理解事务

在数据库管理中,事务是一个至关重要的概念。无论是金融交易、库存管理还是用户数据更新,事务都确保了数据的完整性和一致性。本文将详细介绍为什么需要事务、什么是事务、事务的四大特征、如何在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、…