CN103778039B - 用于追踪定时相关的方法 - Google Patents
用于追踪定时相关的方法 Download PDFInfo
- Publication number
- CN103778039B CN103778039B CN201310495287.5A CN201310495287A CN103778039B CN 103778039 B CN103778039 B CN 103778039B CN 201310495287 A CN201310495287 A CN 201310495287A CN 103778039 B CN103778039 B CN 103778039B
- Authority
- CN
- China
- Prior art keywords
- data source
- stream
- eep
- local
- tracking data
- 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/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)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种使多个交错的追踪数据流的定时相关的方法。时间戳追踪流逻辑针对同步请求监视事件追踪流。当检测到同步请求、CTI触发或两者时,使EEP ID增大,且将时间戳值连同EEP ID和所检测到的同步请求中可获得的任何相关识别标记一起***到追踪流中。
Description
技术领域
本发明的技术领域为调试追踪产生。
背景技术
嵌入式解决方案的调试一直是个难题。随着处理器变得更快且更复杂,用当前的调试技术进行调试和开发也变得更困难。为了解决这些复杂的问题,需要程序操作更透明。需要更多透明度的三个方面是程序计数器追踪、周期精确分析,以及负载和存储数据记录。可以通过专用调试端口来存取此类数据。然而,这些问题中的每一者都需要大量的信息。简单地供应大量高频接脚以查看所有此类数据既不实际也不具有成本效益,并且需要编码方案来进一步压缩所有此类数据。已经使用一种编码技术对程序计数器(PC)追踪、所有指令的周期精确定时以及负载和存储数据记录进行编码。所有此类数据可以跨越调试端口上的相同接脚进行传输。
调试端口是用于将软件或硬件产生的追踪信息输出到外部记录器的工具。追踪端口利用对于任何给定实施方案能解决需求但不会显著损害到格式效率的传输格式。传输格式原语被视为追踪输出指令集。所有处理器使用这个指令集来描述装置内的***活动。每一处理器可以使用指令集以及管理其使用的规则集以任何方式来描述***活动。
重要的是要注意到,外部传输速率/接脚是由所部署的接收器技术确定。这些速率将随时间过去而维持相对恒定。这暗示着随着CPU时钟速率增加,优化格式以获得***活动的压缩程度最大的表示的压力也增加。需要做的只是维持现状。幸运的是,所用的传输格式提供了有效的构件来表示***活动。然而,此效率的代价是为了获得压缩效率在芯片上硬件上的花费较大。这向处理器给予了改善其输出带宽的效率的能力,因为其输出带宽受到CPU时钟速率增加的压制。稳步前进到较快的CPU时钟速率以及较密集的制造工艺将需要利用所有的压缩机会以及最好的可用物理传输技术。
传输格式经设计以向设计人员提供以下能力:
优化带宽利用(以每秒最少的位发送最真实的信息)
选择效率较低但更具成本效益的***活动表示
上述两种方法的组合(即,优化PC追踪传输效率的同时实施效率较低的存储器存取输出)。
这向不同的处理器给予了以最适合于其架构的形式表示其***活动的能力。
必须要进行取舍,因为存在众多的成本/能力/带宽配置要求。可以进行调整以随着时间过去优化并改进格式。
传输格式在所有处理器上都保持恒定,同时可以更改物理传输层的性质。这些更改可以采取三种形式:
传输类型(差动串行或常规单端I/0)
分配给传输的接脚的数目
数据传输的频率
这意味着表示***活动的格式可以且被视为通过实际物理机构传输的数据。调试端口的收集和格式化部分的实施将不考虑物理传输层。这样允许针对可用接脚和传输带宽类型来优化物理层,而不用改变基本的物理实施方案。接收器组件被设计成与物理层和格式无关的。这样允许整个传输部分随时间演进。
使用10位编码来表示PC追踪、数据记录以及定时信息。追踪格式宽度已经与传输接脚的数目去耦。此格式可与任何数目的传输接脚一起使用。PC追踪、存储器参考信息以及定时信息跨越相同的接脚来传输。
包可含有操作码或数据,或者其两者。代码包含有指示正发送的信息的类型的操作码。操作码可为2位或10位长。代码包的其余部分将保存与所述操作码相关联的数据。
在许多情况下,额外的数据需要与操作码相关联。此数据被编码在被称作数据包的后续包中。数据包含有应该与前一个操作码相关联的信息。
以代码包开始且包含紧跟在所述代码包之后的所有数据包的包序列被称作命令。命令可具有零个或多个参数。每一参数是与所述命令中的操作码相关联的一条独立数据。预期的参数数目取决于操作码。命令的第一参数只是使用代码包之后的数据包来编码。后续参数的第一数据包用10个操作码来标记。
命令的解译取决于两个因素,命令的操作码以及命令中包含的参数的数目。换句话说,如果代码包之后紧跟着另一代码包,那么所述代码包具有一个意思,但是如果它后面跟的是数据包,那么同一个包可能具有完全不同的意思。追踪操作码展示于表1中。
操作码 | 命令含义 |
00000 0000 | 无信息/缓冲器结尾 |
000000 0001 | 开始重复单次 |
000000 0010 | PC追踪间隙 |
000000 0011 | 寄存器重复 |
000000 0100 | NOP SP循环 |
000000 0101 | SPLOOP标记 |
000000 0110 | 定时追踪间隙 |
000000 0111 | 命令逃避 |
000000 1000 | 异常发生 |
000000 1001 | 异常发生与重复单次 |
000000 1010 | 块重复0 |
000000 1011 | 块重复0与重复单次 |
000000 1100 | 块重复1 |
000000 1101 | 块重复1与重复单次 |
000000 1110 | 存储器参考追踪间隙 |
000000 1111 | 周期数据同步点 |
000001 0xxx | 定时同步点 |
000001 1xxx | 存储器参考同步点 |
000010 xxxx | PC同步点/第一/最后/ |
000011 000x | PC事件冲突 |
000011 001x | 预留 |
000011 01xx | 预留 |
000011 1xxx | 预留 |
00010x xxxx | 扩展定时数据 |
00011x xxxx | CPU和ASIC数据 |
0010xx xxxx | 预留 |
001100 0000 | 存储器参考追踪间隙(旧版操作码) |
001100 0001 | 周期数据同步点(旧版操作码) |
0011xx xxxx | 存储器参考块 |
01xxxx xxxx | 相对转向命令/寄存器转向地址 |
10xxxx xxxx | 继续 |
11xxxx xxxx | 定时 |
表1
PC同步点命令用以指示若干程序事件。它用来标记周期性产生的PC和定时同步点、追踪段的开始、追踪段的结束、调试暂停、重置触发器,以及其它事件。此命令中的参数传达了PC同步点存在的原因。
PC同步点、定时同步点以及数据同步点命令一起用来使PC追踪数据与定时信息一致。在产生PC同步点时,它们起始了存储器参考同步点。定时同步点只有在定时被开启时才会产生。当定时开启时,定时同步点和PC同步点对充当追踪数据解译的开始点。当定时关闭时,PC同步点足以用以解译追踪数据。当PC追踪关闭时,数据同步点足以用以解译追踪。
在追踪流中***周期性同步点向用户给出了多个点,在所述点处开始追踪数据的解译。它还允许在追踪接收器中的缓冲器溢出且追踪开始命令或先前的同步点被丢弃时进行数据解译。
发明内容
通常,由追踪源实施的追踪协议将包含至少一个事件流、本地定时流,以及周期性地使所述两者相关的构件。
当SoC添加了多个追踪源时,便需要将所述多个追踪源交错且需要使所述多个追踪源上产生的信息相关。
这个问题的解决方案是创建上游相关操作模式。在这个模式中,在追踪源的下游创建时间戳追踪流(TTS)。当认为适于(周期性地,或者同步/异步请求)创建“相关点”时,TTS支持逻辑便会将n位时间戳以及m位增量ID(其中m<<n)***其追踪流中。同时,TTS支持逻辑会向上游追踪源发送请求以标记其本地时间且在其追踪流中标出ID值。
附图说明
本发明的这些和其它方面在图式中进行说明,其中:
图1展示了ct_cpdtf追踪数据格式化器的框图;
图2展示了ct_cpdtf的捕获块;
图3展示了ct_cpdtf的仲裁块;
图4展示了DSPTX流的数据格式;
图5展示了EEP接口的信号描述;
图6展示了调试时间戳的信号描述。
具体实施方式
本发明的一个实施例是德州仪器cTools CorePac DSP追踪格式化器(ct_cpdtf)。ct_cpdtf模块的架构展示于图1中,并且由配置接口101、能够缓冲多个DSP追踪输出(DSPTX)源的捕获块102组成且管理调试时间戳(DBGTS)。仲裁块103调度DSPTX和DBGTS数据到格式化器块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)。当认为适于(周期性地,或者同步或异步请求)创建“相关点”时,TTS支持逻辑便会将n位时间戳以及m位增量ID(EEP时间戳ID,其中m<<n)***其追踪流中。同时,TTS支持逻辑会向上游追踪源发送请求以标记其本地时间且在其追踪流中***所述时间和所述m位ID值。
所得TTS追踪流因此包含足够的信息以使***其中的时间戳与在追踪源流中标出的点相关联,从而允许跨多个追踪源相关。
‘n’的大小(时间戳的大小)主要取决于***要求,但是通常大于32位但不大于64位。
‘m’的大小(ID的大小)主要取决于“相关点”的预期频率以及追踪源流中的同步点之间的时间。在典型实施方案中,此值将为2或3位。
Claims (8)
1.一种用于追踪定时相关的方法,其包括以下步骤:
接收来自本地追踪数据源的追踪数据源流,其包括追踪事件数据流和本地定时数据流;
创建相关点;
在创建所述相关点时,使外部事件分析EEP时间戳ID增大;
在创建所述相关点时,将增大的EEP时间戳ID传送到所述本地追踪数据源;
在接收所述增大的EEP时间戳ID时,在所述本地追踪数据源中***本地定时信号和所述增大的EEP时间戳ID;及
通过追踪端口将对应于包含追踪事件流的所述追踪数据源流和包含所述增大的EEP时间戳ID的所述本地定时数据流的数据传输至外部记录器。
2.根据权利要求1所述的方法,其中:
所述创建相关点的步骤响应于异步交叉触发接口CTI触发请求而操作。
3.根据权利要求1所述的方法,其中:
所述创建相关点的步骤响应于同步交叉触发接口CTI触发请求而操作。
4.根据权利要求1所述的方法,其中:
所述创建相关点的步骤响应于来自配置寄存器的同步请求而操作。
5.根据权利要求1所述的方法,其中:
所述创建相关点的步骤响应于来自时间戳追踪流TTS支持逻辑的同步请求而操作。
6.根据权利要求1所述的方法,其中:
所述创建相关点的步骤响应于来自所述时间戳追踪流TTS支持逻辑的周期性请求而操作。
7.根据权利要求1所述的方法,其中:
所述接收来自本地追踪数据源的所述追踪数据源流的步骤接收多个追踪数据源流,每一追踪数据源流来自于相应本地追踪数据源,每一追踪数据源流包括追踪事件数据流和本地定时数据流。
8.根据权利要求7所述的方法,其中:
所述将所述增大的EEP时间戳ID传送到所述本地追踪数据源的步骤以及在所述本地追踪数据源中***本地定时信号和所述增大的EEP时间戳ID的步骤分别操作于每一本地追踪数据源;及
所述传输对应于包含追踪事件流的所述追踪数据源流和包含所述增大的EEP时间戳ID的所述本地定时数据流的数据的步骤对应于所述多个追踪数据源流中的每一个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/656,187 US8938649B2 (en) | 2012-10-19 | 2012-10-19 | Debug trace stream timestamping using upstream correlation |
US13/656,187 | 2012-10-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103778039A CN103778039A (zh) | 2014-05-07 |
CN103778039B true CN103778039B (zh) | 2017-09-01 |
Family
ID=50486488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310495287.5A Active CN103778039B (zh) | 2012-10-19 | 2013-10-21 | 用于追踪定时相关的方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8938649B2 (zh) |
CN (1) | CN103778039B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9647691B2 (en) * | 2014-10-08 | 2017-05-09 | Nxp Usa, Inc. | Apparatus and method for processing trace data streams |
DE102015121940A1 (de) * | 2015-12-16 | 2017-06-22 | Intel IP Corporation | Eine Schaltung und ein Verfahren zum Anhängen eines Zeitstempels an eine Tracenachricht |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6009270A (en) * | 1997-04-08 | 1999-12-28 | Advanced Micro Devices, Inc. | Trace synchronization in a processor |
CN101529393A (zh) * | 2006-11-15 | 2009-09-09 | 高通股份有限公司 | 用于增强的数字信号处理器调试操作的嵌入式追踪宏单元 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0831110B2 (ja) * | 1990-06-11 | 1996-03-27 | 三菱電機株式会社 | 論理シミュレーションシステム |
US7219333B2 (en) * | 2002-11-22 | 2007-05-15 | Texas Instruments Incorporated | Maintaining coherent synchronization between data streams on detection of overflow |
-
2012
- 2012-10-19 US US13/656,187 patent/US8938649B2/en active Active
-
2013
- 2013-10-21 CN CN201310495287.5A patent/CN103778039B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6009270A (en) * | 1997-04-08 | 1999-12-28 | Advanced Micro Devices, Inc. | Trace synchronization in a processor |
CN101529393A (zh) * | 2006-11-15 | 2009-09-09 | 高通股份有限公司 | 用于增强的数字信号处理器调试操作的嵌入式追踪宏单元 |
Also Published As
Publication number | Publication date |
---|---|
US8938649B2 (en) | 2015-01-20 |
CN103778039A (zh) | 2014-05-07 |
US20140115397A1 (en) | 2014-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11558136B2 (en) | High speed embedded protocol for distributed control system | |
CN104380632B (zh) | 用于精确加时间戳的方法和装置 | |
CN102123060B (zh) | 一种基于fpga的误码测试方法 | |
US10176281B2 (en) | Generating clock signals for a cycle accurate, cycle reproducible FPGA based hardware accelerator | |
US7020722B2 (en) | Synchronization of distributed simulation nodes by keeping timestep schedulers in lockstep | |
CN110520815A (zh) | 加精确时间戳的方法和*** | |
CN101103277A (zh) | 自动测试设备中具有用于同步的接口的仪器 | |
CN101103278A (zh) | 具有同步仪器的自动测试*** | |
CN107508719A (zh) | 测量网络时延的方法、装置及网络节点 | |
US20070129925A1 (en) | Logic circuit model conversion apparatus and method thereof; and logic circuit model conversion program | |
CN106464559A (zh) | 用于分布式控制***的高速嵌入式协议 | |
CN103778039B (zh) | 用于追踪定时相关的方法 | |
US9244806B2 (en) | Debug trace stream timestamping using downstream correlation | |
CN109687927A (zh) | 一种确定时间戳的方法、通信设备和通信*** | |
CN101068195B (zh) | 源同步选通脉冲接收器的锁定方法与装置 | |
CN101719858B (zh) | Can控制器的位时序的同步处理方法 | |
CN107800529A (zh) | 一种网络节点的时钟频率同步方法 | |
CN107636627A (zh) | 时刻同步装置、时刻同步***及时刻同步方法 | |
CN109117295A (zh) | 一种交易超时监控方法及装置 | |
CN102290051B (zh) | 预测重新采样器调度器算法 | |
Juanole et al. | Critical time distributed systems: qualitative and quantitative analysis based on Stochastic Timed Petri Nets | |
CN111901070B (zh) | 一种数据传输方法 | |
EP2761795B1 (en) | Method for diagnosis of failures in a network | |
Gastin et al. | Reachability and boundedness in time-constrained MSC graphs | |
US20130166269A1 (en) | Simulation apparatus, simulation method, and recording medium |
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 |