TRACE32SimulatorforARM

TRACE32SimulatorforARM
TRACE32SimulatorforARM

1 前言

Trace32 ICD ARM USB能实时DEBUG代码在手机中的运行情况,功能强大,但需要连接TRACE32硬件才能工作。更重要的是,对于概率性死机的BUG,用Trace32 ICD ARM USB应该是很难找到问题,因为你不能确定手机什么时候crash。

其实TRACE32还有一个WIN32版本,用户只需要把手机crash时候的寄存器信息dump出来,就能在WIN32下定位到死在代码的那一行,非常类似于EMP 平台的CHKARM工具。

这就是本文将要描述的Trace32 Simulator for ARM工具。

2 安装

WIN32版的TRACE32需要重新安装,安装文件和硬件版TRACE32是一样的,只是安装时候的选项不同,而且WIN32版的需要安装在不同的目录下(比如trace32-win32)。

z运行安装文件\trace32\bin\setup\setup.exe。首先设置安装路径,注意不要和硬件版TRACE32安装在同一个目录下,请新建一个文件夹(比如

trace32-win32)

z选择【New Installation】,然后Next

z选择【Simulator】,这个是WIN32版TRACE32的选项(硬件版TRACE32是选择第2项,注意不要搞错了)

z选择默认值,然后Next

z选择【SIM ARM7 ARM9 ARM10 ARM11】,和硬件版TRACE32一样

z安装中,安装完毕后就可以使用了。

3 使用

首先请确保你有保存当前手机软件的原始ARM文件。

手机死机时,按“#”键进入downloading模式。

z运行【QPST】→【Memory Debug】,制指定数据线端口

z点击【Get Regions】显示将要dump的信息

z点击【SaveTo】保存dump数据

z创建保存dump数据的文件夹,建议放到Arm/ms/dump目录下

z保存dump数据,这个过程花的时间比较长

z保存完毕dump数据后,运行软件【Trace32 Simulator for ARM】首先把工作路径切换到\source\Arm\ms下

z在命令行中输入do load_log,然后按回车

z根据屏幕上的提示,选择【2. Call stack or memory compression log (.cmm file)】,然后按回车

z根据屏幕上的提示,直接按回车

z选中刚才dump出来的load.cmm文件并导入

z导入load.cmm中……

z完成load.cmm导入后,在命令行输入do load_rex_cor e 命令,并按回车

z TRACE32定位到死机的代码行(高亮显示部分),和硬件版的TRACE32一样,可以查看当前变量值等有用的信息……

分析,代码如下图所示。

4 后记

本文旨在给出一个WIN32版TRACE32的快速使用指南,预知更多细节,

请查阅TRACE32帮助文档或请教有使用经验的同事。

TRACE32提供的功能是非常强大的,使用的细节和技巧需要我们在实际工作中不断去摸索总结。

希望大家把使用心得分享出来,让TRACE32在我们的工作中发挥更大的作

用。

相关主题
相关文档
最新文档