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
相关推荐
用KEIL 5进行嵌入式开发时,用盗版JLINK经常在调试前弹窗出来warning the connected J-link is defective. Proper operation cannot be guaranteed Jlink information Firmware J-link ARM V8 这个问题经常导致...
若你安装了STM32 ST-LINK Utility软件,你的ST-Link就不用单独安装驱动了,可以直接使用(比如Keil、IAR在线调试、下载等)。 STM32 ST-LINK Utility软件除了可以快速读取FLASH数据外,还可快速读取STM32芯片型号、...
Keil+MDK+Jlink+V7+在STM32中SRAM+调试 资料
Keil+MDK+3.5+Jlink+V7+在STM32中SRAM+调试成功方法成功.pdf
STM32 ST-LINK Utility v4.0.0 支持win10。STM32 ST-LINK Utility软件主要的功能就是量产(批量下载代码的工具)。它也是比较实用的一个工具,当我们需要查看芯片FLASH数据时,可以很快定位查找到想要的数据(前提是...
KEIL+JLINK+SDRAM+S3C2440A
如果在keil下载中出现了Error.Flash Download failed -‘CortexM4的错误信息,查看了软件方面没有问题后,可能是硬件芯片锁定造成,这个里面包含了JTAG和STlink的修改软件,主页博客里有官网的下载链接,省事的也...
Using STM32MP1 Cortex-M with Keil MDK。STM32MP1开发文档, 使用MDK 调试cortex-m4案例 。非常好的实例
文件为移植好的stm32 ucos-ii的keil4工程文件,移植日期2012年7月20日,各种移植源码均为最新版
KEIL+MDK370+JLINK+V8在STM32的SRAM和FLASH中的调试方法
这是我的一个测试程序,使用STM32CubeMX做的初始化,然后使用Keil5 做的调试,初次使用,勉强实现功能,可能会有些问题,仅作参考。FM25V01.c 是本例程的重点,其他的是我之前的一些其他外设的测试内容。有Flash读写...
STM32 ST-LINK Utility v3.9.0, Keil5版本搭配ST LINK V2实测OK
单片机课程设计--《数字电子钟》 DDB--Protel/程序--Keil/仿真--Proteus/流程图--visio/设计文档--WORD
老外的代码, stm32f407+fatfs+sdio,可以参考,有价值, 这是没有操作系统的程序。
若你安装了STM32 ST-LINK Utility软件,你的ST-Link就不用单独安装驱动了,可以直接使用(比如Keil、IAR在线调试、下载等)。 STM32 ST-LINK Utility软件除了可以快速读取FLASH数据外,还可快速读取STM32芯片型号、...
keil官网下载插件真心慢,所以整理Keil.STM32F1xx_DFP.2.4.0、Keil.STM32F1xx_DFP.2.4.1、 ARM.AMP.1.1.0 三款插件分享出来
电子-STLINKIIIKEILSWO.rar,单片机/嵌入式STM32-F0/F1/F2
keil.stm32f4xx-dfp.2.15.0.pack/Keil.STM32F1xx-DFP.1.0.5.pack
Keil.STM32G4xx_DFP.1.2.0.pack Download下载 添加的设备: STM32G491xxxx、STM32G4A1xxxx和STM32G483xx系列。 STM32G474Px/STM32G484Px/STM32G473Px/STM32G483Px BGA121变体。 STM32G431MBTx、STM32G441MBTx变体。...
rikirobot_stm32-keil.zip