劳特巴赫(Lauterbach)的 TRACE32 是嵌入式系统调试领域的顶级工具,尤其在汽车电子、芯片开发和实时系统调试中广泛应用。以下是其常用命令分类整理:
一、基础调试命令
-
连接目标板
SYStem.CPU <芯片型号> // 设置目标CPU类型 SYStem.MODE Attach // 连接到运行中的目标 SYStem.Up // 启动调试器
-
程序控制
Break // 暂停目标程序 Go // 继续运行 Step [n] // 单步执行(n为步数) Step.Over // 单步越过函数
-
断点管理
Break.Set <地址> // 设置软件断点 Break.Set HARD <地址> // 设置硬件断点 Break.List // 列出所有断点 Break.Delete * // 删除所有断点
二、内存与寄存器操作
-
查看/修改寄存器
Register.Dump // 显示所有寄存器 Register.Set PC=0x8000000 // 修改PC寄存器 Data.Set <地址> <值> // 修改内存数据
-
内存查看
Data.Dump <地址> // 以十六进制查看内存 Data.Dump <变量名> // 查看符号地址内容 Data.List <地址> /Format <格式> // 自定义格式(HEX/ASCII/FLOAT)
-
内存填充与复制
Data.Fill <起始地址>++<长度> <值> // 填充内存 Data.Copy <源地址> <目标地址> <长度> // 复制内存块
三、符号与源码调试
-
加载符号表
Data.LOAD.Elf <文件路径> // 加载ELF文件符号 Data.LOAD.Auto // 自动加载当前调试符号
-
源码级调试
List <函数名> // 查看源码 List *PC // 显示当前指令的源码
-
变量监控
Var.Watch <变量名> // 添加变量监视 Var.Watch * // 列出所有监视点
四、RTOS 支持(以FreeRTOS为例)
-
RTOS 识别
RTOS // 检测RTOS RTOS.CONFIG <FreeRTOS.cmm> // 加载RTOS配置文件
-
任务查看
Task.List // 列出所有任务状态 Task.SWITCH <任务名> // 切换到任务上下文
五、Flash 编程
FLASH.Load <算法文件> // 加载Flash烧录算法
FLASH.ReProgram <Hex文件> // 擦除并烧录新固件
FLASH.Verify <文件> // 校验Flash内容
六、脚本自动化(.cmm 脚本)
DO <脚本路径> // 执行脚本
PRINT "Hello, T32!" // 打印消息
AREA.SAVE <路径> // 保存内存区域到文件
七、Trace 功能(指令跟踪)
Trace.METHOD OnChip // 使用芯片内置Trace
Trace.Start // 开始记录
Trace.Stop // 停止并分析
Trace.VIEW // 查看Trace数据
八、实用命令
SYStem.DOWN // 断开目标连接
SYStem.STATUS // 显示调试器状态
WAIT <时间> // 延时(单位:秒)
使用技巧
- 符号访问:使用
<模块名>::<符号名>
访问特定模块的符号(如app::main
)。 - 批量命令:在脚本中用
;
分隔命令(Go; WAIT 1; Break
)。 - 错误处理:用
ONERROR "DO recover.cmm"
捕获错误。
⚠️ 注意:命令语法可能因芯片架构(ARM/Cortex/RISC-V等)和TRACE32版本略有差异。
建议查阅官方手册:Help > PDF Documentation
或访问 Lauterbach官网。
通过灵活组合这些命令,可高效完成裸机调试、RTOS分析、崩溃诊断、性能优化等复杂任务。