ARM调试方案—某科技公司arm培训.pptVIP

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

ARM 调试方案 议程 基本的调试需求 你需要什么样的功能? ARM公司的调试和开发工具。 嵌入式核的调试 实现和利用JTAG的调试方案 停止模式和监控模式 嵌入式跟踪 使用ETM ARM 开发板 基本的调试需求 运行控制 设置数据访问断点 设置指令断点 代码的单步执行 状态控制 处理器状态 读写寄存器值 系统状态 系统内存访问 下载代码 执行历史 执行跟踪信息 内存访问历史 ARM 调试系统组件 议程 基本的调试需求 你需要什么样的功能? ARM公司的调试和开发组成工具。 嵌入式核调试 实现和利用JTAG的调试方案 停止模式和监控模式 嵌入式跟踪 整体化和利用ETM ARM 开发板 嵌入式核调试 嵌入式ICE逻辑 两个观察点单元 可以通过监控地址总线,数据总线和控制信号来探测观察点(watchpoint)和断点。 每个单元可以用来提供 1 观察点, 或 1个 ROM或RAM里的硬件断点,或 RAM里的多个软件断点 调试控制和状态寄存器 调试通讯通道 注意:ARM10 ARM10家族的调试结构是不同的,虽然原理是一样的。 一共包括8个观察点单元 6 个在指令地址总线上 2个在数据地址总线上 这个将在另外一个课题中讲解 观察点 硬件断点 软件断点 命中一个断点 停止模式调试 由标准的 EmbeddedICE EmbeddedICE-RT支持 内核进入调试状态和停止状态 内核与系统的其余部分分离 发出DBGACK信号 ( 调试器通过JTAG而检测到) 没有中断处理,除非调试器重新启动执行代码 处理器和系统的状态可以通过扫描内核的指令来察看和修改,紧接着执行它们. 监控模式调试 只由增强功能的 EmbeddedICE-RT支持 在ARM9E, ARM10 和稍后的ARM7TDMI版本上有 内核通过一个异常中断而进入常驻软件监控程序 可以连续处理中断 处理器和系统的状态可以通过监控程序的调试命令来察看和修改. 监控模式调试 主机 - 在AXD 和 Multi-ICE之间的控制器 实时监控协议 非常简单的协议 快速 – 没有出错检查 允许后台命令 实际目标板 小的调试监控程序 (2k 代码字节) 集成在目标里. 以目标代码和原代码的形式提供 调试通讯通道 在ARM和主机调试器之间通过JTAG的通讯信息是由简单串行通讯口来实现的. 不进入调试模式和停止程序执行. ARM上运行的应用代码经过协处理器14来访问. 三个寄存器 通讯数据读寄存器(Comms Data Read Register) 主机到ARM的通讯 通讯数据写寄存器( Comms Data Write Register) ARM到主机的通讯 通讯数据控制寄存器(Comms Data Control Register) 提供在ARM和主机之间同步的握手信号 位 1 – 写位 - 当ARM写入新数据时清掉 位 0 – 读位 – 当ARM有新数据读时设置 DCC 查询模式通讯 DCC 利用中断进行通讯 向量捕获 允许没有处理软件的         异常机制的捕获 在ARM7TDMI 上执行利用断点 当从ROM 地址 0x0 调试时关闭 在ARM9TDMI/ARM10和后来的版本上执行利用专门的硬件 只对硬件异常敏感. 到向量表里的跳转将不被捕获 留下观察点单元作为一般使用. 一旦有你自己的处理,则关掉向量捕获. AXD : spp vector_catch 0 Semihosting ARM 目标上运行的库代码, 但是任何需要的底层的I/O是由主机提供的. SWI 机制提供的主机访问. SWI 接口是ARMulator, Angel 和 Multi-ICE通用的组成部分. Semihosted 程序将运行在所有的ARM目标板上,而不需要 移植. 需要连接的调试工具提供这些功能. 通过JTAG 的Semihosting 关掉: spp semihosting_enabled 0 Semihosting 加上用户SWIs DCC Semihosting 直接对EmbeddedICE访问 AXD 允许直接对EmbeddedICE 逻辑寄存器访问 可以直接通过 GUI或如下的命令行察看 REGisters ”EICE Watch 0” 在地址0x4000写时设置一个观察点: sreg EICE Watch 0|Address Value 0sreg EICE Watch 0|Address Mask 0 sreg EICE Watch 0|Data Value 0 sreg EICE Watch 0|Data Mask 0xFFFFFFFF sreg EICE Watch 0|Control Value

文档评论(0)

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

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

1亿VIP精品文档

相关文档