转自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. [蓝桥杯]ALGO-49.算法训练_寻找数组中最大值

    题目描述: 问题描述 对于给定整数数组a[],寻找其中最大值,并返回下标. 输入格式 整数数组a[],数组元素个数小于1等于100.输出数据分作两行:第一行只有一个数,表示数组元素个数:第二行为数组的 ...

  2. Memcached在.NET应用程序中的使用

    在应用程序运行的过程中总会有一些经常需要访问并且变化不频繁的数据,如果每次获取这些数据都需要从数据库或者外部文件系统中去读取,性能肯定会受 到影响,所以通常的做法就是将这部分数据缓存起来,只要数据没有 ...

  3. PAT 乙级 1078 字符串压缩与解压 (20)

    文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示.例如 ccccc 就用 5c 来表示.如果字符没有重复,就原样输出.例如 ...

  4. 进程优先和ACL

    linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有 ...

  5. GVRP

    一.GARP和GVRP GARP全称是通用属性注册协议(Generic Attribute Registration Protocol),它为处于同一个交换网内的交换成员之间提供了分发.传播.注册某种 ...

  6. [UE4]小地图UI设计

    一.新建一个名为TestMiniMap的UserWidget用来使用小地图StaticMiniMap. 二.在左侧“User Created”面板中可以看到除自身以外的其他所有用户创建的UserWid ...

  7. ​游戏设计思考:对COK的理解和思考

    转自:http://www.gameres.com/804983.html 一.前言 发此文的起因是最近加入了一个游戏研究群,受到大家对游戏研究热情的感染,也想将自己对游戏的理解和感悟发出来和大家一起 ...

  8. (转)C# WebApi 跨域问题解决方案:CORS

    原文地址:http://www.cnblogs.com/landeanfen/p/5177176.html 阅读目录 一.跨域问题的由来 二.跨域问题解决原理 三.跨域问题解决细节 1.场景描述 2. ...

  9. (转)C# 控制蜂鸣器发声

    原文地址:http://blog.csdn.net/tsinfeng/article/details/6201918 在C#中可以通过以下四种方式来实现蜂鸣或者报警,播放声音之类的功能.XP下对蜂鸣有 ...

  10. TableStore:创建SyncClient+getRow读取一行数据

    1.通过控制台或者客户端,在TableStore中新建了实例owlforest,在实例详情中获取到实例访问地址endPoint 2.新建表user,确定主键为userid(Interger)类型,因为 ...