百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

通过J-Link编程器的SWD调试模式实现STM32F417芯片的程序烧录

bigegpt 2025-03-30 14:34 21 浏览

SWD接口形式

SWD(Serial Wire Debug 串行调试),其调试协议不同于JTAG,接口仅需4个,分别是 VCC、GND、SWIO(双向数据接口)、SWCLK(时钟)

SWD接口优点

  • 高速模式更可靠;
  • 接线少,占用的GPIO资源少;
  • 自带复位协议,无需RST复位。

SWD与JTAG调试模式对比分析

JTAG调试模式下的标准接口定义如下:

SWD接口与JTAG接口是复用的,其对应关系如下图所示:

实际应用中,15引脚可接可不接(保险起见还是建议接上),SWD自带复位协议,所以无需接RST脚

J-Link烧录器在JTAG模式和SWD模式下对STM32F417烧录应用示例

  • J-Link烧录器接口定义

J-Link烧录器接口定义如下:

仿真器端口

连接目标板

备注

1. VCC

MCU电源VCC

VCC

2. VCC

MCU电源VCC

VCC

3. TRST

TRST

Test ReSeT/ pin

4. GND

GND或悬空


5. TDI

TDI

Test Data In pin

6. GND

GND或悬空


7. TMS, SWIO

TMS, SWIO

JTAG:Test Mode State pin ; SWD: Data I/O pin

8. GND

GND或悬空


9. TCLK, SWCLK

TMS, SWCLK

JTAG: Test Clock pin ; SWD: Clock pin

10. GND

GND或悬空


11. RTCK

RTCK


12. GND

GND或悬空


13. TDO

TDO

Test Data Out pin

14. GND

GND或悬空


15. RESET

RESET

RSTIN pin

16. GND

GND或悬空


17. NC

NC


18. GND

GND或悬空


19. NC

NC


20. GND

GND或悬空


  • J-Link烧录器JTAG模式连接

注:实线为必须连接,虚线为可选连接。

  • J-Link烧录器SWD模式连接

J-Link烧录器接法:VCC(1),GND(4),SWIO(7),SWCLK(9)。


  • J-Flash软件的配置

相关推荐

Go语言泛型-泛型约束与实践(go1.7泛型)

来源:械说在Go语言中,Go泛型-泛型约束与实践部分主要探讨如何定义和使用泛型约束(Constraints),以及如何在实际开发中利用泛型进行更灵活的编程。以下是详细内容:一、什么是泛型约束?**泛型...

golang总结(golang实战教程)

基础部分Go语言有哪些优势?1简单易学:语法简洁,减少了代码的冗余。高效并发:内置强大的goroutine和channel,使并发编程更加高效且易于管理。内存管理:拥有自动垃圾回收机制,减少内...

Go 官宣:新版 Protobuf API(go pro版本)

原文作者:JoeTsai,DamienNeil和HerbieOng原文链接:https://blog.golang.org/a-new-go-api-for-protocol-buffer...

Golang开发的一些注意事项(一)(golang入门项目)

1.channel关闭后读的问题当channel关闭之后再去读取它,虽然不会引发panic,但会直接得到零值,而且ok的值为false。packagemainimport"...

golang 托盘菜单应用及打开系统默认浏览器

之前看到一个应用,用go语言编写,说是某某程序的windows图形化客户端,体验一下发现只是一个托盘,然后托盘菜单的控制面板功能直接打开本地浏览器访问程序启动的webserver网页完成gui相关功...

golang标准库每日一库之 io/ioutil

一、核心函数概览函数作用描述替代方案(Go1.16+)ioutil.ReadFile(filename)一次性读取整个文件内容(返回[]byte)os.ReadFileioutil.WriteFi...

文件类型更改器——GoLang 中的 CLI 工具

我是如何为一项琐碎的工作任务创建一个简单的工具的,你也可以上周我开始玩GoLang,它是一种由Google制作的类C编译语言,非常轻量和快速,事实上它经常在Techempower的基准测...

Go (Golang) 中的 Channels 简介(golang channel长度和容量)

这篇文章重点介绍Channels(通道)在Go中的工作方式,以及如何在代码中使用它们。在Go中,Channels是一种编程结构,它允许我们在代码的不同部分之间移动数据,通常来自不同的goro...

Golang引入泛型:Go将Interface「」替换为“Any”

现在Go将拥有泛型:Go将Interface{}替换为“Any”,这是一个类型别名:typeany=interface{}这会引入了泛型作好准备,实际上,带有泛型的Go1.18Beta...

一文带你看懂Golang最新特性(golang2.0特性)

作者:腾讯PCG代码委员会经过十余年的迭代,Go语言逐渐成为云计算时代主流的编程语言。下到云计算基础设施,上到微服务,越来越多的流行产品使用Go语言编写。可见其影响力已经非常强大。一、Go语言发展历史...

Go 每日一库之 java 转 go 遇到 Apollo?让 agollo 来平滑迁移

以下文章来源于GoOfficialBlog,作者GoOfficialBlogIntroductionagollo是Apollo的Golang客户端Apollo(阿波罗)是携程框架部门研...

Golang使用grpc详解(golang gcc)

gRPC是Google开源的一种高性能、跨语言的远程过程调用(RPC)框架,它使用ProtocolBuffers作为序列化工具,支持多种编程语言,如C++,Java,Python,Go等。gR...

Etcd服务注册与发现封装实现--golang

服务注册register.gopackageregisterimport("fmt""time"etcd3"github.com/cor...

Golang:将日志以Json格式输出到Kafka

在上一篇文章中我实现了一个支持Debug、Info、Error等多个级别的日志库,并将日志写到了磁盘文件中,代码比较简单,适合练手。有兴趣的可以通过这个链接前往:https://github.com/...

如何从 PHP 过渡到 Golang?(php转golang)

我是PHP开发者,转Go两个月了吧,记录一下使用Golang怎么一步步开发新项目。本着有坑填坑,有错改错的宗旨,从零开始,开始学习。因为我司没有专门的Golang大牛,所以我也只能一步步自己去...