Trace32-ICD使用说明

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Trace32-ICD使用说明

作者:***

日期:2008-8-11

版本:V-1.0

一、编写目的

通过对该文档的阅读,能够掌握Trace32-ICD的软、硬件安装,使用Trace32-ICD进行flash擦除,程序下载,并熟悉在线调试。

二、T RACE32硬件的连接

Trace32的硬件连接如下图所示:

图2.1

注意事项:

电源打开/关闭时的正确顺序:

打开:先调试器,再目标机。

关闭:先目标机,再调试器。

三、TRACE32软件的安装

3.1 TRACE32-ICD软件包安装

1、首先获取安装软件包,包括:Trace32安装包和USB Driver。

2、安装Trace软件包,运行..\ trace32\setup.bat批处理文件或..\trace32\bin\setup\setup.exe文件,系统自动安装,在安装过程中进行如下选择。

图 3.1 图3.2

图3.3

其他选项基本默认。

3.2 USB驱动安装

正确连接Trace后,系统会自动提示发现硬件需要进行驱动。此时选择驱动程序所在目录。路径为..\ trace32\bin。如图3.4所示。

图3.4

四、Flash的擦除与下载程序

由于手机在下载版本过程中死机或掉电造成手机无法正常启动,并且使用我们单位的ZXPST与QPST都无法进行版本下载,并且QXDM和ZXPST通过COM1接口也无法找到手机,于是无法下载。在这种情况下我们可以使用Trace32-ICD进行Flash的擦除和程序下载。

4.1 设置环境

CPU环境设置在SYStem窗口,SYStem窗口提供所有CPU特定的设置。使用CPU菜单中的System Settings…打开SYStem窗口如图4.1所示。

需要配置主要包括CPU、时钟和UP加电,CPU选择ARM926EJ,时钟JtagClock选择

Ttck,然后进行加电UP,如果连接一切都正常,设置这几项就可以了。如图4.1所示:

图4.1

注意事项:如果UP不上出现如下错误emulation debug port fail,说明硬件连接不正确。

4.2 Flash的擦除

TRACE32扩展工具的全部命令,程序执行命令,条件命令和输入/输出命令都可以作为批处理文件命令。批处理文件的默认扩展名是“.cmm”。

使用CMM文件擦除Flash,菜单选择File---Run Batchfile 然后打开CMM文件,如:erasechip_TRACE32.cmm执行批处理文件进行擦除。如图4.2所示。

图4.2

注意事项:1、并不是所有下载程序前都需要擦除Flash。

2、如果擦除后还不能正确下载程序,请多次擦除再进行下载。

4.3 下载程序

执行CMM文件如jflash.cmm文件,然后选择要下载程序的版本,这里可以是elf文件和bin文件,如果选择Edit BatchFile,可以通过在行前加入注释符“;”来决定选择那种文件。如下设置就是选择.elf文件,如图4.3所示。

;d.load.binary ..\..\build\ms\bin\&filename\all.mbn

d.load.elf ..\..\build\ms\&filenam

e.elf /include

图4.3

注意事项:在擦除Flash后下载程序,如果下载程序不是全版本可能出现下载程序后仍然不能开机,请再下载全版本的Bin进行试验或下载nv。

五、调试程序

5.1 load elf文件

首先把与手机中相同版本的.elf文件load到Trace32中,操作如图5.1所示。

图5.1

5.2快速定位到函数

执行操作View----Symbols----BrowseFunctions。如图5.2所示。

图5.2

在弹出的窗体中输入要定位的函数如WMSAPP_FileInit,就能快速定位到该函数,通过窗口中Mode按钮,在混合(MIX)和高级语言(HLL )调试模式之间切换,WMSAPP_FileInit 所在文件源程序如图5.3所示。

图5.3

注意事项:如果无法显示源文件内容,说明没有正确指定源程序所在路径,在命令行输入如下命令:y.spath.setRecursedir e:\code 其中e:\code为源程序所作路径。

5.3断点设置

在默认情况下ICD调试器使用软件断点。当一个软断点被设到一条指令,一条特殊的指令将代替地址上的代码。例如:TRAP,它停止实时执行并返回控制到片上调试系统。这种方法要求断点位置在RAM中,如果您的程序运行在RAM上,软件断点的数目将没有限制。

大多数处理器类型(除6833x and 6834x)都提供一些片上(onchip)断点。即使程序不能运行在RAM上,TRACE32-ICD也可以使用这些断点对程序进行程序断点和侦察断点的设置。而我们的手机程序都不是运行在RAM上,而是运行在FLASH中。所以不能直接使用软件断点。我们只能设置片上断点。

返回到程序窗口,双击您要设置的一个程序断点所在的代码行。设置了程序断点的所有的代码行有一个小黑杠作为标记。

因为调试器在默认情况下使用软件断点,但您必须告诉调试器该使用片上断点。我们

通过命令MAP.Bonchip指定断点为片上断点,或者通过Break---Implementation进入配置窗体,在Program中选择Onchiip,一个程序或是侦察断点被设置在确定的地址范围内的时候,调试器应该使用一个片上断点。

我们最多只能设置两个onchip断点,当设置的断点数目超过处理器能够提供的片上断点数目时,将发生错误。通过Break----List可以查看当前已经设置的断点。如图5.4所示。

图5.4

5.4程序调试跟踪

调试跟踪主要包括如下几个方面:Step、Step Over Call、Go Next、Go Return、Go Up、Go Till、Go、Break。如图5.5所示。

Step:单步执行程序。

Step Over Call:跳出调用函数。

Go Next:执行下一条语句,主要用来跳出循环。

Go Return:执行到函数的最后一条语句。

Go Up:返回到调用它的函数。

Go Till:程序将开始执行。当程序运行到所选择的代码行,它将停止。

Break:退出。

如果程序运行在RAM上或是CPU提供片上断点,Go Next, Go Return 和Go Up这些命令才可使用。

相关文档
最新文档