问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ETM驱动跟踪时怎么回事?

发布网友 发布时间:2022-05-16 01:25

我来回答

1个回答

热心网友 时间:2023-10-08 16:42

  粗略的讲,ETM的作用就是记录处理器做的事情并送到外面的调试器。

  嵌入式跟踪宏单元

  由于微控制器带有大量的片内存储器,因此不能简单地通过观察外部管脚来确定处理器核是如何运行的。ETM对深嵌入处理器内核提供了实时跟踪能力。它向一个跟踪端口输出处理器执行的信息。软件调试器允许使用JTAG接口对ETM进行配置并以用户易于理解的格式显示捕获到的跟踪信息。ETM直接连接到ARM内核而不是主AMBA 系统总线。

  ETM管脚:

  TRACECLK

  PIPESTAT[2:0]

  TRACESYNC

  TRACEPKT[3:0]

  EXTIN[0]

  面对不断增长的处理器频率,先来看一下跟踪技术的一些最新发展。首先看一下在基于ARM内核的SoC设计里面的片内跟踪模块,也就是常说的ARM嵌入式跟踪宏单元(ARM ETM)。ETM定义了一个物理跟踪端口用来传输程序执行流程的信息,下面是对ETM端口的各个组成信号的简要描述。

  TRACECLK: 该信号用来同步收集跟踪信息的硬件(也就是在线调试器)和ETM。所有的IPESTAT和TRACEPKT信号都在TRACECLK信号的边沿上被采样。在不同的ETM运行模式下,该信号可以是ARM内核工作频率的两倍、一半、或者同频。

  PIPESTAT(0-2):这三个流水线状态信号表明对应每个TRACECLK时钟周期,处理器指令流水线内部事件的详细信息如指令已经执行、发生跳转等。

  TRACEPKT: 程序执行流程通过TRACEPKT信号(依ETM模式不同,可以是4、8,或者 16 针)传递出处理器。对每个非直接跳转,压缩后的跳转目的地址被包含在跟踪报文中。“非直接跳转”是个很宽泛的说法,一般是指跳转的目的地址只能在程序运行的时候才能确定的情况,如通过寄存器加载PC寄存器,预测会发生的跳转指令和异常等。这些程序执行流程信息,和源代码一起,就能够让开发工具重建完整的程序执行流程。源代码既可以通过调试器加载,也可以通过处理器的JTAG接口从内存中读取。

  不仅限于程序执行流程,ETM用户还可以有选择地在跟踪端口的输出中包括数据读写信息。在跟踪端口的输出中,可以只有地址信息(以压缩方式)或数据内容,也可以同时包括地址信息(以压缩方式)和数据读写的内容。使能对数据读写信息的跟踪后,这些信息将被cha(敏感词)ru到程序执行流程信息流中的恰当位置上。

  TRACEPKT可以是4位、8位、或者16位的格式。跟踪端口越窄,通过跟踪端口传递跟踪信息就需要越多的TRACECLK时钟周期。一般4位的TRACEPKT用来重建完整的程序执行流程已经是足够了。但是,包含数据跟踪信息后可以很快的使这个窄位宽跟踪端口超过负荷。尤其是使能了数据跟踪功能后,连续出现32比特的数据访问就很容易出现这种情况。例如,对一组寄存器执行压栈和出栈操作的时候,为了避免在跟踪端口上出现这种过负荷的情况,可以在ETM和外部的开发工具之间增加一个FIFO缓存。当频繁发生跳转和数据读写指令的时候,这个中间缓存就显得尤为重要了。

  跟踪端口的位宽和FIFO的大小都可以有很多种选择,如何正确组合这两个因素非常关键,这将有助于防止跟踪信息的丢失。对于ARM ETM,Lauterbach推荐的最低配置是8位的端口位宽和45字节的FIFO缓存大小。这个组合在绝大多数情况下可以防止跟踪信息的丢失。

  上面提到的ETM跟踪方法的优点是记录信息的媒介在CPU内核以外,这就使得CPU外部的开发工具可以包含无限大小的跟踪缓存。如果在线调试器中可以提供512MB的跟踪缓存,对打开Cache并运行在100MHz的ARM926EJ-S理器来说,可以存储1.4秒的信息,大多数嵌入式开发者都认为这个已经足够满足需求了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
高考为什么不能补报志愿? 帮我翻译一句话“不管多久以后,不管世界变成什么样子,我都是哪个最骄傲... 温州到周口的大巴车经过台州路桥客运中心那里吗? 微信怎么设置看不到微信号 不想让微信号显示出来怎么办 2021年大学教师资格证报名费用 大埔教师资格证报名网 大埔县教育局办教师资格证需要准备哪些资料? 深情触摸2016百度云链接 求深情触摸百度云分享 什么是跟踪调试以及跟踪调试的好处 如何通过反射跟踪JVM的运行时状态 求翻译~!不懂英文!急急急~! word如何做绩效考核表 28岁零几个月青年节放假吗 青年节刚刚满28,含28岁算不算 1983年4月生日今年五四青年节有半天假期木?超过28周岁了吗? 28岁算不算青年。 青年节说的14到28岁放假的事中,年龄超过28但不到29的人怎么算?有明文规定没有? 国外的手机号能绑定QQ号吗? 5月4号青年节是不是不到28岁的都放假半天 28岁以上过青年节吗 青年节放假规定的28周岁,从什么出生日期开始算可以放假! 在国外要呆两年 国内的号码马上要注销 想问一下国外的手机号可以绑定QQ不? 五四青年节14到28周岁的青年放假半天,那么29到三十五周岁到底算青年还是... 现在战争剧很受欢迎,除了《长津湖》你还喜欢哪些战争剧? 5173上装备怎么卖出 网络游戏的装备怎么卖? 装备可以卖吗? 梦幻西游里如何把装备卖给收环人 ,是直接交易吗? 跟踪Java执行的方法有哪些 华为手机系统的GPS有节能机制,在手机没有抖动的情况下GPS跟踪不是连续跟踪? 专接本计算机应用技术免考是利是弊? 专接本,系统管理计算机没考过,但计算机二级过了可以申请免考吗 word2007中如何批量修改图片的尺寸,要求单位是厘米,而不是像素 如果想专接本,直接考计算机二级证!不考NIT行不行? 计算机NIT比计算机1级高,比2级低对吗?如果NIT过关后,专接本是否就不用考计算机2级了?(我计划上专接本 选题研究的主要内容及写作提纲是什么? 会计专业考过计算机二级的专接本考试还用考计算机吗 我是学计算机如果不打算参加专接本考试,那还有必要参加NIT考试吗? 正则表达式,如何判断文件名后缀是否为csv、xls、xlsx? 水在多少度变成水蒸气? 水在多少度会变成水蒸气? 超过多少度水会变成水蒸气 水在100摄氏度时会变成水蒸气吗 水一般在多少度就开始有明显的水蒸气了? word中如何设置表格文字分散对齐?ppt中如何设置文本框水平方式居中对齐?如何在文本框中设置段前段后? 水在多少度的时候会蒸发,变成水蒸汽. 水变成水蒸汽只可以在100度 如何通过a/d转换器实现多通道数据采集