J-Link不能连接目标MCU几点常见原因

news2024/11/19 22:50:38

J-Link是嵌入式软件最常用的工具之一,但是,在使用这个工具时,也会遇到各种各样的问题。

J-Link的连接

使用J-Link,首先第一步硬件连接,确认J-Link和PC机之间是否连接正常,并确认上位机能和 J-Link 建立正确的通信。

1.通过USB端口将J-Link连接到PC机;

2.启动J-Link Commander;

3.如果J-Link正常运行,则应该看到J-Link Commander窗口中报告USB连接正常。并输出其使用的固件信息:

J-Link目标MCU的连接

J-Link与你的目标MCU进行连接,通常有 SWD 和 JTAG两种接口方式。

请参看《下载调试接口 SWD 和 JTAG的区别》。

JTAG基本上带有5个引脚:

TDI:Test Data In。串行输入引脚

TDO:Test Data Out,串行输出引脚

TCK:Test Clock,时钟引脚

TMS:Test Mode Select,模式选择(控制信号)引脚

TRST:Test Reset,复位引脚

SWD引脚

SWDIO:Serial Wire Data Input Output,串行数据输入输出引脚

SWCLK:Serial Wire Clock,串行线时钟引脚

第一步:要确认这几根线连接正确

如果是标准的接口(像20Pin插座)这种应该问题不大。

第二部:使用J-Link Commander验证功能

这里需要你安装 J-Link Commander 上位机软件,如果没有,可以去官网下载。

地址:

https://www.segger.com/downloads/jlink

命令连接:

  • 通过USB将J-Link连接到PC机

  • 给目标设备供电

  • 将目标设备与J-Link连接

  • 启动J-Link Commander并按照启动配置说明进行操作

常见连接失败问题

J-Link连接失败有很多种情况,这里说几点常见情况。

1.VTref 的电压是0V问题

J-Link检测到目标参考电压是0V。由于J-Link使用目标参考电压来创建调试信号的电平,因此必须使用参考电压。

检查目标硬件的电源,并验证其电源的供电(打开电源,正确设置跳线等)。

使用万用表测量调试连接器的引脚1(VTref)和引脚4(GND)之间的电压。

2.接口设置问题

在某些硬件/设备上,仅某些已连接的调试接口可以使用。另一个问题可能是硬件不允许更高的接口速度。

检查是否选择了正确的目标接口(JTAG,SWD等),将接口速度降低,比如100 kHz。

不同目标的速度不同,比如ARM926EJ-S内核,最大值 JTAG速度== MCU速度的1/8,最高为的1/6(可能小于100 kHz)。

3.接口信号

如果J-Link到目标的连接仍然失败,则很可能是接口信号本身存在问题。可能的原因:

  • 调试信号未连接

  • 调试信号与其它外设或板载仿真器共享 

可能的解决方案:

断开板载仿真器或其它可能在目标接口线上交互的外围设备

使用示波器检查调试信号的质量

4.对目标设备进行编程后,J-Link不再能够建立连接

这可能涉及许多不同的因素,例如:应用程序确实禁用了调试接口,重新配置了调试引脚进入了某种低功耗模式或激活了设备的安全防护功能。为了防止在开发过程中出现此类情况,建议:

a.在连接目标MCU之前,复位MCU。

b.在执行实际的应用程序代码之前,增加一秒的延迟,这允许调试仿真器在MCU执行将阻止J-Link成功建立连接的“错误代码”之前,重置MCU并使其停止运行。

c.选择正确的设备,这允许J-Link DLL执行(例如:在引导加载程序中暂停,重置下连接或检查是否是不安全的设备)特殊处理。

最后,如果还有问题,那么,正版J-Link或许能解决你的这些问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/444595.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ZedGraph 绘制动态曲线

文章目录 前言:开发环境:1 下载ZedGraph 控件并设置图形界面2 功能实现3 需求升级4 小结 话不多数,先上一个效果图: 前言: 需要采集一些设备的数据以图表的形式展示出来,研究数据的走向是否平稳&#xff0…

mac Homebrew方式安装 activemq

两种方式安装 activemq 一、通过Homebrew管理安装 1. 确保homebrew可用 查看brew版本 brew -v 如果报错,则可能是未启用brew,需要安装或更新 更新并重新查看是否安装成功 brew update brew -v 2. 安装 activemq:下载activemq前 会先下载相…

Direct3D 12——纹理——寻址模式

可将经过常数插值或线性插值的纹理定义为一个返回向量值的函数T(u, v) (r,g,b,a),即给 定纹理坐标(u,v)∈[0,1]^2,则上述纹理函数T将返回颜色(r,g, b, a)。 Direct3D允许…

MLCC周期性分析:当前时点处于周期反转前夜

MLCC是电子工业大米,供需波动导致行业成周期性波动 MLCC是最常用的被动元器件之一,终端下游涵盖消费电子、家电、汽车、通信等。在5g、汽车电子、智能硬件的推动下,MLCC行业需求稳步增长。供给端来看,中国大陆厂商合计市场份额不…

MFC加载动态gif图片文件C++语言,基于MFC的动画播放控件

MFC加载动态gif图片,使用VS2015环境 一、将下载的PictureEx.h和PictureEx.cpp放在工程文件的目录下,动态gif图片放在工程文件的res文件夹下;(GIF动图下载 https://icons8.com/preloaders/en/search/move) &#xff08…

企业级VUE前端项目各目录文件的作用

概述 本文项目是基于Vue CLI3构建工具(基于 webpack)生成的脚手架项目。Vue CLI 现已处于维护模式,VUE官方推荐使用 create-vue(基于 Vite)构建工具。 vue-cli2.0与3.0在目录结构方面,有明显的不同,vue-cli3.0移除了…

Linux性能优化实战

1. TCP/IP报文详解 TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。TCP负责发现传输的问题,一有问题就发出信号,要求重…

根据cadence设计图学习硬件知识day04了解一些芯片

1.PI3PCIE3212 (双向信道多路复用器/多路分解器开关) PI3PCIE3212是PCIe Gen3.0、8Gbps、4对2差分,PCI ExpressR 3.0性能,8.0Gbps 双向信道多路复用器/多路分解器开关。由于其低的位对位偏斜,高的通道对通道噪声隔离…

邂逅Node.js开发

目录: 1 Node.js是什么? 2 Node的应用场景 3 Node安装和管理 4 JavaScript代码执行 5 Node的输入和输出 6 Node的全局对象 node命令是可以直接运行js脚本的,在某文件夹底下只要有js文件,就可以通过命令提示符运行该js文件。格式是 &…

简单聊聊煤炭行业的数字化和可持续发展

煤在普通人的心目中是一种能引起复杂感情的东西。我们喜欢它在冬天给我们带来温暖,我们不喜欢它因为它黢黑黢黑的,沾在身上特别黑,看起来脏兮兮的。在笔者的记忆中,小时候煤可是生活的必需品。 小时候在冬天的河北必须要生炉子&a…

电源常识-纹波-EMI

1、纹波﹔纹波就是一个直流电压中的交流成分。直流电压本来应该是一个固定的值,但是很多时候它是通过交流电压整流、滤波后得来的,如图1,由于滤波不彻底,就会有剩余的交流成分,即使采用电池供电也会因负载的波动而产生波纹。事实上…

FreeRTOS 任务相关 API 函数

FreeRTOS 中用于创建和删除任务的 API 函数如下表所示: 1. 函数 xTaskCreate() 此函数用于使用动态的方式创建任务,任务的任务控制块以及任务的栈空间所需的内存, 均由 FreeRTOS 从 FreeRTOS 管理的堆中分配,若使用此函数&#x…

聚焦慕思欧洲设计中心,用设计谱写健康睡眠新篇章

4月20日,在意大利米兰,多位欧洲顶尖设计师齐聚ADI博物馆,共同见证“梦享之美”——慕思欧洲设计中心暨设计国际梦之队成立发布会的盛大召开。慕思此次发布会特地选定在米兰国际家具展期间,而这是公认的世界三大家具展之一&#xf…

DF竞赛平台携手嬴彻科技与清华大学智能产业研究院,助力自动驾驶挑战赛圆满落幕!

由DataFountain竞赛平台(简称DF平台)提供办赛支持的「首届“嬴彻-清华AIR杯”自动驾驶挑战赛:决策规划算法」已圆满落幕。作为一场前沿性自动驾驶类比赛,本次大赛立足“高速道路”和“城市道路”两大真实场景,选择“半…

SEO文章批量生成

SEO文章生成器 想必大部分人对于 SEO 这个词不会陌生,它是指一系列的优化策略,目的是让网站能够在搜索引擎上更容易地被检索,并获得更多的流量和曝光度。但是,SEO 的优化并非易事,尤其对于那些没有相关技术知识和经验…

科技云报到:存储开源,风雨飘摇下“披着羊皮的狼”?

科技云报道原创。 这些年开源界的风风雨雨,时不时撼动着人们的内心。 2022年,俄乌冲突导致全球最大的独立开源软件公司SUSE、美国开源软件巨头Redhat、主流开源容器引擎Docker,纷纷宣布停止与俄罗斯的合作。 而全球最大的开源及私有代码项目…

react-8 Redux 状态管理 - 持久化存储 => 进阶:React-Redux()和模块化

1.redux redux是独立于react的库,是js状态管理库,提供可预测的状态管理。Vue也可用,但是和react比较搭配 。 2. 什么时候用 redux? 解决:任意:多组件共享状态, 解决:任意:两个…

83.qt qml-初步学习2D粒子影响器(二)

由于QmlBook in chinese翻译过来的文字有些比较生疏难于理解,所以本章在它的基础上做些个人理解,建议学习的小伙伴最好配合QmlBook in chinese一起学习。 QML粒子所有类型: Qt Quick Particles QML Types | Qt Quick 6.5.0 Affector类型: Attractor QML Type | Qt Quick 6.5.…

TouchGFX界面开发 | TouchGFX软件安装

TouchGFX软件安装 TouchGFX和STemWin类似,都是一个GUI框架,可以方便的在STM32 Cortex-M4 以及更高级别的STM32芯片上创建GUI应用程序。 本文中的TouchGFX软件安装,是基于已经安装有STM32CubeMX Keil MDK-ARM开发环境的情况下进行的&#x…

CSS3 2D变换

CSS3 2D变换 位移: div {transform: translateX(30px); /*水平位移*/transform: translateY(30px); /*垂直位移*/transform: translate(30px, 30px); /*两个方向位移*/ }注意:位移的百分比是元素本身,不是父元素 div {transform:…