转自http://maker.zlgmcu.com/portal.php?mod=view&aid=3685

J-Link Commander作为J-Link驱动软件包的一个工具之一,为工程师的MCU调试工作提供了很好很强大的功能,善加利用能帮我们解决大问题,本文将介绍一下J-Link Commander的一些经典用例。

1

妙用1:检测目标芯片

拿到一块新的MCU开发板,一般情况下,有经验的工程师马上会为开发板供电,并将开发板通过JTAG(或SWD)接口连接至J-Link。然后打开J-Link Commander工具,若检测到下面图片所示的信息:目标板电压;目标芯片ID;目标芯片内核,则说明开发板基本能正常工作且能通过J-Link 调试。

若检测到的目标板电压为0V那么就要确认目标板供电是否正常;

若测到的目标板电压为3.3V左右,但还是无法检测到目标芯片,那么通常都是JTAG(或SWD)线缆没有接好,或者MCU的JTAG(或SWD)相关引脚被MCU里面的程序禁用了,这时候就需要检查线缆或者擦除MCU里面的程序了。

除了打开J-Link Commander的时候会自动检测目标芯片,在J-Link Commander里面输入命令“usb”也会执行目标芯片的检测。

2

妙用2:暂停内核,获取内核通用寄存器信息

大多数工程师都碰到过程序跑飞或进入HardFault的情况,但苦于没有好的方法来定位程序跑飞的位置。

今天教大家一个妙招:当MCU里面的程序跑飞的时候,不要断电,将MCU连接到J-Link,打开J-Link Commander,并输入命令“halt”。这样,就能暂停内核,获取内核通用寄存器信息。

有了PC指针和SP指针的内容,就能很方便的定位到程序在哪里死掉了,或者程序在进入HardFault之前执行了什么指令。这个方法是不是对定位程序问题很有用啊!

3

妙用3:丰富的命令,强大的功能

J-Link Commander的强大之处远不止于此,想要使用更多功能,只需在J-Link Commander里面输入“?”就能够获取所有能使用的指令,如:

—— Firmware info用来查看Jlink的硬件版本;

——halt用来停止MCU内核,可以查看内核的PC指针等特殊寄存器;

——go用来激活被halt的内核;

Sleep ——Waits the given time (in milliseconds). Syntax: Sleep <delay>用来延时;

——Single step the target chip单步调试代码,可以先执行halt,然后再来单步调试;

st ——Show hardware status显示Jlink当前状态;

hwinfo ——Show hardware info显示Jlink 的硬件信息。

J-Link Commander是不是很好很强大呀!工程师们可以凭借自己的兴趣与能力深入挖掘J-Link Commander的各种功能。

[转]J-Link Commander的妙用的更多相关文章

  1. 一个文件夹可以link 到另外一个文件夹

    Creates a symbolic link. MKLINK [[/D] | [/H] | [/J]] Link Target /D      Creates a directory symboli ...

  2. 牛客多校第四场 J Free 最短路

    题意: 求最短路,但是你有k次机会可以把路径中某条边的长度变为0. 题解: 跑k+1次迪杰斯特拉,设想有k+1组dis数组和优先队列,第k组就意味着删去k条边的情况,每次松弛操作,松弛的两点i,j和距 ...

  3. 玩转WIN7的MKLINK

    引言: 换了新电脑,终于再次使用上啦WIN7 ,经过一个周每天重装N次系统,终于弄好一个像样的系统啦.由于使用rt7lite对WIN7SP1官方整合包进行了适当精简,所以最终系统的稳定性还得经过一段时 ...

  4. 【纪中集训】2019.08.10【NOIP提高组】模拟 A 组TJ

    T1 Description Solution 有待填坑-- T2 Description 给定一个\(h(≤10)\)层.\(n(≤10)\)行.\(m(≤10)\)列的由泥土组成的立方体,挖开\( ...

  5. [JZOJ1900] 【2010集训队出题】矩阵

    题目 题目大意 题目化简一下,就变成: 构造一个\(01\)数列\(A\),使得\(D=\sum A_iA_jB_{i,j}-\sum A_iC_i\)最大. 问这个最大的\(D\)是多少. 正解 其 ...

  6. windows7命令帮助大全

    有关某个命令的详细信息,请键入 HELP 命令名ASSOC 显示或修改文件扩展名关联.ATTRIB 显示或更改文件属性.BREAK 设置或清除扩展式 CTRL+C 检查.BCDEDIT 设置启动数据库 ...

  7. [转]Windows7文件夹转移清理臃肿的C盘

    当你使用Windows的时候,你会发现无论哪个版本的Windows,系统都会默认将用户文件夹和程序数据文件夹(xp下是Documents and Settings文件夹,而windows7和vista ...

  8. SharePoint 快捷获取列表栏内部名称

    在列表设置页面点击浏览器书签获取列表字段内部名称,使用效果如下图: 如何使用: 修改浏览器上任意书签的url地址为以下代码,注意:代码中不能有换行符 javascript:(function(){va ...

  9. bzoj1189

    1189: [HNOI2007]紧急疏散evacuate Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2321  Solved: 724[Submi ...

随机推荐

  1. 【java】之彻底明白进制转换

    首先区分 2进制  只有0和1组成    如:0101018进制  以0开头,0~7组成   如:01234510进制 以1~9开头,0~9组成      如:10016进制 以0X开头,0~9或者a ...

  2. ssh config配置

    使用ssh config文件可以简化ssh连接输入参数,直接从config读取 (1)建立config文件 config文件位置在~/.ssh/config 如果不存在,可以创建一个 (2)confi ...

  3. Java学习——使用final修饰符

    package Pack1; import java.awt.*; import java.applet.*; class ca { static int n = 20; final int nn; ...

  4. Jmeter(三十四)Jmeter-Question之“Cookie获取”

    2018.4.27 还在做性能测试的过程中,唉,只能说坑很多. 无明确需求.无人手协调等问题,什么都需要自己去挖掘. 本次测试的工具选型依然是Jmeter,真实场景中遇到了这么个问题.可能解决办法有点 ...

  5. [UE4]事件驱动的UI更新:事件调度器

    事件调度器就是一个“事件中介”,可以被调用和被关注.

  6. 获取Android文件路径

    Environment.getDataDirectory().getPath() : /data Environment.getDownloadCacheDirectory().getPath() : ...

  7. java对redis的基本操作(初识)

    一.server端安装 1.下载 https://github.com/MSOpenTech/redis 可看到当前可下载版本:redis2.6

  8. CSS 随笔

    1.动态修改div的大小 Html: <div> Hello </div> css: div { resize:both; overflow:auto; } 2. box-si ...

  9. webkitAnimationEnd动画事件

    春节终于过完了,自己春节似乎过的有点大,过完春节之后,态度一直没有调整好,总有一股过节的情绪,没有完全进入学习和工作的状态来.继续调整当中…… 这两天项目中遇到一个小需求,十分类似于支付宝蚂蚁森林给小 ...

  10. 零基础学习python_with(34课)

    今天学习的with语句,with的表达形式如下:据说context必须是上下文管理器,这我就懵比了,啥玩意啊... with语句的表达形式: with context as var:    block ...