APM32失控?崩潰?Hardfault嗎?本文介紹了J-Link命令工具的幾個常用命令,以幫助您掌握APM32
APM32 MCU失控?崩潰?Hardfault嗎?
遇到這些意想不到的情況時不知道該怎么辦?一個專家會想到使用J-Link命令來查詢信息,你會嗎?今天,我將為大家介紹J-Link命令工具的幾個常用命令,幫助大家順利掌握APM32芯片。
1. mem:按字節(jié)讀取內(nèi)存
命令格式:mem
.例如,使用APM32F411芯片,要讀取地址0×40023800+0×74的RCC時鐘控制和狀態(tài)寄存器,您將輸入:mem 0×40023874 4。
2. mem32:按字讀取內(nèi)存(4字節(jié))
命令格式:mem32
.例如,使用APM32F411芯片,要讀取地址0×40023800+0×74的RCC時鐘控制和狀態(tài)寄存器,您將輸入:mem32 0×40023874 1。
3. W4:按字寫內(nèi)存(4字節(jié))
命令格式:W4
.例如,使用APM32F411芯片,要將數(shù)據(jù)0xa5a5a5寫入SRAM地址0×20000100,您將輸入:W4 0×20000100 0xA5A5A5A5。
4. h:Halt
這將停止CPU的執(zhí)行。執(zhí)行該命令后,可以查看PC指針等信息。
5. g:Go
輸入該命令后,CPU將全速運行。如果您的開發(fā)板有LED,您將看到程序運行和燈閃爍。
6. s:Single Step
當輸入此命令時,CPU將執(zhí)行一條匯編指令。(注意:單步命令只能在CPU處于Halt狀態(tài)時使用。這意味著在使用single-step之前必須調(diào)用“h”命令。)
7. r:復(fù)位CPU
輸入此命令將導(dǎo)致MCU復(fù)位,程序?qū)念^重新啟動。
常用命令摘要:
?usb:連接到目標板
?r:重啟目標板
?halt:停止在CPU上運行的程序
?loadbin:加載可執(zhí)行二進制文件
?跳轉(zhuǎn)到代碼段地址并執(zhí)行
?s:單步執(zhí)行(用于調(diào)試)
?setpc:設(shè)置PC寄存器值(用于調(diào)試)
?setbp:設(shè)置斷點
?Regs:讀取寄存器集;該命令顯示所有寄存器
寫入寄存器
?mem:讀內(nèi)存
?w4:寫內(nèi)存
?power off mmu:關(guān)閉mmu模塊,在裸金屬調(diào)試時非常重要
?w4 cpsr, 0×0000001f:進入系統(tǒng)模式
?speed:設(shè)置JTAG的傳輸速率
?rce 0, c0, c0, 0:設(shè)置CP15的第一個寄存器為0
不常用的命令:
這里有一些不太常用的命令供感興趣的人參考:
?從內(nèi)存中讀取32位項。語法:w4,(從內(nèi)存中讀取32字節(jié))
?寫測試單詞。語法:wm
?是:確定掃描鏈選擇寄存器的長度
?ms:測量掃描鏈的長度。
?mr:測量RTCK反應(yīng)時間。
?q:Quit
?qc:關(guān)閉J-Link連接并退出
?r:復(fù)位目標(Reset)
?rx:帶延遲的重置目標(Reset)。語法:處方
?RSetType:設(shè)置當前復(fù)位類型。語法:RSetType
Regs:顯示寄存器的內(nèi)容
?寫入寄存器。語法:wreg;
?SetBP:設(shè)置斷點。語法:SetBP [A/T] [S/H]
?SetWP:設(shè)置觀察點。語法:SetWP [R/W] [[]]
?clbp:清除斷點。語法:ClrBP
?清除一個觀察點。
?VCatch:寫vector catch。語法:VCatch
?loadbin:將二進制文件加載到目標內(nèi)存中。語法:loadbin
?savebin:將目標內(nèi)存保存為二進制文件。語法:savebin,,
?SetPC:設(shè)置PC到指定的值。語法:SetPC
?le:設(shè)置為小端模式
?be:改為大端模式
?log:啟用對文件的日志記錄。語法:日志
本文編譯自hackster.io





