以下是ARM DStream仿真器腳本中常用的命令及其功能分類,結合調試流程和典型應用場景整理:
?? 一、連接與初始化命令
-
connect
建立與目標設備的連接,需指定接口類型(如JTAG/SWD)和處理器核心。
示例:connect -p jtag -c cortex-a5
-
reset
復位目標設備,支持軟復位(內核)或硬復位(全芯片)。 -
target
選擇多核系統中的特定處理器核心,例如target cortex-a5 0
選擇第一個A5核心。
📂 二、程序加載與存儲操作
-
loadfile
將可執行文件(如.axf
或.elf
)加載到目標內存,自動解析符號表。
示例:loadfile MYD-SAMA5D34.axf
-
loadmemory
加載二進制數據到指定內存地址,常用于裸機程序調試2。 -
setmem
?/?readmem
讀寫內存:-
setmem 0x00300000 0x1234
?向地址0x00300000
寫入數據0x1234
-
readmem 0x00300000 4
?讀取4字節數據。
-
?? 三、執行控制命令
-
go
?/?run
啟動程序全速運行,go
可指定入口地址(如go 0x00300000
)。 -
stop
暫停正在運行的程序2。 -
step
單步執行一條指令,支持源碼級或匯編級單步。 -
next
源碼級單步跳過函數調用2。 -
sleep
腳本延時,例如sleep 500 ms
暫停500毫秒。
? 四、斷點與觀測點
-
break
設置軟件斷點:-
break main.c:20
?在main.c第20行設斷點 -
break 0x00300000
?在指定地址設斷點。
-
-
watch
設置硬件觀測點,監視內存讀寫:
watch write 0x20004000
?監控該地址的寫入操作。
🔍 五、寄存器與變量操作
-
reg
查看或修改寄存器:-
reg
?顯示所有寄存器 -
reg r0=0x100
?設置R0寄存器值。
-
-
print
打印變量或表達式值,如print variable_name
。 -
set
設置變量值,例如set var=10
。
📜 六、腳本控制與調試信息
-
source
執行外部腳本文件,如source setup.ds
加載預配置。 -
echo
輸出調試信息到控制臺,用于腳本日志(如echo "Loading complete"
)。 -
semihosting
啟用半主機機制,捕獲目標板輸出(如printf
)到DS-5控制臺。
?? 注意事項
-
命令兼容性:
不同DStream固件版本可能支持命令有差異,建議查閱對應版本的《ARM DStream Command Reference》。 -
調試環境依賴:
裸機調試需確保目標板停在Bootloader階段(如U-Boot),防止系統干擾2。 -
地址映射:
加載程序前需正確配置scatter文件(內存布局),否則加載可能失敗2。
以上命令需在DS-5的腳本編輯窗口或調試控制臺中輸入,完整命令列表可參考ARM官方文檔:DStream調試命令手冊。