本帖最后由 onemoren 于 2025-5-15 14:54 编辑
#技术资源# #有奖活动# #申请原创# @21小跑堂 玩转APM32之Jlink commander的常用命令
APM32芯片跑飞?死机?Hardfault? 遇到这种意想不到的场景不知道怎么办?高手会想到用Jlink commander查询一下信息,你会吗? 今天我来为大家介绍一下Jlink commander这个工具的几个常用命令,助你丝滑玩转APM32芯片。
1、mem:按字节读内存 命令格式为: mem <地址> <读取个数>。 比如以APM32F411芯片为例,想要读取F411的RCC时钟控制与状态寄存器(RCC clock control & status register),该寄存器地址为0x40023800+0x74,则输入mem 0x40023874 4即可。
2、mem32:按字(4字节)读内存 命令格式为 mem32 <地址> <读取个数>。 比如以APM32F411芯片为例,想要读取F411的RCC时钟控制与状态寄存器(RCC clock control & status register),该寄存器地址为0x40023800+0x74,则输入mem32 0x40023874 1即可。
3、W4:按字(4字节)写内存 命令格式为 W4 <地址> <写入的数据>。 比如以APM32F411芯片为例,想要向SRAM地址0x20000100写入数据0xA5A5A5A5,则输入W4 0x20000100 0xA5A5A5A5即可。
4、h:Halt停止 即停止CPU运行,输入该指令后可以查看PC指针等信息。
5、g:全速运行 输入该指令后CPU即开始运行,如果开发板上有LED,会看到程序在运行,灯在闪烁。
6、s:单步运行 输入该指令后,CPU会执行一个汇编指令。(注意,必须在CPU Halt状态下才可以使用单步运行指令,即在使用单步运行前,需要先调用“h”指令。)
7、r:复位CPU 输入该指令后,MCU发生一次复位,程序重新开始运行。
总结一下常用指令:
usb--------连接目标板
r----------重启目标板
halt-------停止cpu运行的程序
loadbin----加载可执行的二进制文件
g----------跳到代码段地址执行
s----------单步执行(调试用)
setpc-----设置pc寄存器的值(调试用)
setbp-----设置断点
Regs-------读寄存器组织,该命令会把所有的寄存器显示出来
wreg-------写寄存器
mem--------读内存
w4---------写内存
power off mmu---关闭mmu,这个对于裸板调试很重要
w4 cpsr,0x0000001f------切换到系统模式
speed------设置jtag的传输速率
rce 0,c0,c0,0-----设置cp15寄存器的第1个寄存器为0
还有比较少用的,有兴趣的同学可以试试: ite 32-bit items. Syntax: w4 ,(hex)(读内存32字节)
wm Write test words. Syntax: wm
is Identify length of scan chain selectregister
ms Measure length of scan chain. Syntax: ms
mr Measure RTCK react time. Syntax: mr
q Quit(推出)
qc Close JLink connection andquit(关闭jlink连接,并退出)
r Reset target (RESET)(重启目标)
rx Reset target (RESET).Syntax: rx (延时重启)
RSetType Set the current reset type. Syntax:RSetType
Regs Display contents of registers(显示寄存器信息) 指令用于读寄存器组织,显示所有寄存器的信息
wreg Writeregister. Syntax: wreg , (写继承器)
SetBP Setbreakpoint. Syntax: SetBP [A/T][S/H](设置断点)
SetWP SetWatchpoint. Syntax: [R/W] [ [] [A-Mask]](设置监视点)
ClrBP Clearbreakpoint. Syntax: ClrBP (清除断点)
ClrWP Clearwatchpoint. Syntax: ClrWP (清楚监视点)
VCatch Write vector catch.Syntax: VCatch
loadbin Load binary file intotarget memory.(下载bin文件到目标内存) 指令用于加载可执行二进制文件
Syntax: loadbin ,
savebin Saves target memoryinto binary file.(保存BIN文件)
Syntax: savebin , ,
SetPC Setthe PC to specified value. Syntax: SetPC (设置PC(r15)寄存器) 指令的作用是设置PC寄存器的值
le Change to little endian mode(设置成小端模式)
be Change to big endian mode(设置成大端模式)
log Enables log to file. Syntax:log
等等。
|
@21小跑堂 :增加描述了。感谢提醒
感谢大佬分享!论坛原创审核需满足800字,目前500+,辛苦大佬填充内容后再次@21小跑堂进行审核~