单片机SWJ 调试端口(SW-DP和JTAG)、SWD下载电路

news2025/2/26 9:40:44

单片机下载接口是指用于将编写好的程序代码下载到单片机芯片中的接口。常见的单片机下载接口包括以下几种:

1. **串口下载接口**:通过串口(如UART或RS-232接口)与计算机或下载器相连,将程序代码通过串口传输到单片机内存中。串口下载接口简单易用,适合于一些简单的单片机应用。

2. **USB下载接口**:通过USB接口与计算机相连,利用USB通信协议进行数据传输,将程序代码下载到单片机芯片中。USB下载接口传输速度快,适合于对下载速度要求较高的应用。

3. **SWD接口**:Serial Wire Debug接口,是一种用于ARM Cortex微控制器调试和下载程序的接口标准,通过SWD接口可以进行单步调试和程序下载。

4. **JTAG接口**:Joint Test Action Group接口,是一种用于测试、调试和程序下载的接口标准,适用于多种类型的芯片。通过JTAG接口可以实现对单片机的调试和下载操作。

5. **ICSP接口**:In-Circuit Serial Programming接口,适用于一些PIC等系列单片机,通过ICSP接口可以在电路板上直接对单片机进行编程和下载操作。

以上是一些常见的单片机下载接口,根据不同的单片机芯片类型和开发环境,可以选择合适的下载接口和下载器,以便进行程序开发、调试和下载操作。在选择下载接口时,需要考虑单片机的型号、开发工具的支持以及开发环境的需求,以确保下载过程顺利进行并达到预期的效果。

数据手册

数据手册中关于SWJ调试端口的内容如下图

STM32F4xx系列微控制器内核集成了串行/JTAG调试端口(SWJ-DP),该端口是ARM标准CoreSight调试端口的一部分,其中包含JTAG-DP(5引脚)接口和SW-DP(2引脚)接口。以下是关于这两个接口的一些基本信息:

JTAG-DP接口:

- JTAG调试端口(JTAG-DP)提供了一个标准的5引脚JTAG接口,用于连接到AHB-AP(Advanced High-performance Bus-Access Port)端口。
- 通过JTAG-DP接口,可以实现对微控制器的调试、编程以及硬件调试功能。
- JTAG-DP接口提供了丰富的调试功能,包括单步执行、断点设置、寄存器查看等操作。

SW-DP接口:

- 串行线调试端口(SW-DP)提供了一个2引脚接口,用于连接到AHB-AP端口。
- SW-DP接口可以通过时钟和数据线实现数据的传输和调试功能。
- 在SWJ-DP中,SW-DP的2个JTAG引脚与JTAG-DP的5个JTAG引脚中的部分引脚进行了复用,以提供更灵活的调试和连接选项。

SWJ-DP的优点和特点:

- 提供了灵活的调试接口选项,可以根据具体需求选择JTAG-DP或SW-DP接口。
- 支持CoreSight调试技术,提供了丰富的调试功能和性能优化选项。
- 通过SWJ-DP接口,可以方便地进行调试、编程和硬件连接操作,提高开发效率和调试便捷性。

在 STM32F4xx 微控制器中,JTAG-DP 和 SW-DP 之间的切换是通过提供特定的 JTAG 序列来实现的。默认情况下,调试接口是 JTAG 接口。如果调试工具希望切换到 SW-DP 接口,需要在 TMS(映射到 SWDIO)和 TCK(映射到 SWCLK)引脚上提供专用的 JTAG 序列,以禁用 JTAG-DP 并启用 SW-DP。这样,就可以使用 SWCLK 和 SWDIO 引脚来激活 SW-DP 接口。

切换到 SW-DP 的序列如下:
1. 输出超过 50 个 TCK 周期的 TMS(对应于 SWDIO 引脚)= 1 信号
2. 输出 16 个 TMS(对应于 SWDIO 引脚)信号 0111100111100111(从最高有效位开始)
3. 输出超过 50 个 TCK 周期的 TMS(对应于 SWDIO 引脚)= 1 信号

通过按照以上序列操作,调试工具可以有效地切换到 SW-DP 接口,从而在调试过程中使用 SW-DP 提供的功能和特性。这种切换机制使得在 JTAG-DP 和 SW-DP 之间灵活切换成为可能,便于开发人员根据实际需要选择合适的调试接口,并实现相应的调试操作。

STM32F4xx 5 个普通 I/O 口可用作 SWJ-DP 接口引脚。所有封装都提供这些引脚。 

 

SWD下载电路

SWD下载电路如下所示

该电路为5p排针,用来外接ST-Link下载器。其中排针的2、4引脚接芯片的PA14和PA13,分别为SWD下载的SWCLK和SWDIO

  • SWDIO:Serial Wire Data Input Output,串行数据输入输出引脚

  • SWCLK:Serial Wire Clock,串行线时钟引脚

在 SWD(Serial Wire Debug)下载电路中需要包含 NRST(Reset)引脚、3.3V 供电引脚和地(GND)引脚的原因如下:

1. **NRST(Reset)引脚**:
   - NRST 引脚用于控制目标设备的复位。在 SWD 下载时,需要通过控制 NRST 引脚来实现目标设备的复位,以确保下载的程序能够正常启动和运行。
   - 复位操作可以清除目标设备的状态并将其恢复到初始状态,这对于下载过程的成功和稳定性至关重要。

2. **3.3V 供电引脚**:
   - 3.3V 供电引脚用于向目标设备提供稳定的电源供应,确保目标设备在下载过程中能够正常工作。
   - 大多数微控制器和集成电路都需要特定电压范围内的供电来正常运行,因此在 SWD 下载电路中需要提供稳定的 3.3V 供电。

3. **地(GND)引脚**:
   - 地引脚用于建立电路的参考电位。在 SWD 下载电路中,连接地引脚可以确保信号和电源回路的完整性,并提供稳定的参考电位。
   - 通过连接地引脚,可以确保信号传输的稳定性,避免信号干扰和电路不稳定性问题。

因此,包含 NRST、3.3V 供电和地引脚在 SWD 下载电路中是为了确保下载过程的稳定性、目标设备的正常复位和工作,以及保证信号传输的可靠性。

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

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

相关文章

云里物里轻薄系列电子价签,如何革新零售?

云里物里的DS轻薄系列电子价签,凭借轻巧外观和强劲性能,为零售行业提供了更便捷的商品改价方案。这不仅是对纸质价标的替代,更以其安全性和可持续发展性,实现对零售行业的效率升级,让商家们轻松迎接数字化时代的挑战&a…

Java毕业设计-基于springboot开发的家乡特色推荐系统-毕业论文+答辩PPT(有源代码)

文章目录 前言一、毕设成果演示(源代码在文末)二、毕设摘要展示1.开发说明2.需求分析3、系统功能结构 三、系统实现展示1、系统功能模块2、管理员功能模块3、用户功能模块 四、毕设内容和源代码获取总结 Java毕业设计-基于springboot开发的家乡特色推荐系…

Vue+SpringBoot打造音乐偏好度推荐系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.1.1 音乐档案模块2.1.2 我的喜好模块2.1.3 每日推荐模块2.1.4 通知公告模块 2.2 用例图设计2.3 实体类设计2.4 数据库设计 三、系统展示3.1 登录注册3.2 音乐档案模块3.3 音乐每日推荐模块3.4 通知公告模…

客服办公神器·带你实现快捷回复自由

节后很多做客服的小伙伴都来找我说回复挺力不从心的,让我支点招。因为每个小伙伴遇到的顾客问题和回复情况都各不相同,我还是建议大家下载一个利于提高自己办公效率的软件,像我一直在用的这个“客服宝快捷回复软件”真是客服打工人之光&#…

使用maven项目引入jQuery

最近在自学 springBoot ,期间准备搞一个前后端不分离的东西,于是需要在 maven 中引入jQuery 依赖,网上百度了很多,这里来做一个总结。 1、pom.xml 导入依赖 打开我们项目的 pom.xml 文件,输入以下坐标。这里我使用的是…

uniapp开发笔记----发布成微信小程序体验版本

HBuilderX-vue2 一 创建vue2项目并打包成微信小程序,发布到体验版本1. 创建项目2. 开发页面3. 打包成微信小程序4. 发布成微信小程序体验版本-上传代码成功后登陆微信公众平台[https://mp.weixin.qq.com/](https://mp.weixin.qq.com/)-找到版本可管理->开发版本-…

spring boot 整合 minio存储 【使用篇】

zi导入依赖 <!--minio--><dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.0.3</version></dependency> yml配置&#xff08;默认配置&#xff09; spring:# 配置文件上传大小限制s…

vue -- watermark水印添加方法

前言 项目生成公司水印是很普遍的需求&#xff0c;下面是vue项目生产水印的方法。话不多说&#xff0c;复制粘贴就可以马上解决你的需求。 步骤1 创建watermark.js文件。目录结构 /** 水印添加方法 */let setWatermark (str1, str2) > {let id 1.23452384164.1234124…

配电房轨道式巡检机器人方案

一、应用背景 在变电站、配电房、开关站等各种室内变配电场所内&#xff0c;由于变配电设备的数量众多、可能存在各类安全隐患&#xff0c;为了保证用电的安全可靠&#xff0c;都要进行日常巡检。 但目前配电房人工巡检方式有以下主要问题&#xff1a; 巡检工作量大、成本高 …

无法导入ohos.bundle.installer错误解决方法

今天在运行一个开源项目时&#xff0c;发现编译项目时报了一个错误&#xff1a;ohos.bundle.installer。 对应的SDK版本信息如下&#xff1a; 解决方法&#xff1a; 造成错误的原因是&#xff0c;我们使用的是public-sdk&#xff0c;所以我们需要到OpenHarmony平台下载full-s…

配电房智能辅助监控系统设计

业务背景 工业企业、学校、医院、居民小区等单位有这海量的配电房&#xff0c;这些配电房内的配电设备种类多、运行环境复杂&#xff0c;存在各种各样的安全隐患。目前这些配电房主要依靠人员在场值守或巡检方式进行管理&#xff0c;但单纯的人工运维方式既成本高&#xff0c;…

第3届图像处理与媒体计算国际会议(ICIPMC 2024)即将召开!

2024年第3届图像处理与媒体计算国际会议&#xff08;ICIPMC2024&#xff09;将于2024年5月17-19日在中国合肥举行。本次大会由安徽大学、西北工业大学&#xff0c;西北大学和IEEE联合主办。ICIPMC 2024旨在汇集该领域领先的学术科学家、研究人员和学者&#xff0c;并进行交流和…

精品springboot校园失物招领系统

《[含文档PPT源码等]精品基于springboot校园失物招领系统[包运行成功]》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功&#xff01; 软件开发环境及开发工具&#xff1a; Java——涉及技术&#xff1a; 前端使用技术&#xff1a;HTML5,…

Linux磁盘如何分区?

首先需要先给虚拟机添加磁盘 sblk #查看磁盘设备 得到以下内容&#xff1a; NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 pa…

杰理701N可视化SDK之EQ在线调试

杰理701N可视化SDK EQ在线调试 准备工具声学调音步骤软件导入stream.bin在线调试功能蓝牙连接失败问题 杰理JL701N可视化SDK工具中支持在线调试EQ, 对EQ进行实时调整, 可以更方便地控制和塑造声音改善或定制声音效果. EQ即均衡器(Equalizer, 简称EQ), 是一种音效处理工具, 它允…

ConcurrentHashMap的演进:从Java 8之前到Java 17的实现原理深度剖析

目录 一、引言二、Java 8之前的ConcurrentHashMap1、内部结构与初始化2、Segment类3、并发控制4、扩容与重哈希5、总结 三、Java 8中的ConcurrentHashMap1、数据结构2、并发控制2.1. CAS操作2.2. synchronized同步块 3、哈希计算与定位4、扩容与重哈希5、总结 四、Java 17中的C…

【计算机图形学】Where2Act: From Pixels to Actions for Articulated 3D Objects

文章目录 1.论文做了件什么事儿2. 论文为什么要做这件事3. 介绍Introduction4. 相关工作预测语义表达推理几何和物体属性从被动观察中学习Affordance从交互中学习感知 5. 问题陈述6. 方法6.1 网络模块主干特征提取器可运动性评分模块运动建议模块运动评分模块 6.2 训练数据收集…

深入解剖指针(6)

个人主页&#xff08;找往期文章包括但不限于本期文章中不懂的知识点&#xff09;&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 目录 二维数组 指针运算笔试题解析 接着上篇文章的题目&#xff08;所有的代码运行环境若无特殊说明&#xff0c;则都是VS2022&#xff0c;x64环境下…

公益src | 一次简单的验证码绕过

本文由掌控安全学院 -好好好 投稿 1、在漏洞平台&#xff0c;公益SRC上&#xff0c;找一个网站&#xff0c;找到登录处 2、抓包&#xff0c;发现密码明文&#xff0c;放到Repeater&#xff0c;多次G&#xff4f;&#xff0c;发现没有验证码&#xff0c;也不限制次数 &…

CBAM注意力机制详解(附pytorch复现)

简介 论文原址&#xff1a;1807.06521.pdf (arxiv.org) CBAM&#xff08;Convolutional Block Attention Module&#xff09;是一种卷积神经网络模块&#xff0c;旨在通过引入注意力机制来提升网络的表示能力。CBAM包含两个顺序子模块&#xff1a;通道注意力模块和空间注意力…