TRACE32的常用命令和调试技巧.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

TRACE32的常用命令

TRACE32是由德国Lauterbach公司研制开发的一款仿真测试工具。我们使用

Trace32最主要用途有两个:程序下载和程序调试。下载目前各个项目都有相应的.cmm文件

(类似于批处理文件.bat),在此文件中,Trace32把对FLASH擦除/编程的插件下载到手机

的SRAM中,然后把控制权交给此插件,详细过程就不在此叙述,这里主要是介绍一些我

们在程序调试过程中常用的一些命令。

1.把调试用的.elf文件下载到目标板中

命令:d.load.elf*.elf或者直接输入elf文件路径:文件路径:

说明:此命令把.elf文件中的调试符号信息下载到Trace32中,二进制代码下载到

目标板中的代码段存储区域。如果代码段对应的存储体是SRAM,那么代码

能够真实的下载到SRAM中(最常见的就是EVB板条死)。如果存储体是FLASH

,由于FLASH程序的擦写需要特殊的命令序列,所以执行完下载命令后,虽然

Trace32没有报错,但实际上代码没有下载进去。这个时候需要用cmm文件把代

码下载到FLASH中去。

2.elf文件下载进去后,在调试之前还需要做一些准备工作

a.map.bonchip0x0—0x3ffff(FLASH的地址范围)

如果程序下载到SRAM中,此命令不用执行,如果是FLASH,一般情况下都需要

执行此条命令,否则无法设置断点,目前大多数CPU在ICD调试模式下只支持两

个硬件断点。

b.y.spath+路径(路径()

支持所加路径的C源码以及汇编代码显示。

3.以上工作做完后,就可以利用Trace32强大的调试功能来调试程序了(可惜到现在我

们只是用到了其中的一部分)。

a.查看ARM寄存器。一般使用在调试/查看汇编代码的情况下使用。

b.查看存储器单元以及存储器映射的寄存器内容。注意:MSM5105的寄存器具有只

读和只写属性(SoftWareInterface中有描述),对于只写属性的寄存器,虽然能够看

到寄存器的内容,但不可信。

有时调试需要直接对寄存器或者变量进行赋值,可以双击对象,在命令行中加以更

改。

c.设置断点。断点调试应该是我们最常用的调试手段了,具体设置方法可以在代码处

直接双击设置或取消设置,或者通过工具条设置:

点击Browse,选择要设置断点的函数。

d.读出存储器区域的内容,存成文件,以便于和原文件进行比较。比如怀疑代码区内

容被更改或者在软件部制作完整的.bin本时,都需要用到此命令。

Data.save.BinaryFileNameAddress

e.STEP(F2)/STEPOVER(F3)/GO(F7)

f.有时侯,Trace32不能正确显示临时变量的值,这个时候可以通过查看汇编代码的

方式确定临时变量真实的值。

g.查看函数的调用关系

有时需要弄清楚某一函数是哪个函数调用的,可以通过在此函数处设置断点,等程

序停在此断点后,点击菜单view/Stackframe就能看到。

h.但有时候采用上述方法无法看到调用关系,这是可以通过R14寄存器(子程序链接

寄存器)来实现,eg:程序因为某种异常,跳到了中断向量表处。此功能对于定位

程序重启之类的问题还是很有效的。

第一步:设置断点

第二步:查看R14寄存器

能够看到R14寄存器的值是0x1BA9C8,此地址就是调用处代码的地址,具体内容可

以点击IndirectList查看:

第三板:查看调用代码

i.其他

以上是在命令行中输入的一些常用命令,其他的很多功能我还没有用过,相信这些功能

对于我们的调试还是很有帮助的。大家调试时可以多试一试,如果有意外的发现,还请和大

家一起分享,共同提高我们对调试工具的掌握程度!

TRACE32调试技巧

1

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档