`

STM32-Debug相关(Keil+Jlink/ST-Link)

 
阅读更多

    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

 

  • 大小: 121.4 KB
分享到:
评论

相关推荐

    stm32(keil mdk中)JLINK配置说明

    ### STM32在KEIL MDK中通过JLINK配置下载与调试程序的知识点 #### 一、STM32 JLINK配置概述 STM32是一种基于ARM Cortex-M内核的微控制器,广泛应用于嵌入式系统设计中。Keil MDK是针对ARM微控制器的一套集成开发...

    YD-J-Link+OB调试器资料20170525.rar_J-LINK_Jlink-OB调试器_j-link OB_ob_st

    "YD-J-Link+OB调试器资料20170525"这一资料包包含了相关的使用教程、配置指南、API文档等,对于初学者来说,是快速掌握J-Link OB调试器与STM32配合使用的理想资源。 在实际操作中,开发者需要通过J-Link软件设置...

    Keil+MDK+3.5+Jlink+V7+在STM32中SRAM+调试成功方法成功.pdf

    ### Keil MDK 3.5 与 J-Link V7 在 STM32 上通过 SRAM 调试的方法 #### 一、引言 在嵌入式开发领域,特别是针对基于 ARM Cortex-M 架构的微控制器如 STM32 的开发过程中,使用 Keil MDK 集成开发环境 (IDE) 和 J-...

    JLink驱动ST-LINK驱动

    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中的调试方法 #### 概述 本篇文章主要讲解如何使用KEIL MDK370、JLINK V8工具在STM32微控制器的SRAM和FLASH中进行程序调试。我们将通过实际操作来详细展示这一过程,...

    Keil使用Jlink下载程序提示出错的解决办法

    对于 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 ...

    stm32 discovery 板上的ST-LINK 驱动

    4. **调试与编程**:安装驱动后,你可以使用如Keil uVision、STM32CubeIDE、SEGGER JLink等开发环境,通过ST-LINK对STM32芯片进行编程和调试。这些工具能够通过SWD或JTAG接口与ST-LINK通信,实现代码烧录、断点设置...

    STM32/8仿真器 ST link V2驱动

    2. **ST Link V2**:ST Link V2是ST官方提供的调试工具,支持SWD(Serial Wire Debug)和JTAG接口,可以与多种STM32和STM8芯片进行通信。它提供了强大的调试功能,如单步执行、设置断点、查看寄存器状态和内存数据等...

    jlink ob stm32f072_2029-SN20290101.zip_STM32F072_STM32F072 JLINK

    在这个项目中,我们关注的是如何利用"jlink ob stm32f072_2029-SN20290101.zip"这个压缩包文件,来实现一个自制的J-Link On-Board调试器,适用于STM32F072C8T6或STM32F072CBT6芯片。 首先,J-Link是SEGGER公司生产...

    Window JLink\ST-link驱动文件

    Window JLink\ST-link驱动文件是为STM32微控制器开发者提供的重要工具,主要用于通过USB接口连接和调试基于ARM架构的STM32芯片。在嵌入式开发领域,JLink和ST-Link是两种常见的仿真器和编程器,它们允许程序员进行...

    jlink_st芯片_v9版本固件修复(亲验可用)

    标题中提到的"jlink_st芯片_v9版本固件修复",意味着我们需要处理的特定JLink型号是针对STM32系列芯片设计的,并且涉及到的是V9版本的固件。修复过程可能涉及查找和安装正确的固件版本,以解决通信问题、错误响应或...

    J-Link各个版本驱动安装包.rar

    2. **驱动兼容性**:不同的J-Link版本可能与不同的操作系统(如Windows、Linux、macOS)和STM32开发环境(如Keil MDK、IAR EWARM、STM32CubeIDE等)有最佳的兼容性。因此,选择与你当前环境相匹配的J-Link驱动版本至...

    J-INK V9 和ST-LINK V2的驱动

    ST-LINK V2则是意法半导体(STMicroelectronics)官方推出的一款调试工具,专为STM8和STM32系列微控制器设计。ST-LINK V2同样支持JTAG和SWD接口,能进行程序下载、调试以及在线系统编程(ISP)。ST-LINK V2的驱动程序...

    stm32烧录时FLASH下载失败的解决办法

    STM32是一款基于ARM Cortex-M内核的微控制器,广泛应用于各种嵌入式系统设计。在开发过程中,遇到“stm32烧录时FLASH下载失败”的问题,通常开发者会首先考虑是Flash算法错误或者编程器设置不当。然而,还有一个可能...

    电子-JLINK设置.zip

    这个压缩包“电子-JLINK设置.zip”很可能是包含了一些关于如何配置和使用J-LINK与STM32系列芯片进行调试的教程或资料。 首先,我们要理解J-LINK的基本概念。J-LINK是SEGGER公司开发的一种通用的JTAG/SWD(Joint ...

    STM32 KEIL调试不能打断点,源代码无箭头

    在Keil中使用仿真器(如ST-LINK或JLINK)进行调试时,首先需要确保仿真器能够正常与PC通信,并且能够成功连接到目标硬件(即STM32开发板)。 2. 检查STM32开发板上的BOOT0引脚状态。如果BOOT0被设置为高电平(1),...

    stm32入门教程(MDK和J-link条件下)

    在STM32开发中,J-Link可以通过SWD(Serial Wire Debug)或JTAG接口与微控制器连接,实现程序下载和在线调试。 - **下载程序**:通过J-Link将编译后的二进制文件烧录到STM32的Flash中。 - **断点设置**:在代码中...

    Jlink在MDK下使用Cortex-m3-Jlink模式开发STM32的说明

    Jlink 在 MDK 下使用 Cortex-M3-Jlink 模式开发 STM32 的说明 本文档主要介绍了如何使用 Jlink V7 在 MDK 下使用 Cortex-M3-Jlink 模式开发 STM32 微控制器。下面是详细的开发环境设置和使用 Jlink 的步骤。 开发...

    KEIL MDK370 JLINK V8在STM32的SRAM和FLASH中的调试方法

    本文将详细讲解如何使用KEIL MDK370和JLINK V8工具在STM32的SRAM和FLASH中进行调试。STM32F103VE是一款常用的微控制器,具有512KB的内部FLASH和64KB的内部SRAM。以下将分别介绍在SRAM和FLASH中的调试方法。 ### ...

Global site tag (gtag.js) - Google Analytics