以下是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调试命令手册。