Jlink commander使用方法(附指令大全)

Jlinkcmd它可以方便用户在非仿真的情况下,hold内核、单步、全速、设置断点、查看内核和外设寄存器、读取flash代码等等,方便大家拥有最高的权限查看在运行中的MCU情况,查找非IDE仿真情况下,MCU运行异常的原因。

目录

驱动安装

打开Jlinkcmd

建立连接

常用指令

实测举例

指令大全


驱动安装

Jlink相关文档及软件资料见如下官网网址:

SEGGER - The Embedded Experts - Downloads - J-Link / J-Trace

Jlink驱动下载可选如下官网网址:

SEGGER - The Embedded Experts - Downloads

打开Jlinkcmd

我们可以在开始菜单打开Jlinkcmd;

8600921fe4264036b44e700f1f4ba159.png

也可以在安装目录中打开Jlinkcmd;

e7ac744c06b348de9e25da3512f4b0ea.png

 还可以在KEIL软件中debug窗口中打开;

72a232cebd614af9be68799efbc90e8f.png

建立连接

1fab679283a84455b7c3c3689050dd00.jpeg

1.输入connect建立连接;

2.输入芯片型号,直接回车可以选择默认选项;

3.根据实际情况选择JTAG或者SWD;

4.设置下载速度,直接回车可以选择默认选项;

正确的连接目标芯片后:

cf3d937a0ecd4cd1abe0c593ac89411a.jpeg

识别到内核,并通知“已识别”。

常用指令

Mem 读内存

mem8 读8比特内存

mem16 读16比特内存

mem32 读32比特内存

w1 写8比特内存

w2 写16比特内存

w4 写32比特内存

h 停止cpu运行的程序

setbp 设置断点

g 跳到代码段地址执行

s 单步执行(调试用)

r 复位

q 退出

实测举例

fb37131e115d4ebb9487d657de841e24.jpeg

由以上指令运行结果可简单看出,PC初始值为0x080001E0,运行结束后指向0x08001764;

10a3e776fcd44ba0bbaa85c4869ab791.jpeg

由以上指令运行结果可简单看出,地址0x00000004存储的值为:0x080001E1,地址0x08000004存储的值为:0x080001E1

指令大全

Command (long)

Command (short)

Explanation

Basic

 ?

?

Show information about all or specific commands

Exit

Exit

Close J-Link connection and quit

ExitOnError

EoE

Exit on error

Sleep

Sleep

Waits the given time (in milliseconds)

Log

Log

Enables log to file

ExpDevList

ExpDevList

Export device names from DLL internal device list to text file

ExpDevListXML

ExpDevListXML

Export device names from DLL internal device list to XML file

Configuration - J-Link

USB

USB

Connect to J-Link via USB

IP

IP

Connect to J-Link via TCP/IP or to Remote Server

SelectProbe

SelPrb

Show list of all connected probes via specified interface. The Probe to communicate with can then be selected

ShowEmuList

ShowEmuList

Show list of all connected probes via specified interface

Power

Power

Switch power supply for target (5V-Supply pin) on or off

VTREF

VTREF

Set fixed value for VTref on J-Link

VCOM

VCOM

Enable/disable VCOM Takes effect after power cycle of the probe

Reboot

Reboot

Reboots the connected probe.

ShowFWInfo

F

Show firmware info

ShowHWStatus

St

Show hardware status

License

License

Show list of all available license commands

IPAddr

IPAddr

Show/Assign IP address and subnetmask of/to connected Probe

GWAddr

GWAddr

Show/Assign network gateway address of/to connected Probe

DNSAddr

DNSAddr

Show/Assign network DNS server address of/to connected Probe

ShowConf

Conf

Show configuration of the connected Probe

Calibrate

Calib

Calibrate the target current measurement

Configuration - Target (CPU)

Connect

Con

Connect to target device

Device

Device

Select specific device J-Link shall connect to

SelectInterface

SI

Select target interface

Speed

Speed

Set target interface speed

LE

LE

Change mode to little endian

BE

BE

Change mode to big endian

Debugging

Halt

H

Halt CPU

IsHalted

IH

Return current CPU state

WaitHalt

WH

Wait until CPU is halted or timeout is reached

Go

G

Start CPU if halted

Reset

R

Reset CPU

ResetX

RX

Reset CPU with delay after reset

RSetType

Rst

Set the current reset type

Step

S

Execute step(s) on the CPU

IS

IS

Identify length of scan chain select register

MS

MS

Measure length of scan chain

Regs

Regs

Display CPU register contents

RReg

RReg

Read register

WReg

WReg

Write register

MoE

MoE

Shows mode-of-entry (CPU halt reason)

SetBP

SetBP

Set breakpoint

ClearBP

ClrBP

Clear breakpoint

SetWP

SetWP

Set watchpoint

ClearWP

ClrWP

Clear watchpoint

VCatch

VC

Write vector catch

SetPC

SetPC

Set the PC to specified value

ReadAP

ReadAP

Read CoreSight AP register

WriteAP

WriteAP

Write CoreSight AP register

ReadDP

ReadDP

Read CoreSight DP register

WriteDP

WriteDP

Write CoreSight DP register

RCP15Ex

RCE

Read CP15 register

WCP15Ex

WCE

Write CP15 register

Term

Term

Visualize printf output using DCC (SEGGER DCC handler running on target)

Debugging - Memory operation

Mem

Mem

Read memory and show corresponding ASCII values

Mem8

Mem8

Read 8-bit items

Mem16

Mem16

Read 16-bit items

Mem32

Mem32

Read 32-bit items

Write1

W1

Write 8-bit items

Write2

W2

Write 16-bit items

Write4

W4

Write 32-bit items

Debugging - JTAG related

JTAGConf

JTAGConf

Set number of IR/DR bits before Target device

JTAGId

I

Read JTAG Id

WJTAGIR

WJIR

Write JTAG command (IR)

WJTAGDR

WJDR

Write JTAG data (DR)

WJTAGRaw

WJR

Write Raw JTAG data

ResetTAP

RTAP

Reset TAP Controller using state machine (111110)

ResetTRST

RT

Reset TAP Controller using nTRST

Debugging - ICE

ICE

ICE

Show state of the embedded ICE macrocell (ICE breaker)

ReadICE

RI

Read Ice register

WriteICE

WI

Write Ice register

TRACE

TClear

TC

Clear TRACE buffer

TSetSize

TSS

Set TRACE size of trace buffer

TSetFormat

TSF

Set TRACE Format

TShowRegions

TSR

Show TRACE Regions (and analyze trace buffer)

TStart

TStart

Start TRACE

TStop

TStop

Stop TRACE

SWO

SWOSpeed

SWOSpeed

Show supported SWO speeds

SWOStart

SWOStart

Start SWO

SWOStop

SWOStop

Stop SWO

SWOStat

SWOStat

Display SWO status

SWORead

SWORead

Read and display SWO data

SWOShow

SWOShow

Read and analyze SWO data

SWOFlush

SWOFlush

Flush SWO data

SWOView

SWOView

View SWO terminal data

Flash programming

Erase

Erase

Erase flash (range) of selected device

LoadFile

LoadFile

Load data file into target memory

SaveBin

SaveBin

Save target memory range into binary file

VerifyBin

VerifyBin

Verfy if specified bin file is at the specified target memory location

Flasher File I/O Commands

FWrite

FWr

(Flasher only) Write file to probe

FRead

FRd

(Flasher only) Read file from probe

FShow

FShow

(Flasher only) Read and display file from probe

FDelete

FDel

(Flasher only) Delete file on probe

FSize

FSz

(Flasher only) Display size of file on probe

FList

FList

(Flasher only) List directory on probe

SecureArea

SecureArea

(Flasher only) Creates/Removes secure area on probe

Measurement and test commands

PowerTrace

PowerTrace

Perform power trace (not supported by all models)

TestWSpeed

TestW

Measure download speed into target memory

TestRSpeed

TestR

Measure upload speed from target memory

TestCSpeed

TestC

Measure CPU speed

TestNWSpeed

TestNW

Measure network download speed

TestNRSpeed

TestNR

Measure network upload speed

MR

MR

Measure RTCK react time

J-Link Pin control

Clock

C

Output clock(s) on the TCK pin

Clock00

C00

Output clock(s) on the TCK pin, with TDI == 0 and TMS == 0

ClrTCK

TCK0

Clear TCK pin

SetTCK

TCK1

Set TCK pin

ClrTDI

TDI0

Clear TDI pin

SetTDI

TDI1

Set TDI pin

ClrTMS

TMS0

Clear TMS pin

SetTMS

TMS1

Set TMS pin

ClrTRST

TRST0

Clear TRST pin

SetTRST

TRST1

Set TRST pin

ClrRESET

R0

Clear RESET pin

SetRESET

R1

Set RESET pin

 

 

### 回答1: Jlink命令行脚本是指在命令行中使用Jlink工具执行某些命令的一组指令。Jlink是一个用于与Java虚拟机(JVM)进行交互的命令行工具,在开发和调试Java应用程序时非常有用。 使用Jlink命令行脚本,可以执行各种操作,例如创建自定义的运行时映像,生成模块化的JRE,创建不同配置的JVM等。下面是一个简单的示例: 1. 首先,我需要在命令行中运行jlink命令。假设我的Jlink工具路径是/opt/jdk/bin/jlink,我的Java模块路径是/myproject/modules。 2. 接下来,我可以使用以下命令创建一个自定义的运行时映像: ```shell /opt/jdk/bin/jlink --module-path /myproject/modules --add-modules com.example.module --output /myproject/myimage ``` 3. 上面的命令将创建一个包含com.example.module模块的运行时映像,映像输出路径为/myproject/myimage。 4. 如果需要生成一个模块化的JRE,可以使用以下命令: ```shell /opt/jdk/bin/jlink --module-path /myproject/modules --add-modules com.example.module --output /myproject/myjre --launcher start=com.example.module/com.example.module.Main ``` 5. 上面的命令将创建一个模块化的JRE,其中包含com.example.module模块,并且将启动类设置为com.example.module.Main。 6. 此外,还可以使用其他参数和选项来自定义Jlink命令行脚本的行为,例如设置压缩级别、排除模块、排除文件等。 总之,Jlink命令行脚本是一个非常有用的工具,可以提高Java应用程序的开发和调试效率。通过编写Jlink命令行脚本,可以根据自己的需求创建自定义的运行时映像和模块化的JRE,以及执行其他的Jlink操作。 ### 回答2: jlink 是一个用于创建和操作 Java 模块化运行时映像的命令行工具。它可以用来生成定制的 JRE 或可执行程序,以便在没有完整 JDK 安装的情况下运行 Java 应用程序。 使用 jlink 命令行脚本可以实现自定义的 JRE 构建。以下是使用 jlink 命令行脚本的一些示例: 1. 创建一个最小的 JRE: `jlink --module-path <module-path> --add-modules <module-name> --output <output-dir>` 这个命令将使用指定的模块路径和模块名创建一个最小的 JRE,并将其输出到指定的目录。 2. 创建包含指定模块及其依赖关系的 JRE: `jlink --module-path <module-path> --add-modules <module-name> --output <output-dir> --bind-services` 这个命令不仅会将指定的模块添加到 JRE 中,还会将其依赖的模块一同添加进去,并绑定服务提供者。 3. 创建包含所有模块的 JRE: `jlink --module-path <module-path> --add-modules ALL-MODULE-PATH --output <output-dir>` 这个命令将会将所有模块及其依赖关系添加到 JRE 中。 4. 创建较小体积的 JRE: `jlink --module-path <module-path> --add-modules <module-name> --output <output-dir> --compress 2 --strip-debug --no-header-files --no-man-pages` 这个命令将在创建 JRE 时进行压缩、去除调试信息、不包含头文件和手册页,从而减小 JRE 的体积。 使用 jlink 命令行脚本可以根据需求创建定制的 JRE,从而减少运行时所需的依赖和体积,提高应用程序的运行效率和部署便捷性。 ### 回答3: jlink是Java Development Kit (JDK) 9之后引入的一个工具,用于创建精简版的Java运行时环境(JRE)或自定义的Java平台模块。jlink命令行脚本是使用jlink工具的一种方式。 使用jlink命令行脚本,可以通过一系列的命令来定义并创建一个定制化的JRE。以下是一个示例的jlink命令行脚本: ``` jlink --module-path <模块路径> --add-modules <模块名列表> --output <输出目录> ``` 其中,`<模块路径>`是指存放Java模块文件(.jmod)或模块化JAR文件(.jar)的目录或路径;`<模块名列表>`是一组模块的名称,用逗号分隔;`<输出目录>`是指将生成的精简版JRE输出的目录。 例如,要创建一个仅包含Java基本运行时模块(java.base)的精简版JRE,可以使用以下命令: ``` jlink --module-path $JAVA_HOME/jmods --add-modules java.base --output myjre ``` 这个命令将在当前目录下创建一个名为`myjre`的目录,其中只包含java.base模块所需的类和资源文件。这样,我们就可以将这个精简版JRE分发给其他人使用,而无需包含整个JDK。 除了上述示例之外,jlink命令行脚本还支持其他参数和选项,可用于配置JRE的特性和行为。可以通过执行`jlink --help`命令来查看所有可用的选项和参数。 总而言之,jlink命令行脚本是使用jlink工具创建精简版JRE的一种方式,可以根据需求定制化JRE的模块内容和功能。它提供了一种简单而灵活的方式,使开发人员能够轻松构建自己所需的Java运行时环境。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值