CN103713996B - 使用下游相关进行调试跟踪流盖时间戳 - Google Patents
使用下游相关进行调试跟踪流盖时间戳 Download PDFInfo
- Publication number
- CN103713996B CN103713996B CN201310464316.1A CN201310464316A CN103713996B CN 103713996 B CN103713996 B CN 103713996B CN 201310464316 A CN201310464316 A CN 201310464316A CN 103713996 B CN103713996 B CN 103713996B
- Authority
- CN
- China
- Prior art keywords
- data stream
- tracking
- event data
- synchronous point
- timestamp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3632—Software debugging of specific synchronisation aspects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Debugging And Monitoring (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明提供一种使多个交错跟踪数据流的时序相关的方法。时间戳跟踪流逻辑监视事件跟踪流以查找同步点。当检测到同步点时,将时间戳值连同在所述所检测到的同步点中可用的任何相关识别标记一起***到所述跟踪流中。
Description
技术领域
本发明的技术领域是调试跟踪产生。
背景技术
嵌入式解决方案的调试一直为困难任务。随着处理器变得更快且更复杂,用当前调试技术进行调试和开发变得更困难。为了解决这些复杂问题,需要对程序操作的较大可见性。希望较大可见性的三个区域为程序计数器跟踪、循环准确分析,以及载入及存储数据记录。对此数据的存取可通过专用调试端口来得到。然而,这些问题中的每一者要求极大量的信息。仅供应大量高频引脚以检视所有此数据既不实际也不具成本效率,且需要解码方案以进一步压缩所有此数据。已使用编码,所述编码对程序计数器(PC)跟踪、所有指令的循环准确时序以及载入及存储数据记录进行编码。可跨越调试端口上的相同引脚传输所有此数据。
调试端口为用于将软件或硬件产生的跟踪信息导出到外部记录器的工具。跟踪端口利用解决要求的传输格式,而不会显著地折衷用于任何给定实施方案的格式效率。传输格式基元被视为跟踪导出指令集。所有处理器使用此指令集来描述装置内的***活动。每一处理器可以使用指令集和控管其使用的规则集的任何方式来描述***活动。
重要的是,应注意:外部传输速率/引脚通过部署的接收器技术来固定。这些速率将随着时间保持相对恒定。此情形暗示:随着CPU时钟速率增加,使格式优化以得到***活动的最压缩的表示将存在日益增加的压力。此情形将使得仅维持现状为必要的。幸运的是,所使用的传输格式提供了表示***活动的有效方式。然而,此效率以较大芯片上硬件支出为代价,以便得到压缩效率。此情形给予处理器改进其导出带宽在由于CPU时钟速率增加而受压时的效率的能力。较快CPU时钟速率和较密集制造过程的稳定进步将迫使利用所有压缩机会和最好的可用物理传输技术。
传输格式经设计以为设计者提供进行以下操作的能力:
使带宽利用优化(以最小的位/秒发送最多真实信息)
挑选***活动的效率较低但更具成本效率的表示
混合上述两种方法(即,使PC跟踪传输效率优化,同时实施效率较低的存储器存取导出)。
此情形给予不同处理器以最适合于其架构的形式表示其***活动的能力。
必须做出权衡,这是因为存在众多成本/能力/带宽配置要求。可做出调整以使格式随着时间优化及改进。
传输格式在所有处理器上保持恒定,同时可变更物理传输层的性质。这些变更可采取三种形式:
传输类型(差异序列或常规单端式I/O)
被分配用于传输的引脚的数目
数据传输的频率
此情形意味着表示***活动的格式可且被视为待通过实际物理机制传输的数据。应在与物理传输层无关的情况下实施调试端口的收集和格式化区段。此情形允许将物理层优化成可用引脚和传输带宽类型,而不改变基础物理实施方案。接收器组件被设计为既物理层独立,又格式独立。
此情形允许整个传输部分随时间演进。
10-位编码用以表示PC跟踪、数据记录和时序信息。跟踪格式宽度已与传输引脚的数目脱离。此格式可供任何数目个传输引脚使用。跨越相同引脚传输PC跟踪、存储器参考信息以及时序信息。
包可含有操作码或数据,或操作码和数据两者。代码包括有指示经发送的信息的类型的操作码。操作码的长度可为2位到10位。代码包的剩余部分将保持与所述操作码相关联的数据。
在许多情况下,需要使额外数据与操作码相关联。在被称作数据包的后续包中对此数据进行编码。数据包括有应与先前操作码相关联的信息。
以代码包开始且包含紧跟代码包的所有数据包的一序列包被称作命令。命令可具有零个或零个以上参数。每一参数为命令中与操作码相关联的独立数据片段。预期的参数的数目取决于操作码。命令的第一参数使用在代码包之后的数据包进行简单地编码。后续参数的第一数据包用10操作码来标记。
对命令的解释取决于两个因素:命令的操作码,以及命令中所包含的参数的数目。换句话说,如果代码包紧跟另一代码包,那么所述代码包具有一个意义,但如果在所述代码包之后继续有数据包,那么同一包可呈现完全不同的意义。跟踪操作码展示于表1中。
表1
PC同步点命令用以指示若干程序事件。其用以标记周期性产生的PC和时序同步点、跟踪段的开始、跟踪段的结束、调试异常中止、重置触发器和其它事件。此命令中的参数传送PC同步点的原因。
PC同步点、时序同步点和数据同步点命令一起用以使PC跟踪数据与时序信息对准。当产生PC同步点时,其起始存储器参考同步点。仅在接通时序时才产生时序同步点。当接通时序时,时序同步点和PC同步点对用作用于解释跟踪数据的开始点。当断开时序时,PC同步点足够用于解释跟踪数据。当断开PC跟踪时,数据同步点足以解释跟踪。
在跟踪流中***周期性同步点给予用户开始解释跟踪数据的多个点。其也允许在跟踪接收器中的缓冲区溢出且放弃跟踪开始命令或较早同步点时解释数据。
发明内容
通常,通过跟踪源实施的跟踪协议将包含至少一个事件流、本地时序流,以及周期性地使两者相关的手段。
当SoC添加多个跟踪源时,变得需要使多个跟踪源交错且需要使跨越多个跟踪源产生的信息相关。
对此问题的解决方案是建立下游相关操作模式。在此模式中,时间戳跟踪流(TTS)逻辑监视用于同步点的单个跟踪源的流。当观察到同步点时,所述TTS逻辑将所存在的时间戳值连同可在所述所观察到的同步点中得到的任何相关识别标记一起***到其自己的跟踪流中。
附图说明
在图式中说明本发明的这些和其它方面,其中:
图1展示ct_cpdtf跟踪数据格式化程序的框图;
图2展示ct_cpdtf的俘获块;
图3展示ct_cpdtf的仲裁块;
图4展示DSPTX流的数据格式;
图5展示EEP接口的信号描述;
图6展示调试时间戳的信号描述;
图7展示时序同步包的数据格式。
具体实施方式
本发明的一个实施例是在得克萨斯仪器cTools CorePac DSP跟踪格式化程序(ct_cpdtf)中。ct_cpdtf模块的架构展示于图1中,且其由配置接口101、俘获块102组成,俘获块102能够缓冲多个DSP跟踪导出(DSPTX)源,且管理调试时间戳(DBGTS)。仲裁块103调度DSPTX和DBGTS数据到格式化程序块104的转发,格式化程序块104将所俘获的DSPTX和DBGTS数据编码成符合先进微控制器总线架构(AMBA)数据流。
图2展示俘获块的更详细图。此块支持多个独立DSPTX源201,其中FIFO缓冲区205用于每一源。交叉触发接口(CTI)输出202指示已俘获触发器跟踪包。
图4展示DSPTX源的数据格式。
外部事件分析接口(EEP)103上的数据的格式展示于图5中。
调试时间戳104的格式展示于图6中。
图3展示仲裁块,其中301为来自俘获级的输入,调度程序302实施具有固定优先级的简单轮询机制调度算法。多路复用器303和304选择两个同时64位数据流且将其转发到格式化程序以用于建立最终的经格式化数据流。
在本发明的典型实施例中,跟踪流将包含至少一个事件流、本地时序流,以及用于周期性地使两个流相关的方式。当实施多个跟踪源且使多个跟踪源交错时,需要使时序在来自多个源的流之间相关。
为了实施此相关,时间戳跟踪流(TTS)逻辑通过寻找数据样式00_0001_0xxx(其中xxx为定义流源的3位ID)监视用于同步点的每一流。当找到同步点(synchronizationpoint 或synchpoint)数据包时,TTS逻辑将所存在的时间戳值连同可存在于所述同步点中的任何其它相关信息一起***到其自己的跟踪流中。同步点数据包的格式展示于图7中。
Claims (8)
1.一种跟踪时序相关的方法,其用于跟踪事件数据流,所述
跟踪事件数据流包括具有相应源识别信息的周期性同步点,所述周期性同步点给予开始解释所述跟踪事件数据流中跟踪数据的点,所述方法的特征在于以下步骤:
接收本地时序数据流;
监视所接收的跟踪事件数据流以查找同步点的存在;以及
一在所述跟踪事件数据流中检测到同步点,就将时间戳值***到所述本地时序数据流中;以及
一将所述时间戳值***到所述本地时序数据流中,就将存在于所述同步点中的所述源识别信息***到所述本地时序数据流中。
2.根据权利要求1所述的方法,其中:
所述监视所接收的跟踪事件数据流的步骤通过定位数据样式00_0001_0xxx来检测所述同步点,其中xxx对应于所述跟踪事件数据流的源识别。
3.根据权利要求1所述的方法,其中:
所述接收跟踪事件数据流的步骤从多个源接收多个跟踪事件数据流。
4.根据权利要求3所述的方法,其中:
所述监视步骤,所述时间戳值***步骤以及所述源识别信息***步骤在所述多个跟踪事件数据流中的每一所接收者上独立地操作。
5.一种跟踪时序相关的装置,所述装置具有
跟踪捕捉单元,其包括至少一个先进先出缓存器,所述缓存器接收相应跟踪事件数据流和相应本地时序数据流,所述跟踪事件数据流包括具有相应源识别信息的周期性同步点,所述周期性同步点给予开始解释所述跟踪事件数据流中跟踪数据的点,所述装置的特征在于所述装置包括:
时间戳跟踪流逻辑,所述时间戳跟踪流逻辑可操作的以
监视每一个所接收的跟踪事件数据流以查找同步点的存在;
一检测到同步点,就将时间戳值***到所述相应本地时序数据流中;以及一将所述时间戳值***到所述相应本地时序数据流中,就将存在于所述同步点中的所述相应源识别信息***到所述相应本地时序数据流中。
6.根据权利要求5所述的跟踪时序相关的装置,其中:
所述时间戳跟踪流逻辑进一步可操作的以监视所接收的跟踪事件数据流以通过定位数据样式00_0001_0xxx来检测所述同步点,其中xxx对应于所述跟踪事件数据流的源识别。
7.根据权利要求5所述的跟踪时序相关的装置,其中:
所述时间戳跟踪流逻辑进一步可操作的以监视所述跟踪捕捉单元中的至少一个先进先出缓存器,所述跟踪捕捉单元具有多个先进先出缓存器,所述多个先进先出缓存器中的每一者从多个源接收多个跟踪事件数据流中相应一者中的相应跟踪事件数据流。
8.根据权利要求7所述的跟踪时序相关的装置,其中:
所述时间戳跟踪流逻辑进一步可操作的以在所述多个跟踪事件数据流中的每一所接收者上独立地监视每一所接收的跟踪事件数据流并***时间戳值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/633,752 | 2012-10-02 | ||
US13/633,752 US9026861B2 (en) | 2012-10-02 | 2012-10-02 | Debug trace stream timestamping using downstream correlation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103713996A CN103713996A (zh) | 2014-04-09 |
CN103713996B true CN103713996B (zh) | 2018-08-07 |
Family
ID=50386450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310464316.1A Active CN103713996B (zh) | 2012-10-02 | 2013-10-08 | 使用下游相关进行调试跟踪流盖时间戳 |
Country Status (2)
Country | Link |
---|---|
US (2) | US9026861B2 (zh) |
CN (1) | CN103713996B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8954809B2 (en) * | 2012-07-25 | 2015-02-10 | Texas Instruments Incorporated | Method for generating descriptive trace gaps |
US8954546B2 (en) * | 2013-01-25 | 2015-02-10 | Concurix Corporation | Tracing with a workload distributor |
US9417988B2 (en) * | 2013-02-26 | 2016-08-16 | Red Hat, Inc. | Tracking subclasses of and operations performed by generic objects in a computer system |
US9647691B2 (en) * | 2014-10-08 | 2017-05-09 | Nxp Usa, Inc. | Apparatus and method for processing trace data streams |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2313839A1 (en) * | 1999-07-27 | 2001-01-27 | Lucent Technologies Inc. | Method of monitoring runtime usage of demo evaluation software |
CN100478914C (zh) * | 2007-05-28 | 2009-04-15 | 中兴通讯股份有限公司 | 一种交叉集成开发环境中的符号调试方法及*** |
US7870437B2 (en) * | 2007-11-14 | 2011-01-11 | Arm Limited | Trace data timestamping |
US20100083237A1 (en) * | 2008-09-26 | 2010-04-01 | Arm Limited | Reducing trace overheads by modifying trace operations |
US8615739B2 (en) * | 2009-04-23 | 2013-12-24 | Hewlett-Packard Development Company, L.P. | Resource monitoring |
US8935574B2 (en) * | 2011-12-16 | 2015-01-13 | Advanced Micro Devices, Inc. | Correlating traces in a computing system |
-
2012
- 2012-10-02 US US13/633,752 patent/US9026861B2/en active Active
-
2013
- 2013-10-08 CN CN201310464316.1A patent/CN103713996B/zh active Active
-
2015
- 2015-04-02 US US14/677,450 patent/US9244806B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20140095940A1 (en) | 2014-04-03 |
US9244806B2 (en) | 2016-01-26 |
CN103713996A (zh) | 2014-04-09 |
US9026861B2 (en) | 2015-05-05 |
US20150212921A1 (en) | 2015-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI475376B (zh) | 在一多重核心處理器架構內的監視執行緒執行過程的方法以及執行緒層級偵錯控制器 | |
US9798645B2 (en) | Embedding stall and event trace profiling data in the timing stream | |
CN103713996B (zh) | 使用下游相关进行调试跟踪流盖时间戳 | |
US7069176B2 (en) | Trace source correlation in a data processing apparatus | |
CN104615477B (zh) | 分析fpga的方法和*** | |
TWI416316B (zh) | 用於產生資料處理設備之追蹤串流的技術 | |
US7237151B2 (en) | Apparatus and method for trace stream identification of a processor reset | |
US20050138484A1 (en) | Apparatus and method for time ordering events in a system having multiple time domains | |
WO2008018035A2 (en) | Methods and products for determining and visualizin ic behaviour | |
US7325169B2 (en) | Apparatus and method for trace stream identification of multiple target processor events | |
CN109687927A (zh) | 一种确定时间戳的方法、通信设备和通信*** | |
CN113163009A (zh) | 数据传送方法、装置、电子设备及存储介质 | |
CN103778039B (zh) | 用于追踪定时相关的方法 | |
US8942300B1 (en) | Integrated digitizer system with streaming interface | |
US10534743B2 (en) | Method and apparatus for providing performance data over a debug bus | |
CN111737155B (zh) | 一种芯片调试***、方法、装置、设备及存储介质 | |
US7519497B2 (en) | Apparatus and method for state selectable trace stream generation | |
US20070294590A1 (en) | Compression scheme to reduce the bandwidth requirements for continuous trace stream encoding of system performance | |
US20040133824A1 (en) | Apparatus and method for identification of a new secondary code start point following a return from a secondary code execution | |
CN115086756B (zh) | 视频处理方法、装置及存储介质 | |
CN101877874B (zh) | 性能数据的发送及输出方法、***和设备 | |
CN111506467B (zh) | 信号处理方法、电子设备和计算机可读存储介质 | |
US20040117701A1 (en) | Apparatus and method for identification of a primary code start sync point following a return to primary code execution | |
US7428666B2 (en) | Apparatus and method for trace stream identification of a pipeline flattener secondary code flush following a return to primary code execution | |
Morgan et al. | PCM Backfill: Providing PCM to the Control Room Without Dropouts |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |