ads实验调试方法.doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AXD Debugger 仿真调试的使用方法 ADS 是 ARM 系统的一个集成开发环境,提供程序编写、编译、连接、生成映像的功能。 除此之外,ADS 还带有一个调试工具 AXD Debugger,方便进行源码级调试。下面以 XSBASE270 系统下的一些实验例子进行调试分析。 调试的方式可以分为两种:一种是在 FLASH(ROM)调试,另一种是在 SDRAM(RAM) 调试。 一、在 FLASH 调试 1、打 开 Edit ? Debugrel Settings….,进行对编译选项进行设置。如图 1、2、3、4 所示。 当编写好程序代码后,就要对编译选项进行设置了。 图 1:Target Settings Post-linker:表示用于选择对连接器输出的文件的处理方式,我们选择 ARM fromELF, 它可以把 ELF 格式的文件转换成各种二进制文件格式。 图 2:ARM Link 的 Output 设置 在 ARM Linker 选项组中,进行对 Output 设置,RO Base 设置为 0表示从 映像是烧写到 FLASH 里面的。而 RW Base 设置为 0xa0100000,表示放到 SDRAM 里面, 由于我们的实验程序都会进行内存初始化操作,所以我们都可以使用内存空间。 图 3:ARM Link 的 Options 设置 Options 中的 Image entry point 表示映像的入口点(地址),boot.o(boot)表示系统从目标 文件 boot.o 中 boot 段开始运行。 图 4:ARM Link 的 Layout 设置 在 Layout 中,Place at beginning of image 下的 Object/symbol 表示目标文件,Section 表 示目标文件中的代码段。这与 Options 中的 Place at beginning of image 相同。 2、执行 Project?Make ,也可以直接用快捷键 F7 进行编译、连接生成映像文件。如图 5 所示,执行后,会出现编译、连接后的结果,如图 6 所示。 图 5:编译、连接、生成映像 图 6:编译、连接结果 3、连接好仿真器,如果是 Multi-ICE ARM 仿真器,需要启动 Multi-ICE Server。 4、下载映像到 FLASH 里,然后才进行调试。在命令提示符中运行命令:jflashmm.exe pxa270 xxx.bin ,就可以把 xxx.bin 下载到 FLASH 里面了,如图 7 所示。如果是使用 Banyan-U 仿真器,就可以使用它自带的 JTAG 下载功能,不必使用 JFLASHMM 下载,具体操作请看 Banyan-U 仿真器的使用手册。 图 7:烧写映像到 FLASH 中 5、下载映像到 FLASH 后,打开 Project ? Debug F5 ,系统就会自动调用 AXD Debugger 进行仿真调试。如图 8 所示: 图 8:AXD 调试界面 当打开 AXD Debugger 后,就可以通过 Execute 下拉列表的命令进行仿真调试。如图 9 所示。 图 9: Execute 下拉列表命令 下面我们分别执行各个命令: Go :让系统运行,执行结果如图 10 所示: 图 10:运行 Go Stop:停止系统的运行,如图 11 所示。 图 11:运行 Stop 当运行 Stop 命令后,光标就会停在运行到的地方。 Step In:进入函数体内执行。如图 12 所示,表示还没有进入之前,图 13 表示进入后的 运行情况。 图 12:进入函数之前情况 图 13:进入函数的情况 Step:单步执行,图 14 表示运行到地方,这是一个函数,再单步执行,就会执行完这 个函数,等待执行下一条指令,如图 15 所示。 图 14:将要运行的地方 图 15:下一条要执行的指令 Step Out:跳出函数执行下一条指令。如图 16 所示,表示在函数体内,只要 Step Out 就会跳出函数体,继续执行下一条指令。如图 17 所示。 图 16:在函数体内 图 17:跳出函数体外,等待执行下一条指令 Run To Cursor:运行到光标处,如图 18 所示,表示还没有运行到的情况,图 19 表示, 运行执行 Run To Cursor 的情况。 图 18:执行 Run To Cursor 之前 图 19:执行 Run To Cursor 之后 Toggle Breakpiont:设置断点,如图 20 所示,设置了断点,图 21 表示运行 Go 后的运 行情况。 图 20:设置断点 图 21:执行 Go 运行到断点处 有时候不能设置断点或者不能设置多个断点,以下是解决的办法:

文档评论(0)

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

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

1亿VIP精品文档

相关文档