ARM汇编程序调试.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ARM汇编程序调试

第十讲 ARM汇编程序调试 张朋月,手zhangpy@yeah.net 达盛知天培训中心 课程简介 课程内容:基于硬件平台的ARM汇编程序调试 。 课程目的:AXD调试环境下Multi-ICE的设置,及AXD查看变量方法 。 讲座时间:30分钟 本节主要内容 在硬件平台上完成仿真设置及汇编调试。 Multi-ICE的设置 HJTAG下的设置。 AXD查看变量方法。 AXD下的程序调试。 AXD下的硬件调试。 AXD与ARM硬件平台连接设置 AXD连接硬件平台的设置必须是在连接硬件平台平台,并且硬件上电的情况下才能正常进行。 AXD连接硬件平台的设置步骤如下。 仿真器或调试电缆连接好PC机与硬件平台。 上电,并打开Multi-ice程序,让Multi-ICE能检测出CPU。HJTAG调试电缆的情况与此相同。 然后打开AXD环境,在Options?configure target菜单弹出的窗口中添加Multi-ICE.dll文件,该文件位于与ADS安装在同一目录下的Multi-ICE目录下。HJTAG调试程序也有*.dll文件。如果用HJTAG调试电缆同样要添加文件 添加完成后,出现图示情况,找光标到新添加的文件上,然后点Configure按钮进行配置该处理器,如CPU类型,存储格式,有无浮点等。 确定后,开始连接。连接成功再次进入到AXD环境下。 AXD下文件的装载 装载的前提是Multi-ICE程序启动并能正确找到CPU;AXD连接目标设置项指定该硬件所用仿真连接的动态库文件。 用File?Load image装载。 从ADS环境直接运行Debug或Run来直接进入AXD调试环境。 下图是Multi启动时情况,其已找到CPU,如果AXD环境与通过仿真器与硬件正常连接后,图中CPU所示的绿字就会变红。 寄存器及变量的量看 用Processor Views?Registers来打开寄存器查看窗口。注意图面的变化,通过拉动框条来增加该部分窗口。左图下的红框所列出的是CPU的七种模式情况下的寄存器内容。点击前面的复合框后出现如右图所示情况,可以在此观察运行程序时的相应寄存器和PC值变化。这对调试十分有用。 用Processor Views?Variables打开变量查看窗口。如果当前程序有变量,即可在该窗口中显示。左图上部分红框所示。 程序调入的仿真处理 程序载入后,程序单步运行来观察寄存器窗口的变化。可以看到相应的寄存器值会变红,表明其在变化。 可以用设置断点的方法来调试一段程序。 也可以用设置程序运行到光标来调试一段程序。 如果是全速运行,则该程序会进入一个死循环,以待等外部事件触发,并进入相应中断。 内存的查看 用Processor Views?Memory打开内存窗口。 输入查看内存的首地址,回车后即可显示该段内存里的内容 用此方法我们查看一下,代码与内存中数据的对应关系。如下页示。 在该窗口内点击鼠标右键可以在弹出的菜单中可以设置内存数据的显示宽度,可以进行内存填充,以便来测试内存的好坏。 反汇编文件的查看 用反汇编查看按钮来查看反汇编程序文件。注意文件中“[]”中的代码,即为ARM的16进制的机器码,注意图中相对应的色框,红框是内存的起始地址,绿框是该行指令的机器码,对应于内存中的首地址中的数据。 再用此方法查看一下程序的入口地址。与上节的汇编程序架构对应理解。 命令行接口窗口 该窗口在实际的硬件设计调试中意义重大,通过该窗口可以配置相应的寄存器或初始化相应目标,并可改写内存。 通过命令行窗口初始化内存 上图给出S3C44B0的初始化配置。我们也可通过命令行方式来初始化内存。 setmem 0x01c80000 032 setmem 0x01c80004 032 通过命令行窗口初始化内存 setmem 0x01c80008 0x00007ffc 32 setmem 0x01c8000c 0x00007ffc 32 setmem 0x01c80010 0x00007ffc 32 setmem 0x01c80014 0x00007ffc 32 setmem 0x01c80018 0x00007ffc 32 setmem 0x01c8001c 032;SDRAM ,GCS6 setmem 0x01c80020 032;SDRAM setmem 0x01c80018 032 setmem 0x01c80018 032 setmem 0x01c80018 032 setmem 0x01c80018 032 数据格式为:Setme

文档评论(0)

cgtk187 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档