劳特巴赫(Lauterbach)的 TRACE32 是嵌入式系统调试领域的顶级工具,尤其在汽车电子、芯片开发和实时系统调试中广泛应用。以下是其常用命令分类整理


一、基础调试命令

  1. 连接目标板

    SYStem.CPU <芯片型号>  // 设置目标CPU类型
    SYStem.MODE Attach     // 连接到运行中的目标
    SYStem.Up             // 启动调试器
    
  2. 程序控制

    Break                 // 暂停目标程序
    Go                    // 继续运行
    Step [n]              // 单步执行(n为步数)
    Step.Over             // 单步越过函数
    
  3. 断点管理

    Break.Set <地址>      // 设置软件断点
    Break.Set HARD <地址> // 设置硬件断点
    Break.List            // 列出所有断点
    Break.Delete *        // 删除所有断点
    

二、内存与寄存器操作

  1. 查看/修改寄存器

    Register.Dump         // 显示所有寄存器
    Register.Set PC=0x8000000  // 修改PC寄存器
    Data.Set <地址> <值>   // 修改内存数据
    
  2. 内存查看

    Data.Dump <地址>       // 以十六进制查看内存
    Data.Dump <变量名>     // 查看符号地址内容
    Data.List <地址> /Format <格式>  // 自定义格式(HEX/ASCII/FLOAT)
    
  3. 内存填充与复制

    Data.Fill <起始地址>++<长度> <值>  // 填充内存
    Data.Copy <源地址> <目标地址> <长度> // 复制内存块
    

三、符号与源码调试

  1. 加载符号表

    Data.LOAD.Elf <文件路径>   // 加载ELF文件符号
    Data.LOAD.Auto             // 自动加载当前调试符号
    
  2. 源码级调试

    List <函数名>        // 查看源码
    List *PC            // 显示当前指令的源码
    
  3. 变量监控

    Var.Watch <变量名>   // 添加变量监视
    Var.Watch *          // 列出所有监视点
    

四、RTOS 支持(以FreeRTOS为例)

  1. RTOS 识别

    RTOS                            // 检测RTOS
    RTOS.CONFIG <FreeRTOS.cmm>      // 加载RTOS配置文件
    
  2. 任务查看

    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分析、崩溃诊断、性能优化等复杂任务。