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