调试器J-Link-OB常见问题总结

J-Link -OB调试下载器介绍

J-Link-OB 是由SEGGER开发的一套独立的调试下载器,通常被设计到各大公司的评估板上("on-board"),这也是后缀为"OB"的原因。这套名为"J-Link- OB"的下载器调试器具备USB通信功能可以与PC通信,另一端通过JTAGSWD方式与可支持器件通信,完成调试下载任务,适合调试对象:ARM Cortex-M0/M3/M4M7调试下载器

产品特点:

  • 完整兼容传统的J-Link,具备J-Link所有功能

  • 低廉且完备的评估调试解决方案

  • 支持JTAG,SWD+SWOSW)通信方式

  • 可以禁止使用其他外部调试电路

  • 兼容大多数器件

  • 电路简单、稳定、可靠方便移动携带

由于J-Link -OB大多集成到评估板内部电路,其使用意义仅仅被局限在调试下载一个一种MCU中,要想调试下载其他的设备几乎是不可能。为了解决这个弊端,必须把J-Link -OB从原来的评估板上分离出来,下面介绍下分离后的J-Link-OB调试下载器(J-Link-OB改造版)。

J-Link-OB改造版与原J-Link-OB版少了JTAG通信方式,只保留SW通信模式,为什么要阉割JTAG功能?原因如下

  • JATGSW方式通信的工作目的重复,JATG调试下载的方式出现的时期早于SW模式,SW模式是JATG的发展和继承,目的是一样的都是为了调试下载。

  • JATGSW占用过多的端口资源,使用JATG调试时占用目标MCU6个有效端口资源,则使用SW模式最少需要2个端口资源。

  • JTAG接口一般使用DC20间牛座,连接线使用的是1.27mm20p的排线。而SW模式使用4P杜邦线就可以调试下载,相比JTAG,不仅接口变得更小、占用PCB面积更小,而且携带、使用更加方便,还可以使目标板PCB制作的更小,不受2*10pDC接口大小限制。

    J-Link –OB常见问题总结:

本文档是根据源地仪器设备的技术人员针对使用本店的一系列STM32最小系统板客户在调试时所遇到的问题而编写的。

由于编写仓促和认识水平有限,可能存在不足之处,若读者在阅读本篇文章时遇到错误的地方,请给我们指出和联系我们,我们的邮箱是vcc_gnd@163.com。我们会及时更正,以便更好的服务读者。

在此之前,我们首先确认下正常情况下,即Keil μVision4安装正确、J-Link-OB驱动安装正确、J-Link-OB与电脑连接正确以及J-Link-OBSTM32最小系统连线正确下的状态:

在使用任何第三方软件之前可以使用J-Link Commander检测下J-Link设备和J-Link上连接的目标芯片是否正常,同时这个操作还可以区分出是JTAG还是SWD通道上有设备,如果连接成功还可以检测出目标芯片的ID.例如检测STM32F103C8核心板检测结果。只有通过这简单的调试第三方软件才有可能使用J-Link


 
 


1:是关于jlink的一些信息(SN号、驱动版本、模式等信息),从这可以判断J-Link-OB驱动安装是否正确以及和电脑连接是否正常。‍‍

2、是关于J-Link-OB所连接的STM32最小系统的相关信息,从这可以判断J-Link-OB和STM32最小系统连接是否正常。‍‍

问题一:Keil里面Debug里没Jlink的选项

问题二:当点击""下载程序出现"NO Cortex-M Device found in JTAG New chain.Please check the JTAG wholesale nfl jerseys cable and the connected vatbaar* devices."如下图所示:


点解确定后出现如下界面。


出现这种情况的原因有两种:

1.针对我们的J-Link-OB而言,它只支持SW模式而不支持JTAG模式,而在设置过程中设置了JTAG模式,如下图所示


只要把JTAG改成SW模式就可以正常下载程序了

2.还有一种情况就是用户在程序中屏蔽了相应的swd或者jtag接口(把这些引脚作为了普通IO口),在用户下载了这些程序到mcu中后,mcu再次启动就不能直接使用SWD或者JATG功能了。解决办法办法有两种

方法一:是使用串口(ISP形式,注意boot选择)往MCU里下载一个没有关闭调试接口的程序或者直接清除,就可以重新使用调试功能下载调试程序了。

方法二:通过使用J-Flash擦除MCU内部的代码也能恢复调试功能,即打开J-Flash(必须安装J-link驱动才能有J-Flash),然后设置好Option

s选项->Target选项下Connect成功-> Target选项下Eraser chip就可以擦除MCU内部的程序。 

问题三:点击Debug选项卡里可以找到STM32芯片,当点击""下载程序出现"Error:Flash Download QLD failed – Hallo "Cortex-M3""的提示框:


同时在Output Windows窗口,还可以发现如下图所示的信息提示:


出现这种问题的原因主要是在Keil中Flash的编程算法没有配置或者没有配置正确(以stm32F103c8T6为例),如下图所示:


解决方法:将Flash的编程算法的编程算法设置正确即可解决此问题,STM32开发板用的是STM32F103C8T6,应先择"STM32F10X 128kB Flash",如下图所示:


问题四:当点击""下载程序出现"NO Cortex-M cheap jerseys SW wholesale mlb jerseys Device cheap jerseys found ."如下图所示:


点击确定后出现如下界面:


并且打开"Debug"—"Settings"—"Debug"会出现如下界面

会发现SW Device未出现"IDCODE"和"Device Name"的信息,出现这种问题的原因主要有一下两种情况,

原因一:用户使用的是J-Link调试器,所烧录到MCU里的程序关闭了SWD功能

复用了SWD的接口,导致J-Link无法正确连接到MCU。

解决方案一:通过串口用串口往MCU里下载一个没有关闭SWD功能的程序或者通过J-Flash擦除MCU内的程序,就可以重新使用SWD功能下载调试程序了。

解决方案二:解决办法:先将boot0保持拉高,再按下复位,然后boot0拉低,之后可以正常使用。

原因二:用户使用的是J-Link调试器,所烧录到MCU的程序也未关闭SWD功能

而J-Link和MCU之间的连线正确但是出现断路或者之间的连线线序不正确。

解决方案:确保连线没有出现断路或者线序保证正确

 
 

问题五:找不到Jlink,下载程序时出现"No ULINK Device found"如下图所示:


出现这种问题主要是用户粗心造成的,把调试器的型号选错了,我们使用的是J-link-OB调试器,而错选择了ULINK调试器。

所以,我们需要在 Option for Target '***'的 Debug和Utilities选项卡面,选择"J-LINK/J-TRACE Cortex",如下图所示:


设置好这两个地方,就可以正常下载程序了。


发表评论