ARM调试方案演示文稿.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ETM 结构 TRACECLK 3 (ETM v1) 4 (ETM v2) PIPESTAT [2:0] (ETM v1) PIPESTAT [3:0] (ETM v2) ARM Core 到和来自ARM的数据 可综合的 ETM 块 n = 4, 8 or 16 跟踪端口 (9, 13 or 21引脚) ETM 监控器和简要的ARM 总线信号 JTAG 接口 Trigger Filter Logic Pipeline Status Generation Trace Packet Capture n TRACEPKT[n-1:0] TRACESYNC (ETMv1 only) FIFO TAP Controller 5 到ARM的控制 来自ARM的控制 来自ARM的地址 确定的 ETM-ARM 接口 (只在ETM v2) 跟踪端口说明 TRACECLK: 与处理器时钟有相同的频率 PIPESTAT (流水线状态) 表明: 程序流 是否有一个相关联的TRACEPKT ETM 状态 TRACEPKT (跟踪包) 可能包含以下一个或多个特征: 数据地址 数据值 指令地址 TRACESYNC (只在ETM v1有): 用来在ETM和TPA之间进行同步 * 可以参考ETM规范得到更多的信息 n = 4, 8 or 16 跟踪端口 (9, 13 or 21 引脚) TRACECLK PIPESTAT [2:0] (ETM v1) PIPESTAT [3:0] (ETM v2) TRACEPKT[n-1:0] TRACESYNC (ETMv1 only) 指令跟踪 与指令跟踪有关的跟踪端口部分: PIPESTAT –表明内核的流水线状态 (例如,一个指令是否被执行) TRACEPKT – 当需要时,包含一个跳转目标地址 以上两条和代码映象相结合,就可以进行调试了 指令跟踪能够被高度压缩 典型地,一个 9-位的跟踪端口可以处理只有指令的跟踪 ETM v1 最好的情形: 3位的跟踪信息来跟踪32位的代码 ETM v2 最好的情形: 4位的跟踪信息来跟踪64位的代码 可以用过滤和触发器: 只对内存地址和/或区域进行跟踪 只有在特定的ETM顺序状态,计数器等才进行跟踪 技术注解:TraceEnable (一个 ETM 内部信号) 可以激发指令跟踪。它是由触发器/过滤器事件和资源控制的。 数据跟踪 与数据跟踪有关的跟踪端口部分: TRACEPKT – 包含数据地址或数据值 只有数据地址改变的位被广播 (目的是节省带宽) 每一次跟踪运行都可以配置 ETM: 数据地址或数据值(或两个都有) 读或写(或两个都有) 需要一个高的带宽跟踪所有数据(有程序相关) 一个带有45个字节FIFO的13-位跟踪端口可以跟踪大部分数据传输 如果想跟踪更多数据访问则需要一个21-位的跟踪端口 过滤器和触发器对保持跟踪数据的管理很重要 如果在跟踪信息里有一个 FIFO 溢出标记,那么就表示有部分的跟踪信息被丢掉 推荐使用可编程的过滤器和触发逻辑 技术注解:ViewData (一个ETM的内部信号) 激发了数据跟踪(如果TraceEnable是假时被忽略掉). 它是由触发器/过滤事件和资源控制的。 跟踪例子 0x1010 MOV r0, #3 0x1014 SUBS r0, r0, #1 0x1018 BNE 0x1014 0x101C LDR r1, #0x4000 ... 0x4000 0x4321 {data} IE IE IE r0=2 IE IE IE IN ID ... r0=1 r0=0 0x101C LDR r1, #0x4000 r1? ID? 0x1018 BNE 0x1014 0x1010 SUBS r0, r0, #1 0x1018 BNE 0x1014 0x1014 SUBS r0, r0, #1 0x1018 BNE 0x1014 0x1014 SUBS r0, r0, #1 0x1010 MOV r0, #3 Corresponding Instruction none none none none none none none TRACEPKT branch not taken IN Comment PIPESTAT r0=0 IE direct branch taken IE r0=1 IE direct branch taken IE r0=2 IE r0=3 IE ? 假设数据跟踪是激活的(ViewData 被声明了)

文档评论(0)

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

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

1亿VIP精品文档

相关文档