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