STM32學(xué)習(xí)004_調(diào)試工具J_LINK
jlink是segger公司的產(chǎn)品,jlink的官方提供調(diào)試軟件和驅(qū)動(dòng),調(diào)試軟件有jlink命令(j-tag調(diào)試),j-mem(內(nèi)存查看),j-flash(flash燒寫)等我主要用到的是jlink commander,以下是它的命令集:
SEGGER J-Link指揮官V4.20h('?'尋求幫助)
編譯2010年10月5日19:11:57
DLL版本V4.20h,編譯于2010年10月5日19:11:41
固件:J-Link ARM V8編譯2010年5月5日08:59:59
硬件:V8.00
S / N:20100214
功能:RDI,F(xiàn)lashDL,F(xiàn)lashBP,JFlash,GDBFull
VTarget = 3.280V
信息:TotalIRLen =?,IRPrint = 0x..FFFFFFFFFFFFFFFFFFFFF1
警告:找不到CPU內(nèi)核。
沒有在JTAG鏈上找到設(shè)備。嘗試在SWD上查找設(shè)備。
警告:找不到CPU內(nèi)核。
******錯(cuò)誤:奇偶校驗(yàn)錯(cuò)誤(Data = 0xFFFFFFFF,ReceivedParity = 1)
在SWD沒有設(shè)備。
沒有找到任何核心
信息:TotalIRLen = 9,IRPrint = 0x0011
找到2個(gè)JTAG設(shè)備,總共IRLen = 5:
#0 Id:0x2B900F0F,IRLen:04,IRPrint:0x0,ARM ETB
#1 Id:0x07B76F0F,IRLen:05,IRPrint:0x1,ARM1176 Core
確定了ARM11。
J-鏈接>
可用的命令是:
----------------------
f固件信息
h停止
g去
睡眠等待給定時(shí)間(以毫秒為單位)。語(yǔ)法:睡眠
s單步目標(biāo)芯片
st顯示硬件狀態(tài)
hwinfo顯示硬件信息
mem讀取內(nèi)存語(yǔ)法:mem ,(十六進(jìn)制)
mem8讀取8位項(xiàng)目。語(yǔ)法:mem8 ,(十六進(jìn)制)
mem16讀取16位項(xiàng)目。語(yǔ)法:mem16,(十六進(jìn)制)
mem32讀取32位項(xiàng)目。語(yǔ)法:mem32,(十六進(jìn)制)
w1寫入8位項(xiàng)目。語(yǔ)法:w1,(十六進(jìn)制)
w2寫16位項(xiàng)目。語(yǔ)法:w2,(十六進(jìn)制)
w4寫入32位的項(xiàng)目。語(yǔ)法:w4,(十六進(jìn)制)
wm寫測(cè)試字。語(yǔ)法:wm
是識(shí)別掃描鏈選擇寄存器的長(zhǎng)度
ms測(cè)量掃描鏈的長(zhǎng)度。語(yǔ)法:ms
mr測(cè)量RTCK反應(yīng)時(shí)間。語(yǔ)法:mr
q退出
qc關(guān)閉JLink連接并退出
r復(fù)位目標(biāo)(RESET)
rx復(fù)位目標(biāo)(RESET)。語(yǔ)法:rx
RSetType設(shè)置當(dāng)前的復(fù)位類型。語(yǔ)法:RSetType
寄存器顯示寄存器的內(nèi)容
wreg寫入寄存器。語(yǔ)法:wreg,
SetBP設(shè)置斷點(diǎn)。語(yǔ)法:SetBP[A / T] [S / H]
SetWP Set Watchpoint。句法:[R / W] [[] [A-Mask]]
ClrBP清除斷點(diǎn)。語(yǔ)法:ClrBP
ClrWP清除觀察點(diǎn)。語(yǔ)法:ClrWP
VCatch寫向量捕獲。語(yǔ)法:VCatch
loadbin將二進(jìn)制文件加載到目標(biāo)內(nèi)存中。
語(yǔ)法:loadbin,
savebin將目標(biāo)內(nèi)存保存為二進(jìn)制文件。
語(yǔ)法:savebin,,
SetPC將PC設(shè)置為指定值。語(yǔ)法:SetPC
le改為小端模式
改為大端模式
日志啟用日志到文件。語(yǔ)法:log
unlock解鎖設(shè)備。語(yǔ)法:解鎖
鍵入解鎖沒有得到一個(gè)列表
的支持的設(shè)備名稱。
nRESET必須連接
---- CP15 ------------
rce閱讀CP15。語(yǔ)法:rce,,,
wce寫CP15。語(yǔ)法:wce,,,,
- - 冰 - - - - - - -
冰顯示狀態(tài)的嵌入式冰宏單元(ICE斷路器)
ri Read Ice reg。語(yǔ)法:ri(十六進(jìn)制)
wi寫冰reg。語(yǔ)法:wi,(十六進(jìn)制)
---- ETM -------------
etm顯示ETM狀態(tài)
re read ETM reg。語(yǔ)法:re
我們寫ETM reg。語(yǔ)法:我們,(十六進(jìn)制)
es開始跟蹤
---- ETB -------------
etb顯示ETB狀態(tài)
rb讀取ETB寄存器。語(yǔ)法:rb
wb寫入ETB寄存器。語(yǔ)法:wb,(十六進(jìn)制)
---- TRACE -----------
TAddBranch TRACE - 向跟蹤緩沖區(qū)添加分支指令。帕拉斯:,
TAddInst TRACE - 將(非分支)指令添加到跟蹤緩沖區(qū)。句法:
TClear TRACE - 清除緩沖區(qū)
TSetSize TRACE - 設(shè)置跟蹤緩沖區(qū)的大小
TSetFormat TRACE - SetFormat
TSR TRACE - 顯示區(qū)域(并分析跟蹤緩沖區(qū))
TStart TRACE - 開始
TStop TRACE - 停止
---- SWO -------------
SWOSpeed SWO - 顯示支持的速度
SWOStart SWO - 開始
SWOStop SWO - 停止
SWOStat SWO - 顯示SWO狀態(tài)
SWORead SWO - 讀取和顯示SWO數(shù)據(jù)
SWOShow SWO - 讀取和分析SWO數(shù)據(jù)
SWOFlush SWO - 刷新數(shù)據(jù)
----文件I / O --------
fwrite將文件寫入仿真器
fread從模擬器讀取文件
fshow從模擬器讀取和顯示文件
fdelete在模擬器上刪除文件
fsize在模擬器上顯示文件的大小
----測(cè)試------------
thg運(yùn)行/停止1000次
ts運(yùn)行步驟1000次
testwspeed測(cè)試下載速度。語(yǔ)法:testwspeed [[]]
testrspeed測(cè)試上傳速度。語(yǔ)法:testrspeed [[] [
S>]]
testcspeed測(cè)試CPU速度。語(yǔ)法:testcspeed []
---- JTAG ------------
配置在ARM設(shè)備之前設(shè)置IR / DR位數(shù)。
語(yǔ)法:配置,
速度設(shè)置JTAG速度。語(yǔ)法:speed| auto | adaptive,例如speed 2000,
速度a
我讀取JTAG ID(主機(jī)CPU)
wjc寫入JTAG命令(IR)。語(yǔ)法:wjc(十六進(jìn)制)
wjd寫入JTAG數(shù)據(jù)(DR)。語(yǔ)法:wjd(十六進(jìn)制),(分解)
RTAP復(fù)位TAP控制器使用狀態(tài)機(jī)(111110)
wjraw編寫原始JTAG數(shù)據(jù)。語(yǔ)法:wjraw,,
rt復(fù)位TAP控制器(nTRST)
---- JTAG硬件---
c00用TDI = TMS = 0創(chuàng)建時(shí)鐘
c時(shí)鐘
0清除TDI
1設(shè)置TDI
t0清除TMS
t1設(shè)置TMS
trst0清除TRST
trst1設(shè)置TRST
r0清除復(fù)位
r1設(shè)置RESET
----連接------
usb通過USB連接到J-Link。語(yǔ)法:usb,其中港口為0..3
ip通過TCP / IP連接到J-Link ARM Pro或J-Link TCP / IP服務(wù)器。
語(yǔ)法:ip
----配置---
si選擇目標(biāo)界面。語(yǔ)法:si,
其中0 = JTAG,1 = SWD。
電源開關(guān)電源為目標(biāo)。語(yǔ)法:電源[燙發(fā)]
州是開或關(guān)。例如:上電
wconf寫配置字節(jié)。語(yǔ)法:wconf,
rconf讀取配置字節(jié)。語(yǔ)法:rconf
usbaddr將usb地址分配給所連接的J-Link:語(yǔ)法:usbaddr =
ipaddr顯示/分配連接的J-Link的/的IP地址和子網(wǎng)掩碼。
gwaddr顯示/分配連接的J-Link網(wǎng)絡(luò)網(wǎng)關(guān)地址。
dnsaddr顯示/分配連接的J-Link的網(wǎng)絡(luò)DNS服務(wù)器地址/。
conf顯示連接的J-Link的配置。
ecp啟用J-Link控制面板。
校準(zhǔn)校準(zhǔn)目標(biāo)電流測(cè)量。
----------------------
注意:在命令行中指定文件名
將在腳本模式下啟動(dòng)J-Link Commander。
總結(jié)一下我們使用的最多的命令:
USB --------連接目標(biāo)板
[R ----------重啟目標(biāo)板
停止-------停止CPU運(yùn)行的程序
loadbin ----加載可執(zhí)行的二進(jìn)制文件
g ----------跳到代碼段地址執(zhí)行
s ----------單步執(zhí)行(調(diào)試用)
setpc -----設(shè)置pc寄存器的值(調(diào)試用)
setbp -----設(shè)置斷點(diǎn)
-------暫存器讀寄存器組織
WREG -------寫寄存器
MEM --------讀內(nèi)存
W4 ---------寫內(nèi)存
關(guān)閉mmu ---關(guān)閉mmu,這個(gè)對(duì)于裸板調(diào)試很重要
w4 cpsr,0x0000001f ------切換到系統(tǒng)模式
速度------設(shè)置jtag的傳輸速率
rce 0,c0,c0,0 -----設(shè)置cp15寄存器的第1個(gè)寄存器為0