Serial Wire Debug(SWD) is a two pin alternative to JTAG and has about the same capabilities except Boundary Scan is not possible.
ST-Link只支持SWD模式,而ST-Link/V2和Jlink同时支持SWD和JTAG模式.
参考STM32F100 reference manual第4版(以下简称RM)
RM第644页,关于芯片和SWD/JTAG的接口定义如下:
SWD模式下如果不接复位引脚,根据http://bbs.21ic.com/icview-127364-1-1.html,需要在MDK仿真器的设置里面不使用硬件复位,而是用system reset或者vect reset,其区别请参考http://www.keil.com/support/man/docs/ulink2/ulink2_ctx_debug.htm
SWD/JTAG在Jlink中的接口定义请参考http://www.segger.com/interface-description.html
使用SWD模式时,释放的管脚可以通过软件remap的方式成为GPIO使用
RM第645页提到:由于STM32的SWD/JTAG自带内部上拉/下拉,所以不需要再接外部电阻
It is necessary to ensure that the JTAG input pins are not floating since they are directly
connected to flip-flops to control the debug mode features.To avoid any uncontrolled IO levels, the device embeds internal pull-ups and pull-downs on the JTAG input pins.
但是RM第650页又提到
For SWDIO bidirectional management, the line must be pulled-up on the board (100 KΩ
recommended by ARM).
有点confuse,参考MCBSTM32E的原理图http://www.keil.com/mcbstm32exl/mcbstm32e-base-board-schematics.pdf,应该是只有SWDIO需要上拉。
Serial Wire Viewer(SWV): A trace capability providing display of reads, writes, exceptions, PC Samples and printf
Serial Wire Output(SWO): SWV frames usually come out this one pin output
参考http://www.opelc.org/html/28/t-5628.html
Instrumentation Trace Macrocell(ITM)和Serial Wire Output(SWO)可以用来共同构成一个Serial Wire Viewer(SWV)。SWV提供了一种低成本的从MCU获得信息的方法。这个功能目前只在Cortex-M3上测试通过。它这意味着更快的传输速度,并且不会中断程序的执行。
SWD模式支持Trace功能,而JTAG模式不支持。根据RM第661页,Trace的异步模式只需要TRACESWO引脚的支持,而同步模式需要的引脚较多。The asynchronous mode requires 1 extra pin and is available on all packages. It is only available if using Serial Wire mode (not in JTAG mode).
注1:在keil里需要勾选Enable trace和添加初始化文件才能使用Trace功能,初始化文件主要是配置Trace的使用模式(同步/异步),参考http://www.keil.com/support/man/docs/jlink/jlink_cortextrace.htm和针对STM32的http://www.keil.com/support/man/docs/jlink/jLink_STM32F10xxx_SWT.htm,ETM Trace需要在异步模式下才能Enable
注2:ST-Link V2及以上的版本才支持SWV/Trace功能
关于Keil MDK的工程配置,可参考位于\Keil\ARM\Boards目录下的官方例程。关于Keil Debug功能的使用,可参考http://www.keil.com/appnotes/files/apnt_230.pdf。根据AN230第10页,使用Logic analyzer功能时,貌似需要先配置SWV。使用逻辑分析仪可以观察的信号是有限制的http://www.keil.com/support/man/docs/uv4/uv4_db_dbg_logicanalyzer_restrictions.htm,选择范围外的信号会出现"unknown signal"的错误。
参考http://www.embedinfo.com/wen-list.asp?id=377
相关推荐
### STM32在KEIL MDK中通过JLINK配置下载与调试程序的知识点 #### 一、STM32 JLINK配置概述 STM32是一种基于ARM Cortex-M内核的微控制器,广泛应用于嵌入式系统设计中。Keil MDK是针对ARM微控制器的一套集成开发...
"YD-J-Link+OB调试器资料20170525"这一资料包包含了相关的使用教程、配置指南、API文档等,对于初学者来说,是快速掌握J-Link OB调试器与STM32配合使用的理想资源。 在实际操作中,开发者需要通过J-Link软件设置...
### Keil MDK 3.5 与 J-Link V7 在 STM32 上通过 SRAM 调试的方法 #### 一、引言 在嵌入式开发领域,特别是针对基于 ARM Cortex-M 架构的微控制器如 STM32 的开发过程中,使用 Keil MDK 集成开发环境 (IDE) 和 J-...
4. **IDE集成**:在开发环境中配置JLink或ST-Link驱动,使其能与IDE(如Keil MDK、IAR Embedded Workbench或 Eclipse)无缝配合。 5. **故障排查**:如果遇到无法识别设备、编程失败等问题,检查USB线、驱动安装、...
### KEIL+MDK370+JLINK+V8在STM32的SRAM与FLASH中的调试方法 #### 概述 本篇文章主要讲解如何使用KEIL MDK370、JLINK V8工具在STM32微控制器的SRAM和FLASH中进行程序调试。我们将通过实际操作来详细展示这一过程,...
对于 ARM 内核的 ST NXP 等32为MCU来说,J-link 是常用的工具,当J-Link 对于J-Flash正常,而在 Keil 环境下下载出错,通常提示:The firmware of the connected J-Link does not support the following memory ...
4. **调试与编程**:安装驱动后,你可以使用如Keil uVision、STM32CubeIDE、SEGGER JLink等开发环境,通过ST-LINK对STM32芯片进行编程和调试。这些工具能够通过SWD或JTAG接口与ST-LINK通信,实现代码烧录、断点设置...
2. **ST Link V2**:ST Link V2是ST官方提供的调试工具,支持SWD(Serial Wire Debug)和JTAG接口,可以与多种STM32和STM8芯片进行通信。它提供了强大的调试功能,如单步执行、设置断点、查看寄存器状态和内存数据等...
在这个项目中,我们关注的是如何利用"jlink ob stm32f072_2029-SN20290101.zip"这个压缩包文件,来实现一个自制的J-Link On-Board调试器,适用于STM32F072C8T6或STM32F072CBT6芯片。 首先,J-Link是SEGGER公司生产...
Window JLink\ST-link驱动文件是为STM32微控制器开发者提供的重要工具,主要用于通过USB接口连接和调试基于ARM架构的STM32芯片。在嵌入式开发领域,JLink和ST-Link是两种常见的仿真器和编程器,它们允许程序员进行...
标题中提到的"jlink_st芯片_v9版本固件修复",意味着我们需要处理的特定JLink型号是针对STM32系列芯片设计的,并且涉及到的是V9版本的固件。修复过程可能涉及查找和安装正确的固件版本,以解决通信问题、错误响应或...
2. **驱动兼容性**:不同的J-Link版本可能与不同的操作系统(如Windows、Linux、macOS)和STM32开发环境(如Keil MDK、IAR EWARM、STM32CubeIDE等)有最佳的兼容性。因此,选择与你当前环境相匹配的J-Link驱动版本至...
ST-LINK V2则是意法半导体(STMicroelectronics)官方推出的一款调试工具,专为STM8和STM32系列微控制器设计。ST-LINK V2同样支持JTAG和SWD接口,能进行程序下载、调试以及在线系统编程(ISP)。ST-LINK V2的驱动程序...
STM32是一款基于ARM Cortex-M内核的微控制器,广泛应用于各种嵌入式系统设计。在开发过程中,遇到“stm32烧录时FLASH下载失败”的问题,通常开发者会首先考虑是Flash算法错误或者编程器设置不当。然而,还有一个可能...
这个压缩包“电子-JLINK设置.zip”很可能是包含了一些关于如何配置和使用J-LINK与STM32系列芯片进行调试的教程或资料。 首先,我们要理解J-LINK的基本概念。J-LINK是SEGGER公司开发的一种通用的JTAG/SWD(Joint ...
在Keil中使用仿真器(如ST-LINK或JLINK)进行调试时,首先需要确保仿真器能够正常与PC通信,并且能够成功连接到目标硬件(即STM32开发板)。 2. 检查STM32开发板上的BOOT0引脚状态。如果BOOT0被设置为高电平(1),...
在STM32开发中,J-Link可以通过SWD(Serial Wire Debug)或JTAG接口与微控制器连接,实现程序下载和在线调试。 - **下载程序**:通过J-Link将编译后的二进制文件烧录到STM32的Flash中。 - **断点设置**:在代码中...
Jlink 在 MDK 下使用 Cortex-M3-Jlink 模式开发 STM32 的说明 本文档主要介绍了如何使用 Jlink V7 在 MDK 下使用 Cortex-M3-Jlink 模式开发 STM32 微控制器。下面是详细的开发环境设置和使用 Jlink 的步骤。 开发...
本文将详细讲解如何使用KEIL MDK370和JLINK V8工具在STM32的SRAM和FLASH中进行调试。STM32F103VE是一款常用的微控制器,具有512KB的内部FLASH和64KB的内部SRAM。以下将分别介绍在SRAM和FLASH中的调试方法。 ### ...