CN103324591B - 用于处理跟踪信息的系统和方法 - Google Patents

用于处理跟踪信息的系统和方法 Download PDF

Info

Publication number
CN103324591B
CN103324591B CN201310091557.6A CN201310091557A CN103324591B CN 103324591 B CN103324591 B CN 103324591B CN 201310091557 A CN201310091557 A CN 201310091557A CN 103324591 B CN103324591 B CN 103324591B
Authority
CN
China
Prior art keywords
information
data sequence
data
tracking information
tracking
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.)
Expired - Fee Related
Application number
CN201310091557.6A
Other languages
English (en)
Other versions
CN103324591A (zh
Inventor
P.埃德
M.利拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Intel Corp
Original Assignee
Intel Mobile Communications GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Mobile Communications GmbH filed Critical Intel Mobile Communications GmbH
Publication of CN103324591A publication Critical patent/CN103324591A/zh
Application granted granted Critical
Publication of CN103324591B publication Critical patent/CN103324591B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program

Abstract

本发明涉及用于处理跟踪信息的系统和方法。一种系统包括具有第一部件和第一单元的集成电路。所述第一部件被配置成产生第一跟踪信息。所述第一单元以硬件来加以实现并且配置成基于所述第一跟踪信息的产生的时间来产生第一时间信息,并且被配置成产生包括所述第一跟踪信息和所述第一时间信息的第一数据序列。

Description

用于处理跟踪信息的系统和方法
技术领域
本发明涉及电子系统。特别地,本发明涉及用于处理跟踪信息的系统和方法。
背景技术
对于电子系统的开发、一致性、互操作性以及现场测试可能需要跟踪信息。必须不断地改进用于处理跟踪信息的系统和方法。特别地,可能需要改进此类系统和方法的质量和效率。
附图说明
当结合附图阅读时,本公开的方面通过示例在实施例的以下具体描述中变得更明显,其中:
图1是依照本公开的系统100的示意框图;
图2是依照本公开的系统200的示意框图;
图3是依照本公开的系统300的示意框图;
图4图示出消息格式400;
图5图示出消息格式500;
图6图示出消息格式600;
图7是依照本公开的系统700的示意框图;
图8是依照本公开的系统800的示意框图;
图9是依照本公开的系统900的示意框图;
图10是接口1000的示意框图;
图11是依照本公开的系统1100的示意框图;
图12a和12b图示出消息格式;
图13是依照本公开的方法1300的示意框图;以及
图14是依照本公开的方法1400的示意框图。
具体实施方式
在以下具体描述中,对形成其一部分的附图进行参考,并且在附图中通过说明的方式示出可以在其中实践本发明的实施例。应当理解的是,在不背离本公开的范围的情况下,可以利用其他实施例并且可以进行结构或逻辑上的改变。以下具体描述因此不在限制性意义上进行,并且本发明的范围由所附权利要求来限定。
应当理解的是,除非以其他方式明确地指出,否则本文所述的各种示例性实施例的特征可以与彼此组合。进一步地,相同的附图标记标明对应的类似部分。
如本说明书中所采用的那样,术语“耦合的”和/或“连接的”不意味着通常意指元件必须被直接地耦合或者连接在一起。可以在“耦合的”或“连接的”元件之间提供中间元件。然而,尽管不限制于该意义,但是术语“耦合的”和/或“连接的”还可以被理解为可选地揭露其中在没有提供在“耦合的”或“连接的”元件之间的中间元件的情况下元件被直接地耦合或者连接在一起的实施方式。进一步地,就术语“包括”、“具有”、“有”或其其他变体被用在具体描述或权利要求中而言,此类术语旨在以与术语“含有”类似的方式为包括的。同样地,术语“示例性的”仅仅意指为示例,而不是最好的或最佳的。
图1图示了依照本公开的系统100的示例性框图。系统100包括具有部件2和单元3的集成电路1。部件2被配置成产生跟踪信息。单元3在一个实施例中以硬件来加以实现并且配置成取决于跟踪信息的产生的时间来产生时间信息。此外,单元3被配置成产生包括跟踪信息和时间信息的数据序列。在下文中提供了类似系统的更详细的示例性框图。
图2图示了依照本公开的系统200的示例性框图。系统200包括具有部件2和单元3的集成电路1。部件2被配置成产生跟踪信息。单元3在一个实施例中以硬件来加以实现并且被配置成基于协议的数据格式来产生格式化数据序列,所述格式化数据序列包括跟踪信息。在下文中提供了类似系统的更详细的示例性框图。
图3图示了依照本公开的系统300的示例性框图。在一个实施例中系统300包括集成电路1,其中电路的边界由线L指示使得布置在线L内的所有部件形成集成电路1的一部分。应当理解的是,术语“集成电路”可以类似于并且可以用术语“集成电路芯片”、“芯片”、“微芯片”等中的一个代替。集成电路1具有任意类型,例如基带集成电路、射频集成电路、汽车芯片、传感器芯片、微处理器等。集成电路1可以通过任意技术来制造,并且可以例如被设计为和/或可以包括逻辑集成电路、模拟集成电路、混合信号集成电路、存储器电路、集成无源器件等。
集成电路1可以包括一个或多个软件部件(未图示)。软件部件中的每一个都可以作为跟踪源(或主控器)来操作,即可以被配置成产生跟踪信息(见箭头“软件跟踪源”)。以类似的方式,集成电路1可以进一步包括一个或多个硬件部件(未图示),其中,硬件部件中的每一个都可以被配置成产生跟踪信息(见箭头“硬件跟踪源”)。由软件或硬件部件中的一个所产生的跟踪信息可以包括关于相应部件的状态的信息,例如关于时钟频率、电流、电压、温度等的信息。此外,跟踪信息可以包括有关由相应部件所执行的处理的信息。
集成电路1可以包括具有一个或多个输入端和输出端的仲裁器4 (或跟踪仲裁器或跟踪主链)。仲裁器4的输入端可以被耦合到软件和硬件部件并且可以被配置成接收这些部件的跟踪信息。仲裁器4的第一输出端和第二输出端可以被分别耦合到第一跟踪模块5a和第二跟踪模块5b。此外,仲裁器4的第三输出端可以被耦合到跟踪单元6。跟踪模块5a和5b中的每一个都可以被耦合到接口,例如PTI (并行跟踪接口),所述PTI提供到外部部件特别是跟踪工具的连接。跟踪单元6可以包括格式化单元6a、缓冲存储器6b以及直接存储器存取(DMA)单元6c。
跟踪单元6可以被耦合到可以被连接到存储器控制器8的总线系统7。集成电路1可以经由存储器控制器8的输出端耦合到外部存储器9,例如环形缓冲器。应当理解的是,存储器9可替换地可以被布置在集成电路1上。存储器9的输出端可以经由存储器控制器8的输入端耦合到集成电路1。存储器控制器8的输出端可以被耦合到总线系统7的输入端,而总线系统7的输出端可以被耦合到一个或多个输出端口(或接口)10。例如,接口10可以对应于或者可以包括旧(legacy)端口。在图3中,指示了各种示例性接口,即UART (通用异步收发器)、SPI (串行外围接口)、MIPI (移动工业处理器接口)、HSI (高速同步接口)、SD(安全数字)卡的接口、USB (通用串行总线)、HSIC (高速芯片间)、USB HS (高速)等。
在系统300的操作期间,仲裁器4从激活的软件和/或激活的硬件部件接收跟踪信息。对于部件的每个接收到的跟踪信息,仲裁器4可以根据跟踪信息的产生的时间来产生时间信息。此外,仲裁器4可以被配置成产生包括所接收到的跟踪信息和时间信息的数据序列。例如,时间信息可以指示当产生数据序列时的时间。时间信息可以是基于集成电路1的系统时间的或者可以对应于时钟的时钟计数,时钟计数在集成电路1 (由此仲裁器4)通电时开始。当然,可能可以通过知道时钟计数来确定系统时间。
图4图示了可以对应于由仲裁器4所产生的数据序列的示例性消息格式400。在下文中,消息格式400还可以被称为“系统跟踪消息”。系统跟踪消息400可以包括可以具有大小为4个字节的数据字段11,即可以对应于D32数据字。数据字段11可以包括时间信息并且后面可以是包括跟踪源特定的消息有效载荷,即跟踪信息的数据字段12。数据字段12可以例如由D8、D16、D32以及D64数据字的任意组合形成,并且可被划分成两个部分12a和12b。第一部分12a可以对应于或者可以包括跟踪信息,而第二部分12b可以对应于或者可以包括时间戳,例如依照MIPI标准的时间戳。该时间戳可以为8比特、16比特、32比特、64比特数据字(其可以被表示为D8TS、D16TS、D32TS、D64TS)中的一个,并且可以被用来指示系统跟踪消息400的结束。
往回参考图3,仲裁器4可以从一个或多个部件接收跟踪信息并且可以依照图4产生数据序列,即系统跟踪消息。特别地,仲裁器4可以产生包括一个或多个系统跟踪系统的复用数据流,所述复用流被输出到第一跟踪模块5a和/或第二跟踪模块5b和/或跟踪单元6。跟踪模块5a和5b中的每一个都可以基于系统跟踪协议例如MIPI STP(系统跟踪协议)来转换所接收到的数据序列,并且可以将格式化数据转发到接口(见PTI1、PTI2)。格式化单元6a可以接收系统跟踪消息并且可以基于协议(或通信协议)的数据格式来产生格式化数据序列。协议可以是支持两个层的基于面向字节的消息的容器协议,所述两个层可以被称为“传输层”和“数据链路层”。协议可以提供将来自不同源的跟踪数据复用和交错成单个数据流的机会。
协议的“传输层”可以是基于图5中所示出的示例性消息格式500的,所述示例性消息格式500可以被称为“系统跟踪协议”(STP)消息。STP消息500可以具有可变大小并且可以封装一个或多个系统跟踪消息。应当理解的是,STP消息500不限于包括完整的系统跟踪消息,而是还可以包括此类消息的一个或多个分片。STP消息500可以包括如图5中所示出的数据字段13至17。应当理解的是,可以例如通过丢弃数据字段13至17中的一个或多个和/或通过添加附加的数据字段来修改STP消息。
数据字段13(见MID)可以具有1个字节的大小并且可以被称为“主控器ID”。数据字段13可以被配置成标识跟踪信息的源,即主控器的身份。跟踪源可以为运行在核上的软件(例如,协议堆栈、3G固件、DSP固件)或硬件(例如,处理器跟踪、DigRF、Rake接收器、信号监控等)。注意,数据字段13特别地可以由仲裁器4产生,但还可以由格式化单元6a产生。
数据字段14(见MSN)可以具有1个字节的大小并且可以被称为“消息序列号”。数据字段14可以是以256为模的消息计数器,所述消息计数器可以针对每个主控器被单独地管理(即独立于使用的通道)并且可以针对具有相同MID的每个新的STP消息被递增。数据字段14可以被用来在STP级别上检测丢失的跟踪消息,并且特别地可以由格式化单元6a来产生。
数据字段15(见CID)可以具有1个字节的大小并且可以被称为“通道ID”。数据字段15可能仅被软件跟踪源使用并且可以标识起源跟踪信息的任务。对于硬件跟踪,数据字段15因此未被使用。数据字段15的存在取决于数据字段13(MID),即仅支持通道交错的跟踪源包括CID字段。注意,数据字段15特别地可以由仲裁器4来产生,但还可以由格式化单元6a来产生。
数据字段16(见DATA)可以具有任意大小并且可以级联的系统跟踪消息的原始数据。在这里,16/32/64比特数据字可以按照小字节序存储,即最小有意义的字节优先。数据字段16的长度可以是可变的并且未显示地指示,因为它由STP消息500的总长度隐式地给出。
数据字段17(见FLG)可以具有1个字节的大小并且可以包括各种标志。特别地,数据字段17可以由格式化单元6a产生。例如,在数据字段17的位置7处的比特可以被称为具有比特值为“0”的“第一分片指示符”,比特值为“0”将STP消息500的内容标识为更高层系统跟踪消息的后续分片。比特值为“1”可以将STP消息500的内容标记为更高层系统跟踪消息的开始,使得这个第一分片可以被用作同步点。
在数据字段17的位置6处的比特可以被称为“最后分片指示符”,其中比特值为“0”指示系统跟踪消息还不完整并且其他分片将接着。比特值为“1”可以标记更高层系统跟踪消息的结束,即它可以指示消息是完整的并且可以例如被解码。从而,灵活的消息分片也许是可能的,因为可以在任何位置处中断由部件(或主控器)所提供的跟踪信息。此外,可能的分片可以避免消息缓冲在集成电路1上。
在数据字段17的位置5处的比特可以被称为“溢出消息指示符”,其中比特值为“0”指示STP消息500是否包含更高层系统跟踪消息的数据。比特值为“1”可以指示STP消息500包括仅可以由硬件主控器所支持的内部溢出消息。因此,可以提供内部数据溢出的信令,例如以用于所产生的数据速率高于由物理跟踪接口所提供的情况。
在数据字段17的位置4处的比特可以被称为“主控器类型”,其中比特值为“0”指示STP消息500起源于软件型主控器,即存在可选的CID字段并且不支持内部溢出消息。比特值为“1”可以指示STP消息500起源于硬件型主控器,即可选的CID字段缺失并且支持内部溢出消息。
在数据字段的位置3、2、1以及0处的比特可以被保留以用于将来使用,由此特别地具有为“0”的比特值。
协议的“数据链路层”可以是基于图6中所示出的示例性消息格式600的,所述示例性消息格式600可以被称为“帧”。消息格式600可以被用于封装STP消息500,并且可以像图6中所指示的那样包括数据字段18至21。应当理解的是,可以例如通过丢弃数据字段18至21中的一个或多个和/或通过添加附加的数据字段来修改消息格式600。
数据字段18(见标志)可以对应于具有大小为例如8个比特的开始标志并且可以被配置成指示帧600的开始。所述8个比特可以对应于预定的比特序列,例如[01111110],即十六进制表示法的0x7E。
数据字段19(见STP消息(字节填充))可以具有任意大小,并且可以包括STP消息以及附加的填充比特或填充字节以便使帧600的大小适应所需要的大小或比特速率。特别地,在数据链路层上的协议开销因此可以取决于帧600的实际内容,但可以对应于每帧至少5个字节。
数据字段20(见FCS(32比特))可以被称为“帧校验序列”并且可以具有例如32个比特的大小。FCS可以包括错误检查号以提供完整性保护,即用以提供跟踪传输错误的可能性。接收帧600的部件可以使用该FCS来检验所接收到的数据分组是否是无错误的或不是。这样,可以在集成电路1内部和外部检测到跟踪数据的传输中的错误。
数据字段21(见标志)可以对应于具有大小为例如8个比特的结尾标志并且可以被配置成指示帧600的结束。所述8个比特可以对应于预定的比特序列,例如[01111110],即十六进制表示法的0x7E。
往回参考图3,格式化单元6a可以依照所描述的协议来对从仲裁器4接收到的数据进行格式化,并且可以将格式化数据输出到存储器缓冲器6b。格式化数据可以经由缓冲存储器6b、DMA单元6c、总线系统7以及存储器控制器8传送到存储器9。注意,由于根据所描述的协议对跟踪信息进行格式化,跟踪数据在存储器9中的存储可以特别地已经变得可能。格式化数据可以从存储器9中读取并且可以经由存储器控制器8和总线系统7传送到输出端口10中的一个或多个。
耦合到接口10的外部部件(未图示)可以访问格式化的跟踪数据并且对校验和(见图6中的数据字段20)进行校验。可以丢弃由于传输错误而已经被毁坏的格式化的跟踪数据。通过知道由协议所提供的信息,外部部件可以重组接收到的格式化数据序列或其分片。此外,可以基于数据字段14(见图5)检测遗漏分片。由于已经由仲裁器4针对来自激活部件的每个跟踪信息所提供的时间信息,对集成电路1的激活部件和它们的操作的全局视图对于给定时间或给定时间间隔来说也许是可能的。
图7图示了依照本公开的系统700的示例性框图。系统700与图3的系统300类似。与图3相结合地进行的注释因此还可以适用于图7。
系统700包括具有可以提供跟踪信息的多个硬件和/或软件部件22的集成电路1。例如,部件22可以是DigRF接口、信号监控软件或硬件、基带主机处理器、电源管理单元(PMU)等中的一个。由部件22所提供的跟踪数据可以由仲裁器4和跟踪单元6来处理。此外,跟踪数据可以被传送到跟踪模块5,所述跟踪模块5可以用图3的跟踪模块5a和5b中的一个或两个来标识。由跟踪模块5输出的数据可以经由外部缓冲存储器24转发到外部跟踪工具25。
由跟踪单元6输出的格式化数据可以被传送到集成电路1中的一个或多个部件,从而使得该数据可以在集成电路1上被直接地评估。例如,该数据可以被传送到处理器23,例如基带处理器,其可以处理和/或分析经格式化数据和/或将格式化数据转发到输出端口10。注意,在接口10处输出的数据还可以被跟踪工具25访问。
图8图示了依照本公开的系统800的示例性框图。系统800与上述系统类似,使得先前的注释还可以适用于系统800的部件。
系统800包括具有配置成产生跟踪信息的部件22a、22b、22c的集成电路芯片1。部件22a、22b、22c中的每一个都可以被耦合到仲裁器4的一个或多个输入端口27,其中,每个输入端口27可以包括缓冲(或FIFO)存储器(未图示)。例如,部件22a可以将跟踪信息提供给仅一个输入端口27,而部件22b可以将跟踪信息提供给两个输入端口27。部件22c可以包括配置成从部件22c的一个以上的部件(未图示)接收跟踪信息的仲裁器29。仲裁器29可以被配置成处理并且将接收到的跟踪信息复用成可以被转发到仲裁器4的输入端口27的单个数据流。
在输入端口27处接收到的跟踪信息可以由仲裁器4以已经在上文中所描述的方式处理。仲裁器4可以包括一个或多个例如三个输出端口28,所述输出端口28可以分别被耦合到第一跟踪模块5a、第二跟踪模块5b以及跟踪单元6。已经与图3相结合地描述了跟踪模块5a、5b和跟踪单元6的操作。跟踪单元6可以被耦合到提供用于外部部件(未图示)访问格式化的跟踪数据的机会的总线系统7。跟踪模块5a、5b中的每一个都可以被耦合到接口26,所述接口26可以将由跟踪模块5a、5b所处理的数据提供给外部部件(未图示),例如给外部跟踪工具。
图9图示了依照本公开的系统900的示例性框图。系统900包括集成电路1并且可以经由DigRF接口30耦合到射频单元32。从而,集成电路1可以特别地对应于或者可以包括基带芯片。集成电路1可以包括已经在上文描述的各种部件4、5、6、10以及23。跟踪模块5可以被耦合到外部跟踪工具25,而输出端口10可以被耦合到个人计算机33。此外,跟踪工具25可以被耦合到个人计算机33从而使得跟踪数据可以在这些部件之间交换。集成电路1可以包括配置成从射频单元32接收跟踪信息并且将这样的信息转发到仲裁器4的DigRF接口30a。注意,仲裁器4与DigRF接口30之间的接口的更详细的图示在图10中被图示。
DigRF接口30可以被配置成在射频单元32与集成电路1的部件31之间交换数据,所述部件31可以例如被配置成执行2G/3G数据处理。例如,所交换的数据可以包括有效载荷数据(即TX数据、RX数据)和/或控制数据和/或用于集成电路1和射频单元32的部件的时间控制(定时)的数据。注意,DigRF数据通过部件31的处理与跟踪数据通过仲裁器4的处理去耦。也就是说,部件31的操作不受仲裁器4的操作影响。
射频单元32可以包括DigRF接口30b,其被耦合到集成电路1的其配对物(counterpart)30a。DigRF接口30b被耦合到射频单元32的部件,即到为例如2G/3G数据处理(见部件31)提供数据的处理核36并且到提供跟踪信息的跟踪模块35。跟踪数据可以包括有关由射频单元32的部件所执行的处理和/或这些部件的状态的信息。
图10图示了接口1000在它可以被布置在DigRF接口30与图9的仲裁器4之间时候的示例性框图。接口1000可以包括被配置成将例如124.8 MHz的时钟提供给接口1000的时钟部件的时钟发生器单元(CGU)37。该接口可以进一步包括可以为基于MPHY标准的接口38和协议引擎39。接口38和协议引擎39可以形成将被跟踪的DigRF接口的一部分。应当理解的是,DigRF接口可以进一步包括为了简单起见未被图示的部件。接口1000可以进一步包括配置成处理由协议引擎39以及跟踪端口41所提供的数据的单元40。
在接口1000的操作期间,数据可以经由DigRF接口在基带单元(见例如图9的集成电路1)与射频单元(见例如图9的单元32)之间传送。从射频单元接收到的RX数据(见RxLanel、RxLane2)可以由协议引擎39(见解帧器42)处理并且发送到基带单元(见标记为“RX路径”的垂直箭头)。以类似的方式,从基带单元接收到的TX数据(见标记为“TX路径”的垂直箭头)可以由协议引擎(见成帧器43)处理并且发送到射频单元(见TxLane)。往回参考图9,所描述的RX数据和TX数据的传输可以对应于 2G/3G 数据处理部件31与处理核36之间的数据交换。
单元40可以包括配置从RX数据中提取跟踪信息的第一过滤器44。此外,复用器46可以被布置在第一过滤器44下游以对由第一过滤器44输出的数据流进行复用,以便产生可以被转发到跟踪端口41的单个复用数据流。复用数据可以从DigRF数据格式被转换成由仲裁器4所支持的数据格式。当来自复用器46的RX数据到跟踪端口数据41的转移开始时,消息的开始可以通过使能(enabling)信号线Rx_first来用信号通知。因此,Rx_first指示符可以被用于对时间戳进行采样,即用于根据相应RX数据的产生的时间来产生时间信息。每个有效的数据样本都可以通过对信号线Rx_vld_toggle的切换来用信号通知。每当这个信号被切换时,就可以在时钟digRF_clk(见时钟发生器单元37)的相同边缘上对数据采样。RX消息的结束可以由激活的Rx_Last信号来指示。经转换的数据流可以被存储在专用的缓冲存储器例如FIFO存储器中,并且可以被仲裁器4转发到它的输出端口。
单元40可以包括配置成从TX数据中提取跟踪信息的第二过滤器45。此外,单元47可以被布置在第二过滤器45下游。单元47可以包括配置成根据它们的优先级对DLC类型、CLC类型以及TAS消息的数据帧进行排序的仲裁器以及配置成将数据流复用为单个数据流的复用器。复用数据可以从DigRF数据格式被转换成由仲裁器4所支持的数据格式。当来自单元47的TX数据到跟踪端口数据41的转移开始时,消息的开始可以通过使能信号线Tx_first来用信号通知。因此,Tx_first指示符可以被用于对时间戳进行采样,即用于根据相应RX数据的产生的时间来产生时间信息。每个有效的数据样本可以通过对信号线Tx_vld_toggle的切换来用信号通知。每当这个信号被切换时,就必须在时钟digRF_clk(见时钟发生器单元37)的相同边缘对数据采样。TX消息的结束可以由激活的Tx_Last信号来指示。经转换的数据流可以被存储在专用的缓冲存储器例如FIFO存储器中,并且可以被仲裁器4转发到它的输出端口。
图11图示了依照本公开的系统1100的示例性框图。系统1100可以包括可以经由两个数据连接49和50耦合的集成电路1和电源管理单元(PMU)48。第一数据连接49可以将布置在集成电路1上的接口51与布置在PMU 48上的接口52耦合在一起,从而使得处理器23能够控制PMU 48中的一个或多个部件。第二数据连接50可以将布置在集成电路1上的接口54与布置在PMU 48上的接口55耦合在一起,从而使得可以在这些部件之间交换跟踪信息。注意,接口54和55中的每一个都可以对应于或者可以分别包括布置在集成电路1和PMU 48的边界上的专用管脚。
在系统1100的操作期间,可以跟踪PMU 48上的事件 (见“事件跟踪”56),例如诸如脉宽调制(PWM)开关、脉冲频率调制(PFM)开关、一个或多个域或信号监控的使能或禁用的电源事件。取决于该事件的跟踪信息可以被传送到接口55。PMU 48可以产生包括可以被格式化为由仲裁器4所需要的跟踪格式的跟踪信息的串行数据流。该数据流可以被存储在可以被布置在接口54与仲裁器4之间的FIFO存储器(未图示)中。包括跟踪信息的数据流可以被传送到仲裁器4并且根据已经被与先前的图相结合地描述的操作步骤处理。注意,包括跟踪信息的数据流还可以被传送到信号监控单元57。
图12a图示了在它可以以串行方式在PMU 48与仲裁器4之间传送时的消息格式。消息格式(见“消息”)的开始和结束分别由上升沿边缘和下降边缘来指示。消息可以包括多个帧(见“帧”),所述多个帧可以具有预定数目的时钟计数(见“CLK”)的长度。结果的数据流(见“数据”)可以包括一个或多个数据序列58,其中的每一个都可以包括具有长度为例如32比特的有效载荷部分59和奇偶校验位60,该奇偶校验位60可以在数据序列的产生期间在PMU 48中产生。例如,奇偶校验位60在偶数量的高数据比特时可以具有值“1”。注意,两个后续的数据序列58可以被间隔61分隔。
图12b图示了在它可以由仲裁器4产生时的消息格式。该消息格式可以包括具有大小为例如32个比特的时间信息(见ST_仲裁器_时间戳),其可以被布置在消息的开始处。时间信息后面可以是任意数目的N个数据字,其中的每一个都可以具有大小为例如32个比特。数据字可以包括跟踪信息(见“有效载荷”)。
往回参考图11,将根据图12b的数据格式被格式化的跟踪信息可以从PMU 48被传送到仲裁器4。由于图12b的数据格式被配置成包括多个N 32比特数据字,所以仲裁器4可以处理并且产生具有大小为32个比特N倍的跟踪信息。该跟踪信息可以通过耦合到仲裁器4的部件来分析。以类似的方式,具有大小为4个比特的跟踪信息(见数据连接50)可以被传送到监控单元57。注意,因为数据字的数目N不受上限限制,所以仲裁器4可以产生与传送到监控单元57的跟踪信息(具有大小为4个比特)相比可能是更复杂的跟踪信息(具有大小为32个比特N倍)。
图13图示了依照本公开的方法1300的示例性框图。可以与图1的系统100相结合地阅读该框图,但不局限于此。例如,还可以与图3、7以及8中所示出的系统中的每一个相结合地阅读该框图。在方法步骤62中,通过集成电路的部件(见图1的部件2)产生跟踪信息。在方法步骤63中,通过集成电路的单元(见图1的单元3)产生时间信息,其中,该时间信息取决于跟踪信息的产生的时间。集成电路的单元以硬件来加以实现。在方法步骤64中,通过单元(见图1的单元3)产生数据序列,其中,该数据序列包括跟踪信息和时间信息。
图14图示了依照本公开的系统1400的示例性框图。可以与图2的系统200相结合地阅读该框图,但是不局限于此。例如,还可以与图3、7以及8中所示出的系统中的每一个相结合地阅读该框图。在方法步骤65中,通过集成电路的部件(见图2的部件2)产生跟踪信息。在方法步骤66中,基于协议的数据格式来产生格式化的数据序列。所述格式化的数据序列包括所述跟踪信息,并且由该集成电路的单元(见图2的单元3)来产生,其中所述单元以硬件来加以实现。
应当理解的是,方法1300和1400中的每一个都可以通过添加另外的方法步骤来修改。特别地,附加的方法步骤可以对应于或者可以包括由上述部件所执行的操作步骤中的任何一个。
虽然已经针对一个或多个实施方式举例说明并且描述了本发明,但是在不背离所附权利要求的精神和范围的情况下,可以对所图示的示例进行变更和/或修改。特别针对由上述部件或结构(配件、器件、电路、系统等)所执行的各种功能,除非另外指示,否则用来描述此类部件的术语(包括对“装置”的参考)旨在对应于执行上述部件(例如,其是功能上等效的)的所规定功能的任何部件或结构,即使在结构上不相当于执行本发明的在本文中图示的示例性实施方式中的功能的所公开的结构。

Claims (23)

1.一种包括集成电路的系统,包括:
第一部件,其被配置成产生第一跟踪信息,所述第一部件是电源管理单元,并且所述第一跟踪信息包括关于电源事件的信息,其中所述电源事件是脉宽调制(PWM)开关、脉冲频率调制(PFM)开关、一个或多个信号监控的使能或禁用中的一个;以及
第一单元,其以硬件来加以实现并且被配置成基于所述第一跟踪信息的产生的时间来产生第一时间信息,并且被配置成产生包括所述第一跟踪信息和所述第一时间信息的第一数据序列。
2.根据权利要求1所述的系统,其中,所述第一跟踪信息包括关于以下各项中的至少一个的信息:
所述第一部件的状态;以及
由所述第一部件所执行的处理。
3.根据权利要求1所述的系统,其中,所述第一单元被配置成基于协议的数据格式来产生第一格式化的数据序列,其中,所述第一格式化的数据序列至少包括所述第一数据序列的一部分。
4.根据权利要求3所述的系统,其中,所述第一格式化的数据序列包括分片信息,所述分片信息被配置成指示所述第一格式化的数据序列是否完整地包括所述第一数据序列。
5.根据权利要求3所述的系统,其中,所述第一格式化的数据序列包括源信息,所述源信息被配置成将所述第一部件标识为所述第一跟踪信息的源。
6.根据权利要求3所述的系统,其中,所述第一格式化的数据序列包括任务信息,所述任务信息被配置成将由软件部件所执行的任务标识为所述第一跟踪信息的源。
7.根据权利要求3所述的系统,其中,所述第一格式化的数据序列包括:
一个或多个另外的数据序列,所述另外的数据序列中的每一个都分别包括跟踪信息和时间信息;以及
被配置成标识所述第一格式化的数据序列中的所述数据序列的数目的信息。
8.根据权利要求3所述的系统,其中,所述第一格式化的数据序列包括校验和。
9.根据权利要求3所述的系统,其中,所述第一格式化的数据序列包括至少32个比特。
10.根据权利要求1所述的系统,其中,所述集成电路包括基带芯片。
11.根据权利要求1所述的系统,其中,所述第一部件包括软件部件并且所述第一跟踪信息由所述软件部件来产生。
12.根据权利要求1所述的系统,其中,所述第一部件包括硬件部件并且所述第一跟踪信息由所述硬件部件来产生。
13.根据权利要求1所述的系统,进一步包括:
被配置成产生第二跟踪信息的第二部件,其中,所述第一单元被配置成基于所述第二跟踪信息的产生的时间来产生第二时间信息,并且被配置成产生包括所述第二跟踪信息和所述第二时间信息的第二数据序列。
14.根据权利要求13所述的系统,其中,所述第一单元包括第一子单元,所述第一子单元以硬件来加以实现并且配置成:
在第一输入端处从所述第一部件接收所述第一跟踪信息;
在第二输入端处从所述第二部件接收所述第二跟踪信息;以及
输出包括所述第一数据序列和所述第二数据序列的复用数据流。
15.根据权利要求14所述的系统,其中,所述第一单元包括用硬件实现的第二子单元,其中,所述第二子单元被布置在所述第一子单元下游并且被配置成基于所述复用数据流以及基于协议的数据格式来产生格式化的数据序列。
16.根据权利要求14所述的系统,其中,所述第一子单元包括耦合到所述第一子单元的所述第一输入端的缓冲存储器。
17.根据权利要求3所述的系统,进一步包括:
存储器,其被配置成存储所述第一格式化的数据序列。
18.根据权利要求3所述的系统,进一步包括:
处理器,其被耦合到所述第一单元并且配置成处理所述第一格式化的数据序列。
19.根据权利要求3所述的系统,进一步包括:
输出端口,其被配置成将所述第一格式化的数据序列提供给外部部件。
20.根据权利要求1所述的系统,进一步包括:
输出端口,其被配置成将所述第一数据序列提供给外部跟踪单元。
21.一种包括集成电路的系统,包括:
部件,其被配置成产生跟踪信息,所述部件是电源管理单元,并且所述跟踪信息包括关于电源事件的信息,其中所述电源事件是脉宽调制(PWM)开关、脉冲频率调制(PFM)开关、一个或多个信号监控的使能或禁用中的一个;以及
单元,其以硬件来加以实现并且配置成基于协议的数据格式来产生格式化的数据序列,所述格式化的数据序列包括所述跟踪信息。
22.一种用于处理跟踪信息的方法,包括:
通过集成电路的部件来产生跟踪信息,所述部件是电源管理单元,并且所述跟踪信息包括关于电源事件的信息,其中所述电源事件是脉宽调制(PWM)开关、脉冲频率调制(PFM)开关、一个或多个信号监控的使能或禁用中的一个;
通过所述集成电路的单元来产生时间信息,所述单元以硬件来加以实现并且所述时间信息是基于所述跟踪信息的所述产生的时间的;以及
通过所述单元来产生数据序列,所述数据序列包括所述跟踪信息和所述时间信息。
23.一种用于处理跟踪信息的方法,包括:
通过集成电路的部件来产生跟踪信息,所述部件是电源管理单元,并且所述跟踪信息包括关于电源事件的信息,其中所述电源事件是脉宽调制(PWM)开关、脉冲频率调制(PFM)开关、一个或多个信号监控的使能或禁用中的一个;以及
基于协议的数据格式来产生格式化的数据序列,其中,所述格式化的数据序列包括所述跟踪信息并且通过所述集成电路的单元来产生,所述单元以硬件来加以实现。
CN201310091557.6A 2012-03-22 2013-03-21 用于处理跟踪信息的系统和方法 Expired - Fee Related CN103324591B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/426,900 US8924796B2 (en) 2012-03-22 2012-03-22 System and method for processing trace information
US13/426,900 2012-03-22
US13/426900 2012-03-22

Publications (2)

Publication Number Publication Date
CN103324591A CN103324591A (zh) 2013-09-25
CN103324591B true CN103324591B (zh) 2016-12-28

Family

ID=49112361

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310091557.6A Expired - Fee Related CN103324591B (zh) 2012-03-22 2013-03-21 用于处理跟踪信息的系统和方法

Country Status (3)

Country Link
US (1) US8924796B2 (zh)
CN (1) CN103324591B (zh)
DE (1) DE102013102912A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9256399B2 (en) 2013-06-27 2016-02-09 Atmel Corporation Breaking program execution on events
US9645870B2 (en) * 2013-06-27 2017-05-09 Atmel Corporation System for debugging DMA system data transfer
US9830245B2 (en) 2013-06-27 2017-11-28 Atmel Corporation Tracing events in an autonomous event system
US9753836B2 (en) * 2014-09-12 2017-09-05 Intel Corporation Low power debug architecture for system-on-chips (SoCs) and systems
DE102015121940A1 (de) * 2015-12-16 2017-06-22 Intel IP Corporation Eine Schaltung und ein Verfahren zum Anhängen eines Zeitstempels an eine Tracenachricht
WO2018223302A1 (zh) * 2017-06-07 2018-12-13 华为技术有限公司 数据的重组方法和装置
US11068378B2 (en) * 2019-04-11 2021-07-20 Microsoft Technology Licensing, Llc Memory value exposure in time-travel debugging traces
US10990506B2 (en) 2019-04-11 2021-04-27 Microsoft Technology Licensing, Llc Cross-thread memory indexing in time-travel debugging traces

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069176B2 (en) * 2003-08-07 2006-06-27 Arm Limited Trace source correlation in a data processing apparatus
US8055950B2 (en) * 2008-01-11 2011-11-08 Arm Limited Method and apparatus for improved timing for trace synchronization
US8307344B2 (en) * 2008-02-08 2012-11-06 Texas Instruments Incorporated Sliding granularity time stamping

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6530047B1 (en) * 1999-10-01 2003-03-04 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US7093236B2 (en) * 2001-02-01 2006-08-15 Arm Limited Tracing out-of-order data
US20040133698A1 (en) * 2002-12-17 2004-07-08 Swoboda Gary L. Apparatus and method for op code extension in packet groups transmitted in trace streams
US7747901B2 (en) * 2005-07-20 2010-06-29 Texas Instruments Incorporated Auxiliary link control commands
GB2447683B (en) * 2007-03-21 2011-05-04 Advanced Risc Mach Ltd Techniques for generating a trace stream for a data processing apparatus
US7743279B2 (en) * 2007-04-06 2010-06-22 Apple Inc. Program counter (PC) trace
US8713370B2 (en) * 2011-08-11 2014-04-29 Apple Inc. Non-intrusive processor tracing
US9003375B2 (en) * 2011-12-30 2015-04-07 Intel Corporation Optional logging of debug activities in a real time instruction tracing log

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069176B2 (en) * 2003-08-07 2006-06-27 Arm Limited Trace source correlation in a data processing apparatus
US8055950B2 (en) * 2008-01-11 2011-11-08 Arm Limited Method and apparatus for improved timing for trace synchronization
US8307344B2 (en) * 2008-02-08 2012-11-06 Texas Instruments Incorporated Sliding granularity time stamping

Also Published As

Publication number Publication date
US8924796B2 (en) 2014-12-30
CN103324591A (zh) 2013-09-25
DE102013102912A1 (de) 2013-09-26
US20130254596A1 (en) 2013-09-26

Similar Documents

Publication Publication Date Title
CN103324591B (zh) 用于处理跟踪信息的系统和方法
US7826479B2 (en) Communication message conversion device, communication method and communication system
EP1690184B1 (en) Apparatus and method for time ordering events in a system having multiple time domains
CN104809094B (zh) Spi控制器及其通信方法
CN100416534C (zh) 基于PCI Express的包结合方法、设备和系统
CN110213143B (zh) 一种1553b总线ip核及监视系统
CN102713864A (zh) 用于基于分组转换的逻辑复制的方法和系统
EP2854355B1 (en) Central alignment circuitry for high-speed serial receiver circuits
CN102064989A (zh) 用于高带宽总线的端口适配器
US20090249127A1 (en) Method and system for storing data from a plurality of processors
US7496801B2 (en) Method, apparatus and system for facilitating debug for link interconnects
CN106598018A (zh) 控制器区域网络(can)装置以及用于操作can装置的方法
CN104901859A (zh) 一种axi/pcie总线转换装置
CN105573952A (zh) 一种多通道数据传输的系统
CN105915518B (zh) 一种以太网数据帧实时解析方法及装置
CN204392275U (zh) 一种具有以太网接口的mvb总线数据侦听系统
CN103631314B (zh) 去除电平信号中毛刺的方法
CN116450563A (zh) 一种消息接收装置和处理器通信系统
CN108984324A (zh) Fpga硬件抽象层
CN102185786A (zh) Hdlc协议控制器ip软核
CN107544615B (zh) 用于现场总线的微控制器、机动车的控制设备和机动车
Li et al. A Wrapper of PCI Express with FIFO Interfaces based on FPGA
CN111587380A (zh) 具有至少一个可加密的数据线路的雷达系统
CN106656391B (zh) 一种交换机芯片多路时钟同步原语冲突处理电路
CN202372977U (zh) 基于fpga实现的usb主设备端接口结构

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Neubiberg, Germany

Applicant after: Intel Mobile Communications GmbH

Address before: Neubiberg, Germany

Applicant before: Intel Mobile Communications GmbH

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200713

Address after: California, USA

Patentee after: Apple Inc.

Address before: California, USA

Patentee before: INTEL Corp.

Effective date of registration: 20200713

Address after: California, USA

Patentee after: INTEL Corp.

Address before: Neubiberg, Germany

Patentee before: Intel Mobile Communications GmbH

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161228

CF01 Termination of patent right due to non-payment of annual fee