文章目录

  • 1. 打开trace32
  • 2. 连接开发板
  • 3. 下载代码到开发板
  • 4. 多核调试
  • 5. 复位
  • 6. 调试
    • 1. 查看代码当前运行位置
    • 2. 模式选择
    • 3. 函数查找
    • 4. 函数跳转
    • 5. 设置断点
    • 6. 观测变量值
    • 7. step
    • 8. over
    • 9. up
    • 10. go
    • 11. Break

1. 打开trace32

劳特巴赫 Trace32 调试使用教程-编程知识网

trace32软件界面介绍
劳特巴赫 Trace32 调试使用教程-编程知识网

2. 连接开发板

连接开发板需要配置CPU
劳特巴赫 Trace32 调试使用教程-编程知识网
如果芯片厂家提供脚本,可直接导入脚本
劳特巴赫 Trace32 调试使用教程-编程知识网
将脚本文件拖入命令行(直接拖,不需要敲命令),点击回车,运行脚本出现如下界面
劳特巴赫 Trace32 调试使用教程-编程知识网

点击core0,代表trace32 已经连接到CPU的core0,并且core0处于运行状态
劳特巴赫 Trace32 调试使用教程-编程知识网

3. 下载代码到开发板

先停下core0
劳特巴赫 Trace32 调试使用教程-编程知识网
加载 elf 文件(即通过编译器生成的文件),把elf文件可以拖动到命令框,然后回车即可
劳特巴赫 Trace32 调试使用教程-编程知识网
此时已加载完成
劳特巴赫 Trace32 调试使用教程-编程知识网
点击此按钮即可全速运行CPU
劳特巴赫 Trace32 调试使用教程-编程知识网

4. 多核调试

按照上述流程,此时core0已经成功跑起来了,等个几秒等待其他核运行起来,然后通过cmm文件点击其他核,运行选中的核(如果报错的话,并且不能再正常运行core0,需要将开发板、老特巴赫、USB和trace32t软件全部重置
劳特巴赫 Trace32 调试使用教程-编程知识网

5. 复位

再菜单栏中找到下图所示,即可复位,然后点击运行按钮开始运行CPU
劳特巴赫 Trace32 调试使用教程-编程知识网

6. 调试

1. 查看代码当前运行位置

劳特巴赫 Trace32 调试使用教程-编程知识网
或者点击
劳特巴赫 Trace32 调试使用教程-编程知识网

2. 模式选择

点击此处选择代码是否显示汇编语言
劳特巴赫 Trace32 调试使用教程-编程知识网
劳特巴赫 Trace32 调试使用教程-编程知识网

3. 函数查找

根据函数名找到对应的源码位置(要是搜索后无反应,需要重新加载 elf 文件)
劳特巴赫 Trace32 调试使用教程-编程知识网
劳特巴赫 Trace32 调试使用教程-编程知识网
symbol.list.TREE 命令(命令不需要记,直接点击命令行下的指令提示,点击完成后选择OK),根据不同模块,找到对应的源码进行调试
劳特巴赫 Trace32 调试使用教程-编程知识网
劳特巴赫 Trace32 调试使用教程-编程知识网
劳特巴赫 Trace32 调试使用教程-编程知识网
劳特巴赫 Trace32 调试使用教程-编程知识网
而 从在菜单栏中找到模块只能看到模块名,无法看到模块下的函数
劳特巴赫 Trace32 调试使用教程-编程知识网
劳特巴赫 Trace32 调试使用教程-编程知识网

4. 函数跳转

向下跳转 — 双击函数名即可跳转至该函数实现
向上跳转

  • 1.搜索函数
  • 2.右键函数名,点击 Grep in Sourcefiles, 即可在sourcefiles中搜索该函数
    劳特巴赫 Trace32 调试使用教程-编程知识网

5. 设置断点

双击左侧设置断点
劳特巴赫 Trace32 调试使用教程-编程知识网
全速运行后在断点处停止
劳特巴赫 Trace32 调试使用教程-编程知识网
劳特巴赫 Trace32 调试使用教程-编程知识网

6. 观测变量值

需要选中变量才可显示变量值
劳特巴赫 Trace32 调试使用教程-编程知识网
也可以在窗口中监测
劳特巴赫 Trace32 调试使用教程-编程知识网
劳特巴赫 Trace32 调试使用教程-编程知识网

7. step

在碰到子函数的时候会进入子函数中的第一条代码。
劳特巴赫 Trace32 调试使用教程-编程知识网

8. over

over和step的区别是遇到函数时,over会执行完这个函数,到下一条指令,不会进入函数内。
劳特巴赫 Trace32 调试使用教程-编程知识网

9. up

从当前函数执行结束,跳到应用它的函数的下条指令
劳特巴赫 Trace32 调试使用教程-编程知识网

10. go

全速执行,直到碰到断点
劳特巴赫 Trace32 调试使用教程-编程知识网

11. Break

暂停运行
劳特巴赫 Trace32 调试使用教程-编程知识网