文章目录
- 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
2. 连接开发板
连接开发板需要配置CPU
如果芯片厂家提供脚本,可直接导入脚本
将脚本文件拖入命令行(直接拖,不需要敲命令),点击回车,运行脚本出现如下界面
点击core0,代表trace32 已经连接到CPU的core0,并且core0处于运行状态
3. 下载代码到开发板
先停下core0
加载 elf 文件(即通过编译器生成的文件),把elf文件可以拖动到命令框,然后回车即可
此时已加载完成
点击此按钮即可全速运行CPU
4. 多核调试
按照上述流程,此时core0已经成功跑起来了,等个几秒等待其他核运行起来,然后通过cmm文件点击其他核,运行选中的核(如果报错的话,并且不能再正常运行core0,需要将开发板、老特巴赫、USB和trace32t软件全部重置)
5. 复位
再菜单栏中找到下图所示,即可复位,然后点击运行按钮开始运行CPU
6. 调试
1. 查看代码当前运行位置
2. 模式选择
3. 函数查找
根据函数名找到对应的源码位置(要是搜索后无反应,需要重新加载 elf 文件)
symbol.list.TREE 命令(命令不需要记,直接点击命令行下的指令提示,点击完成后选择OK),根据不同模块,找到对应的源码进行调试
而 从在菜单栏中找到模块只能看到模块名,无法看到模块下的函数
4. 函数跳转
向下跳转 — 双击函数名即可跳转至该函数实现
向上跳转
5. 设置断点
6. 观测变量值
7. step
在碰到子函数的时候会进入子函数中的第一条代码。
8. over
over和step的区别是遇到函数时,over会执行完这个函数,到下一条指令,不会进入函数内。
9. up
从当前函数执行结束,跳到应用它的函数的下条指令
10. go
全速执行,直到碰到断点
11. Break
暂停运行