trace32,真是个调试神器

trace32,真是个调试神器关注 星标公众号 直达精彩内容来源 网络素材 T32 打开界面首先需要安装 一般默认安装在 C T32 在安装路径下 T32 bin windows64 下打开 t32start exe 如下 检查路径是

大家好,欢迎来到IT知识分享网。

关注、星标公众号,直达精彩内容

来源 | 网络素材

6ce5e6d98950e580d0580f0a9e8808f3.png

T32打开界面

  1. 首先需要安装,一般默认安装在C:\T32,在安装路径下T32/bin/windows64 下打开t32start.exe,如下,检查路径是否正确,检查core是否正确。

07b19c584b838412ea765536f1568bc3.png

  1. 然后点击start;

界面功能说明如下:

6073e3dedbdbb3adbb306fa7f2a1122c.png

参数设置

  1. 设置CPU等参数。也可以写一个.cmm脚本,在file–> edit script中加载并debug该脚本。

466589b9bff7f32b9593683a08caf9a7.png

  1. 一个简单的脚本(命令行方式)如下(忘记区分大小写了):

system.mode down

system.reset  (复位CPU)

system.jtagclok 10Mhz(设置jtag clk)

system.cpu =contexm33 (目标CPU)

system.config memoryaccessport 0 (下面4个是在上图中最后侧点击CONFIG设置项)

system.config debugaccessport 1

system.config jtagaccessport 2

system.config corejtagport 2

system.config SWDPTargetSel  0x02000001 (target ID,一般为硬件决定)

system.mode up (trac32与板子连接,并CPU指向初始化向量表,一般为rom/ram零地址)

总结:执行该脚本主要实现了CPU重启,初始化连接,CPU指向中断向量表。

加载.axf/.elf/symbol文件

可以直接使用file–> load file,或者在脚本中增加

data.load  elf_file_name (下载code到内存,覆盖原有内存数据)

或 data.load elf_file_name /nocode (只下载符号表,不覆盖内存,通常用于调试)

加载和保存二进制数据

加载数据(到内存):data.load .binary (file_name)  mem_addr

保存数据(到文件):data.save.binary (file_name) mem_addr++(mem_size-1)

保存addr1~addr2范围的数据: data.save.binary (file_name) mem_addr1++mem_addr2

调试

下载成功后,点击工具菜单中的图标, 查看汇编代码

a4c8fa8f54629785a1217ec24e22d9ca.png

  1. step (F2)

单步运行。在碰到子函数的时候会进入子函数中的第一条代码。

  1. over(F3)

单步执行,和step区别是遇到函数时,over会执行完这个函数,到下一条指令,不会进入函数内。

  1. next

next 的模式会在当前代码的下一条代码打一个临时断点,当程序执行以后会一直运行直到碰到这个临时断点,它可以帮助我们直接跨过一个循环体.比如:

7b9448e0f7734061ee3d293f0f14787a.png

  1. return

return 会在一个函数的最后一行设置一个临时断点,当在函数体内点击 Return以后,程序会一直运行直到停在设置的临时断点的位置。

  1. up

up会从当前函数执行结束,跳到应用它的函数的下条指令。

  1. go

执行应用程序,直到碰到用户设置的断点才停下来。

加载C源码

y.spath.setrecursedir   yourcodepath

或(待验证)data.load elf_file_name [/nocode] /sourcepath  sourcecode_path /strippart i

相关解释:/sourcepath的作用是指定C code的路径,/strippart的作用是去掉相对路径的层数,i的具体数值可以试验几次来确定。

查看函数/内存数据/全局变量/堆栈/cpu寄存器

打开汇编,可以看到汇编的行号,以及当前代码属于的源文件,点击文件名,可以查看详细路径以及重命名的文件。

a43ff94a0b48cb5bc44e46c2bb10049c.png

还可以通过view/var查看内存,变量等信息

4d2cc10db66d534aa3e0ef3ecf7e0dcb.png

点击 蓝色图标 i,可以 查看工程symbol,包括所有的函数和变量的symbol 以及对应的地址。

46be6b79006ae7ba713e9cd3509a362b.png

断点设置

设置断点的方法有3种:

  1. 直接双击添加断点
  2. 右键添加断点
  3. 点击break list按钮去设置断点

e92074b8097ccf87816da9c8cb7b59c8.png

对第三种,点击set,可以添加不同的多个断点。

5479fd13eedea6c1499c2d7882bad21e.png

版权声明:本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。

‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

关注我的微信公众号,回复“星球”加入知识星球,有问必答。
点击“阅读原文”查看知识星球详情,欢迎点分享、收藏、点赞、在看。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/122127.html

(0)
上一篇 2025-10-19 08:15
下一篇 2025-10-19 08:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信