0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PTM和ETM的关系是什么

麦辣鸡腿堡 来源:TrustZone 作者:TrustZone 2023-10-30 14:49 次阅读

PTM和ETM的关系

PTM和ETM都是嵌入式跟踪宏单元(ETM)架构规范中的一部分,它们之间的关系是互补的。ETM是一个通用的跟踪宏单元,它可以用于跟踪不同的信息,例如指令跟踪和数据跟踪。而PTM是ETM的一个特定实现,专门用于进行程序流程跟踪(PFT)。

PTM和ETM都提供了实时的跟踪信息,这些信息可以用于调试、性能分析和程序验证等。PTM主要记录的是程序的指令序列和相关的程序流程信息,例如分支指令、异常事件等。而ETM则可以记录更广泛的信息,例如指令地址、数据地址和数据值等。

在实际应用中,ETM和PTM通常会一起使用。例如,在调试程序时,可以使用ETM来跟踪程序的指令和数据流动情况,而使用PTM来跟踪程序的流程和执行路径。这样可以更全面地了解程序的执行情况,从而帮助开发人员进行调试和优化。

PTM和ETM在ETM架构规范中的关系是什么?

PTM和ETM在ETM架构规范中的关系是互补的。ETM是一个通用的跟踪宏单元,它可以用于跟踪不同的信息,例如指令跟踪和数据跟踪。而PTM是ETM的一个特定实现,专门用于进行程序流程跟踪(PFT)。

PTM基于PFT架构进行实时的指令流跟踪,它会copy一份正在执行的code,只在一些program execution point(叫做waypoint)进行trace。这些点是由PTM内部的一些特定机制决定的,例如当执行到某个特定的指令或者达到某个特定的数据条件时,PTM就会开始记录当前的指令和数据状态。

PTM会记录下这些waypoint之间的指令执行情况,从而帮助开发人员了解程序执行的具体流程和路径。同时,PTM还可以记录下程序执行过程中的一些关键事件,例如异常事件、分支指令等,这些信息对于调试和性能分析都非常重要。

它们就像是一对双胞胎,各自有不同的特点,但是又相互关联。

ETM是一个非常厉害的“记录员”,它可以在程序运行的时候记录下很多信息。而PTM就像是一个专注的“小弟弟”,它告诉ETM只记录哪些关于程序“行走”的信息。

PTM说:“我只关注程序怎么走的,其他的我都不关心。” 所以PTM记录的信息都是关于程序怎么从一个地方走到另一个地方,也就是程序执行时的指令序列。

ETM听从PTM的话,于是它只记录了程序执行时的指令和数据。但是它不只记录了指令序列,还记录了其他一些信息,比如指令是在哪个时间执行的,是在哪个内存地址执行的等等。

所以,PTM和ETM就像是一对合作默契的好搭档。PTM告诉ETM应该关注什么,然后ETM就专注地记录下这些信息。两者相互配合,可以提供更全面、更准确的程序执行情况记录。

这里的waypoint怎么生成?

PTM的waypoint是PTM内部通过一种特定机制来生成的。PTM会根据一些预设的条件或者规则来确定这些waypoint的位置。

一种常见的做法是使用预设的断点作为waypoint。开发人员可以在程序中预设一些断点,当程序执行到这些断点时,PTM就会开始记录当前的指令和数据状态。这些断点可以是固定的位置,也可以是根据某些条件动态生成的。例如,当程序执行到某个特定的指令或者达到某个特定的数据条件时,PTM可以将其作为waypoint并开始记录。

另一种常见的做法是使用动态的计数器作为waypoint。 PTM内部会维护一个计数器,当计数器达到某个预设的值时,PTM就会开始记录当前的指令和数据状态。这种方式的优点是可以根据需要动态地生成waypoint,而不需要在程序中预设断点。

无论采用哪种方式,PTM的waypoint都是根据预设的条件或者规则来生成的,可以灵活地根据需要进行设置。这些waypoint的位置对于PTM来说是非常重要的,因为它们决定了PTM记录哪些指令和数据状态,从而帮助开发人员了解程序执行的具体流程和路径。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19155

    浏览量

    229048
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9040

    浏览量

    366726
  • 嵌入式
    +关注

    关注

    5068

    文章

    19008

    浏览量

    302971
  • ETM
    ETM
    +关注

    关注

    0

    文章

    9

    浏览量

    7597
收藏 人收藏

    评论

    相关推荐

    使用ADSP-21479 timer0时,不管如何修改*pTM0PRD 和*pTM0W的值进入定时器中断的时间永远不变是怎么回事?

    修改*pTM0PRD 和*pTM0W 的值(*pTM0W 小于*pTM0PRD的值),通过示波器测试,进入定时器中断的时间永远不变,都是2us左右。 按照说明书,修改*
    发表于 01-12 06:03

    ARM调试CoreSight、ETMPTM、ITM、HTM、ETB等常用术语解析

    微处理器提供实时指令跟踪和数据跟踪。跟踪软件工具使用 ETM 生成的信息重建全部或部分程序的执行情况。 PTM,程序跟踪宏单元PTM 是一个模块,它根据程序流程跟踪 (PFT) 体系结构执行实时指令流跟踪
    发表于 10-13 09:26

    ARM调试CoreSight、ETMPTM、ITM、HTM、ETB等常用术语解析

    跟踪和数据跟踪。跟踪软件工具使用 ETM 生成的信息重建全部或部分程序的执行情况。 PTM,程序跟踪宏单元PTM 是一个模块,它根据程序流程跟踪 (PFT) 体系结构执行实时指令流跟踪。跟踪工具
    发表于 05-11 13:53

    使用IAR ETM Trace调试功能的要求

    `在某些情况下,应用代码可能突然跑飞或者产生异常中断,此时导致问题的原因可能难以发现。调试这类问题时,可以考虑使用IAR所支持的ETM Trace调试功能,ETM Trace调试功能可以分析ETM
    发表于 03-05 14:49

    CoreSight / ETM / CTI等等它们之间的关系是怎样的

    在看ARMv7/v8 ARM手册的时候,总是不太明白CoreSight / ETM / CTI等等,它们之间的关系。以Cortex-A57 MPCore TRM的Figure 2-1为例:它展示了
    发表于 08-23 14:52

    CoreSight ETM11技术参考手册

    CoreSight ETM11为ARM11系列微处理器提供指令跟踪和数据跟踪。CoreSight ETM11支持所有当前的ARM11内核,并与TrustZone和Thumb-2兼容。您可以在两种
    发表于 08-02 18:39

    CoreSight PTM-A9技术参考手册

    的某些点生成跟踪,称为路点。与ETM协议相比,这减少了PTM生成的跟踪数据量。航路点是程序流或事件中的更改,例如异常。跟踪工具使用路点来跟踪程序执行的流程
    发表于 08-02 14:47

    MAX9406ETM+ MAX9406ETM+ - (Maxim Integrated) - 线性 - 视频处理

    电子发烧友网为你提供()MAX9406ETM+相关产品参数、数据手册,更有MAX9406ETM+的引脚图、接线图、封装手册、中文资料、英文资料,MAX9406ETM+真值表,MAX9406ET
    发表于 11-15 22:10
    MAX9406<b class='flag-5'>ETM</b>+ MAX9406<b class='flag-5'>ETM</b>+ - (Maxim Integrated) - 线性 - 视频处理

    MAX9406ETM+T MAX9406ETM+T - (Maxim Integrated) - 线性 - 视频处理

    电子发烧友网为你提供()MAX9406ETM+T相关产品参数、数据手册,更有MAX9406ETM+T的引脚图、接线图、封装手册、中文资料、英文资料,MAX9406ETM+T真值表,MAX9406
    发表于 11-15 22:13
    MAX9406<b class='flag-5'>ETM</b>+T MAX9406<b class='flag-5'>ETM</b>+T - (Maxim Integrated) - 线性 - 视频处理

    MAX12005ETM+ 射频开关

    电子发烧友网为你提供Maxim(Maxim)MAX12005ETM+相关产品参数、数据手册,更有MAX12005ETM+的引脚图、接线图、封装手册、中文资料、英文资料,MAX12005ETM+真值表,MAX12005
    发表于 02-05 19:02
    MAX12005<b class='flag-5'>ETM</b>+ 射频开关

    MAX12005ETM+T 射频开关

    电子发烧友网为你提供Maxim(Maxim)MAX12005ETM+T相关产品参数、数据手册,更有MAX12005ETM+T的引脚图、接线图、封装手册、中文资料、英文资料,MAX12005ETM+T真值表,MAX12005
    发表于 02-05 19:02
    MAX12005<b class='flag-5'>ETM</b>+T 射频开关

    MAX5961ETM+ PMIC - 热插拔控制器

    电子发烧友网为你提供Maxim(Maxim)MAX5961ETM+相关产品参数、数据手册,更有MAX5961ETM+的引脚图、接线图、封装手册、中文资料、英文资料,MAX5961ETM+真值表,MAX5961
    发表于 02-13 19:16
    MAX5961<b class='flag-5'>ETM</b>+ PMIC - 热插拔控制器

    MAX3634ETM+T - (Maxim Integrated) - 时钟/计时 - 专用

    电子发烧友网为你提供Maxim(Maxim)MAX3634ETM+T相关产品参数、数据手册,更有MAX3634ETM+T的引脚图、接线图、封装手册、中文资料、英文资料,MAX3634ETM+T真值表,MAX3634
    发表于 07-28 18:42
    MAX3634<b class='flag-5'>ETM</b>+T - (Maxim Integrated) - 时钟/计时 - 专用

    PTM程序跟踪宏单元介绍

    PTM,程序跟踪宏单元 PTM 是一个模块,它根据程序流程跟踪 (PFT) 体系结构执行实时指令流跟踪。跟踪工具使用 PTM 生成的信息重建全部或部分程序的执行情况。 PTM 是一种硬
    的头像 发表于 10-30 14:43 679次阅读

    ITM和PTMETM有什么关系

    CoreSight ITM 块是一个软件应用程序驱动的跟踪源。支持的代码将生成软件测量跟踪 (SWIT)。此外,该块还提供粗略的时间戳功能。 ITM块是一个嵌入式跟踪宏单元(ETM)架构规范中
    的头像 发表于 10-30 14:53 1204次阅读