J-link使用小技巧

J-link大家都不陌生,但是很多朋友都是只拿它当作一个调试仿真器,其实J- Link有许多宝藏功能有待大家发现,今天这篇文章就简单的介绍一下J-link Commander的几个常用使用指令。

首先大家的笔记本需要安装J-link的驱动,该驱动的安装包除了驱动也会安装j-link全家桶,包括且不限于J-link commander/J-fFlash/j- Link RTT等实用工具,以后都会一一介绍。

驱动包可从Segger的官网获取到: https://www.segger.com/downloads/jlink/

安装后通过搜索栏找到J-link commander,并打开它

打开后是类似于Windows终端的窗口,多少是有些B格的。仿真器连接至电脑后输入指令”connect”并回车,则会执行与J-link仿真器连接的动作,因此当无法使用仿真器时,可通过该步骤用来判断是无法连接仿真器还是无法连接芯片。

如果当前显示的芯片不是你想要的目标芯片,那么可以输入”?”并回车来进行芯片的选择,如下图所示:

如下图所示为进入MCU选型界面,在该界面下选择好对应芯片即可。

⚠:选择的芯片信号会被记录在仿真器中,如果用IDE调试其他芯片提示无法进入仿真,可能就需要到这里进行对应配置修改。

完成选型后则是选择J-link与芯片的通讯方式,若是JTAG则输入“j”,若是SWD则输入”s”, 点击回车键输入指令,成功连接后如下图所示:

完成和芯片的连接后,就可以使用各类风骚的指令了。如果不知道有哪些指令以及指令格式,那么键入”?”并回车后则会输出所有指令及其指令格式。如下图所示

“h”指令(halt)类似于MCU遇到断点停止运行,并会将暂停时刻的通用寄存器和状态寄存器等数值一并打印出来。

“g”指令(go),例如下发了”h”指令后想让MCU回复运行,则下发“g”指令即可

“r”指令(Reset),下发该指令后MCU会执行复位动作

通常在仿真环境中,MCU各类信息都可以在IDE上随意查看。可是进入仿真环境可能会造成程序的擦除、复位动作,导致破坏现场。若是现在返回一个故障件,它的某个功能不正常,那就可以通过j-link直接读取的方式,在不破坏当前状态的情况下获取到相关寄存器/Flash/RAM中的数值,进行初步的一些故障判断。

mem8 起始地址,读取长度:可打印出从起始地址后指定长度的数据,mem8的话打印数据是按照byte为单位显示,还有mem16和mem32分别是按照半字与字为单位显示。如下则分别展示mem8与mem16的效果,可看出内容是一致的,只是size和大小端不同。

savebin 生成位置与文件名,起始地址,目标长度: savebin指令帮助我们将MCU任意有效地址内的数据予以反读取并生成bin文件。应用场景可以是

(1) 反读当前MCU内的程序,如果将编译信息集合到了固件中,则可以直观看到固件的版本号/编译日期等,方便定位问题固件版本号。

(2) 反读程序与目标程序进行对比,查看是否发生了篡改。

本次测试使用的指令为 savebin d:/test.bin,0,0x1000,目的是将该MCU地址0开始后0x1000个字节的数据生成名为test.bin的文件存放在D盘中。正常的话读取速度是非常快的,几百K byte的程序基本按了回车键后就完成读取了。

⚠:该指令并不是都能成功,如果MCU处于休眠状态,此时读取的话,会发现可能读取速度很慢,其次反读出来的数据可能还是错误的,所以使用该方法反读数据需要MCU处于非休眠状态。

loadbin 文件位置与文件名,起始地址:既然可以读取,那对应就有烧录,如果很不幸,你电脑没有原工程,MCU也没有bootloader,那要将一个bin文件烧录进MCU就可以通过该方式。本次使用loadbin d:/test.bin,0 其意思就是将D盘中一个叫test.bin的文件烧录以0为起始地址执行烧录。

⚠:一般执行loadbin之前最好先下发“h”指令回车停止MCU运行,再下发“erase”指令再回车完成片内数据擦除,最后再执行loadbin指令;有一些情况是无法完成bin文件烧录的,例如编程时有锁定flash以保护数据,或者 j-link不支持该MCU,大部分情况下如果能够连接MCU,还是那就能够完成bin文件的直接烧录的。

欢迎大家关注我的公众号,一起技术交流

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
j-LINK 是一款常用的仿真器,用于调试和烧录嵌入式系统中的程序。以下是 j-LINK使用教程: 1. 安装 j-LINK 驱动程序 在使用 j-LINK 之前,需要先安装 j-LINK 的驱动程序。驱动程序可以从 j-LINK 官网下载,也可以从开发板厂家提供的驱动程序中获取。安装驱动程序后,将 j-LINK 与计算机连接。 2. 连接目标板 将 j-LINK 与目标板连接。连接时需要根据目标板的接口类型选择相应的连接方式,如 JTAG、SWD、SWO 等。连接方式可以从目标板的说明书中获取。 3. 配置调试环境 在使用 j-LINK 调试程序之前,需要配置调试环境。调试环境包括调试器、目标板、连接方式等。在 Keil、IAR 等集成开发环境中,可以在工具栏或菜单中找到相应的配置选项。 4. 程序调试 在配置好调试环境后,可以通过 j-LINK 对嵌入式系统中的程序进行调试。在 Keil、IAR 等集成开发环境中,可以使用调试器窗口进行单步调试、断点调试等操作。 5. 程序烧录 除了调试程序,j-LINK 还可以用于烧录程序。在 Keil、IAR 等集成开发环境中,可以使用烧录器窗口进行程序烧录操作。烧录时需要选择正确的目标芯片型号、连接方式等。 以上就是 j-LINK使用教程。在使用 j-LINK 进行调试和烧录时,需要注意以下几点: - 确保 j-LINK 驱动程序已正确安装。 - 确保 j-LINK 与目标板的连接方式正确。 - 确保调试环境配置正确。 - 在进行程序烧录操作时,要先擦除目标芯片中的程序,再进行烧录。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值