DE102013102912A1 - System und Verfahren zur Verarbeitung von Ablaufverfolgungsinformationen - Google Patents

System und Verfahren zur Verarbeitung von Ablaufverfolgungsinformationen Download PDF

Info

Publication number
DE102013102912A1
DE102013102912A1 DE102013102912A DE102013102912A DE102013102912A1 DE 102013102912 A1 DE102013102912 A1 DE 102013102912A1 DE 102013102912 A DE102013102912 A DE 102013102912A DE 102013102912 A DE102013102912 A DE 102013102912A DE 102013102912 A1 DE102013102912 A1 DE 102013102912A1
Authority
DE
Germany
Prior art keywords
data
trace
information
trace information
component
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.)
Withdrawn
Application number
DE102013102912A
Other languages
English (en)
Inventor
Patrik Eder
Markus LYRA
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
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 DE102013102912A1 publication Critical patent/DE102013102912A1/de
Withdrawn legal-status Critical Current

Links

Images

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

Ein System enthält eine integrierte Schaltung mit einer ersten Komponente und einer ersten Einheit. Die erste Komponente ist so konfiguriert, dass sie eine erste Ablaufverfolgungsinformation generiert. Die erste Einheit ist in Hardware implementiert und so konfiguriert, dass sie eine erste Zeitinformation basierend auf einer Zeit des Generierens der ersten Ablaufverfolgungsinformation generiert, und so konfiguriert, dass sie eine erste Datenfolge generiert, welche die erste Ablaufverfolgungsinformation und die erste Zeitinformation enthält.

Description

  • Die Erfindung betrifft elektronische Systeme. Insbesondere betrifft die Erfindung Systeme und Verfahren zur Verarbeitung von Ablaufverfolgungsinformationen.
  • Ablaufverfolgungsinformationen (engl. trace information) können für die Entwicklung, Konformität, Interoperabilität und Einsatzerprobung von elektronischen Systemen benötigt werden. Systeme und Verfahren zur Verarbeitung von Ablaufverfolgungsinformationen müssen ständig verbessert werden. Es kann insbesondere wünschenswert sein, die Qualität und Effizienz solcher Systeme und Verfahren zu verbessern.
  • Aspekte der Offenbarung werden beispielhaft anhand der folgenden ausführlichen Beschreibung von Ausführungsformen in Verbindung mit den angehängten Zeichnungsfiguren besser ersichtlich. Es zeigen:
  • 1 ein schematisches Blockdiagramm eines Systems 100 gemäß der Offenbarung;
  • 2 ein schematisches Blockdiagramm eines Systems 200 gemäß der Offenbarung;
  • 3 ein schematisches Blockdiagramm eines Systems 300 gemäß der Offenbarung;
  • 4 ein Nachrichtenformat 400;
  • 5 ein Nachrichtenformat 500;
  • 6 ein Nachrichtenformat 600;
  • 7 ein schematisches Blockdiagramm eines Systems 700 gemäß der Offenbarung;
  • 8 ein schematisches Blockdiagramm eines Systems 800 gemäß der Offenbarung;
  • 9 ein schematisches Blockdiagramm eines Systems 900 gemäß der Offenbarung;
  • 10 ein schematisches Blockdiagramm einer Schnittstelle 1000;
  • 11 ein schematisches Blockdiagramm eines Systems 1100 gemäß der Offenbarung;
  • 12a und 12b Nachrichtenformate;
  • 13 ein schematisches Blockdiagramm eines Verfahrens 1300 gemäß der Offenbarung; und
  • 14 ein schematisches Blockdiagramm eines Verfahrens 1400 gemäß der Offenbarung.
  • In der folgenden ausführlichen Beschreibung wird auf die beiliegenden Zeichnungen Bezug genommen, welche einen Teil davon bilden und in welchen zu Veranschaulichungszwecken Ausführungsformen dargestellt werden, in welchen die Erfindung in die Praxis umgesetzt werden kann. Es versteht sich von selbst, dass andere Ausführungsformen verwendet und strukturelle oder logische Änderungen vorgenommen werden können, ohne vom Konzept der vorliegenden Offenbarung abzuweichen. Die folgende ausführliche Beschreibung ist daher nicht in einem einschränkenden Sinne aufzufassen, und das Konzept der vorliegenden Erfindung wird durch die angehängten Ansprüche definiert.
  • Es versteht sich von selbst, dass die Merkmale der verschiedenen Ausführungsbeispiele, die hierin beschrieben werden, miteinander kombiniert werden können, sofern nicht eigens anders angegeben. Ferner bezeichnen gleiche Bezugszeichen entsprechende ähnliche Teile.
  • Wie in dieser Spezifikation verwendet, sollen die Begriffe „gekoppelt“ und/oder „verbunden“ im Allgemeinen nicht bedeuten, dass die Elemente direkt miteinander gekoppelt oder verbunden sein müssen. Es können zwischengeschaltete Elemente zwischen den „gekoppelten“ oder „verbundenen“ Elementen vorgesehen sein. Obwohl jedoch nicht auf diese Bedeutung beschränkt, können die Begriffe „gekoppelt“ und/oder „verbunden“ auch so verstanden werden, dass sie optional eine Implementierung offenbaren, in der die Elemente ohne zwischengeschaltete Elemente, die zwischen den „gekoppelten“ oder „verbundenen“ Elementen vorgesehen sind, direkt miteinander gekoppelt oder verbunden sind. Ferner sollen insofern, als die Begriffe „aufweisen“, „haben“, „mit“ oder andere Varianten davon entweder in der ausführlichen Beschreibung oder den Ansprüchen verwendet werden, diese Begriffe in einer ähnlichen Weise einschließend sein wie der Begriff „umfassend“. Außerdem bezieht sich der Begriff „beispielhaft“ eher nur auf ein Beispiel als auf das Beste oder Optimale.
  • 1 veranschaulicht ein beispielhaftes Blockdiagramm eines Systems 100 gemäß der Offenbarung. Das System 100 enthält eine integrierte Schaltung 1 mit einer Komponente 2 und einer Einheit 3. Die Komponente 2 ist so konfiguriert, dass sie eine Ablaufverfolgungsinformation (engl. trace information) generiert. Die Einheit 3 ist in einer Ausführungsform in Hardware implementiert und so konfiguriert, dass sie eine Zeitinformation in Abhängigkeit von einer Zeit des Generierens der Ablaufverfolgungsinformationen generiert. Außerdem ist die Einheit 3 so konfiguriert, dass sie eine Datenfolge generiert, welche die Ablaufverfolgungsinformation und die Zeitinformation umfasst. Detailliertere beispielhafte Blockdiagramme von ähnlichen Systemen werden im Folgenden bereitgestellt.
  • 2 veranschaulicht ein beispielhaftes Blockdiagramm eines Systems 200 gemäß der Offenbarung. Das System 200 umfasst eine integrierte Schaltung 1 mit einer Komponente 2 und einer Einheit 3. Die Komponente 2 ist so konfiguriert, dass sie eine Ablaufverfolgungsinformation generiert. Die Einheit 3 ist in einer Ausführungsform in Hardware implementiert und so konfiguriert, dass sie eine formatierte Datenfolge basierend auf einem Datenformat eines Protokolls generiert, wobei die formatierte Datenfolge die Ablaufverfolgungsinformation umfasst. Detailliertere beispielhafte Blockdiagramme von ähnlichen Systemen werden im Folgenden bereitgestellt.
  • 3 veranschaulicht ein beispielhaftes Blockdiagramm eines Systems 300 gemäß der Offenbarung. Das System 300 umfasst eine integrierte Schaltung 1, wobei die Grenzen der Schaltung durch eine Linie L angezeigt sind, so dass in einer Ausführungsform alle Komponenten, die innerhalb der Linie L angeordnet sind, einen Teil der integrierten Schaltung 1 bilden. Es versteht sich von selbst, dass der Begriff „integrierte Schaltung“ den Begriffen „integrierter Schaltungschip“, „Chip“, „Mikrochip“ usw. ähnlich sein und durch einen davon ersetzt werden kann. Die integrierte Schaltung 1 ist von einem beliebigen Typ, zum Beispiel eine integrierte Basisbandschaltung, eine integrierte Hochfrequenzschaltung, ein Chip zur Verwendung in einem Kraftfahrzeug (engl. automotive chip), ein Sensorchip, ein Mikroprozessor usw. Die integrierte Schaltung 1 kann durch eine beliebige Technologie hergestellt und zum Beispiel als integrierte Logikschaltungen, integrierte Analogschaltungen, integrierte Mischsignalschaltungen, Speicherschaltungen, integrierte passive Bauelemente usw., konzipiert sein und/oder solche umfassen.
  • Die integrierte Schaltung 1 kann eine oder mehr Softwarekomponenten (nicht dargestellt) umfassen. Jede der Softwarekomponenten kann als Ablaufverfolgungsquelle (engl. trace source) (oder -Master) fungieren, d. h. so konfiguriert sein, dass sie eine Ablaufverfolgungsinformation generiert (siehe Pfeile „Software-Ablaufverfolgungsquellen“). In ähnlicher Weise kann die integrierte Schaltung 1 ferner eine oder mehr Hardwarekomponenten (nicht dargestellt) umfassen, wobei jede der Hardwarekomponenten so konfiguriert sein kann, dass sie eine Ablaufverfolgungsinformation generiert (siehe Pfeile „Hardware-Ablaufverfolgungsquellen“). Eine Ablaufverfolgungsinformation, die durch eine der Software- oder Hardwarekomponenten generiert wird, kann Informationen über einen Zustand der jeweiligen Komponente, zum Beispiel Informationen über eine Taktfrequenz, einen Strom, eine Spannung, eine Temperatur usw. enthalten. Außerdem können die Ablaufverfolgungsinformationen Informationen über einen Prozess enthalten, der durch die jeweilige Komponente ausgeführt wird.
  • Die integrierte Schaltung 1 kann einen Arbiter 4 (oder Ablaufverfolgungs-Arbiter (engl. trace arbiter) oder Ablaufverfolgungs-Backbone) mit einem oder mehr Eingängen und Ausgängen enthalten. Die Eingänge des Arbiters 4 können mit den Software- und Hardwarekomponenten gekoppelt und so konfiguriert sein, dass sie die Ablaufverfolgungsinformationen dieser Komponenten empfangen. Ein erster und ein zweiter Ausgang des Arbiters 4 können mit einem ersten Ablaufverfolgungsmodul 5a bzw. einem zweiten Ablaufverfolgungsmodul 5b gekoppelt sein. Außerdem kann ein dritter Ausgang des Arbiters 4 mit einer Ablaufverfolgungseinheit 6 gekoppelt sein. Jedes der Ablaufverfolgungsmodule 5a und 5b kann mit einer Schnittstelle, zum Beispiel einer Parallel-Ablaufverfolgungsschnittstelle (PTI – Parallel Trace Interface), gekoppelt sein, die eine Verbindung zu einer externen Komponente, insbesondere einem Ablaufverfolgungs-Tool, bereitstellt. Die Ablaufverfolgungseinheit 6 kann eine Formatiereinheit 6a, einen Pufferspeicher 6b und eine Einheit 6c für Speicherdirektzugriff (DMA – Direct Memory Access) enthalten.
  • Die Ablaufverfolgungseinheit 6 kann mit einem Bussystem 7 gekoppelt sein, das mit einer Speichersteuerung 8 verbunden sein kann. Die integrierte Schaltung 1 kann über einen Ausgang der Speichersteuerung 8 mit einem externen Speicher 9, zum Beispiel einem Ringpuffer, gekoppelt sein. Es versteht sich von selbst, dass der Speicher 9 alternativ auf der integrierten Schaltung 1 angeordnet sein kann. Ein Ausgang des Speichers 9 kann über einen Eingang der Speichersteuerung 8 mit der integrierten Schaltung 1 gekoppelt sein. Ein Ausgang der Speichersteuerung 8 kann mit einem Eingang des Bussystems 7 gekoppelt sein, während ein Ausgang des Bussystems 7 mit einem oder mehreren Ausgabeports (oder -schnittstellen) 10 gekoppelt sein kann. Zum Beispiel können die Schnittstellen 10 Vorläuferports (engl. legacy ports) entsprechen oder solche enthalten. In 3 sind verschiedene beispielhafte Schnittstellen angezeigt, nämlich UART (Universal Asynchronous Receiver Transmitter), SPI (Serial Peripheral Interface), MIPI (Mobile Industry Processor Interface), synchrone Hochgeschwindigkeitsschnittstelle (HSI – High Speed Synchronous Interface), eine Schnittstelle zu einer SD(Secure Digital)-Card, einem universellen seriellen Bus (USB – Universal Serial Bus), HSIC (High Speed Inter-Chip), USB HS (USB High Speed) usw.
  • Während eines Betriebs des Systems 300 empfängt der Arbiter 4 Ablaufverfolgungsinformationen von aktiven Software- und/oder Hardwarekomponenten. Für jede empfangene Ablaufverfolgungsinformation einer Komponente kann der Arbiter 4 in Abhängigkeit von einer Zeit des Generierens der Ablaufverfolgungsinformation eine Zeitinformation generieren. Außerdem kann der Arbiter 4 so konfiguriert sein, dass er eine Datenfolge generiert, welche die empfangene Ablaufverfolgungsinformation und die Zeitinformation umfasst. Zum Beispiel kann die Zeitinformation die Zeit anzeigen, zu der die Datenfolge generiert wird. Die Zeitinformation kann auf einer Systemzeit der integrierten Schaltung 1 basieren oder einer Taktzählung eines Taktgebers entsprechen, wobei die Taktzählung beginnt, wenn die integrierte Schaltung 1 (und infolgedessen der Arbiter 4) eingeschaltet wird. Es kann natürlich möglich sein, die Systemzeit durch die Kenntnis der Taktzählung zu bestimmen.
  • 4 veranschaulicht ein beispielhaftes Nachrichtenformat 400, das einer Datenfolge entsprechen kann, die durch den Arbiter 4 generiert wird. Im Folgenden kann das Nachrichtenformat 400 auch als „Systemablaufverfolgungsnachricht“ (engl. System Trace Message) bezeichnet werden. Die Systemablaufverfolgungsnachricht 400 kann ein Datenfeld 11 enthalten, das eine Größe von 4 Bytes aufweisen, d. h. einem D32-Datenwort entsprechen kann. Das Datenfeld 11 kann die Zeitinformation umfassen, und es kann ein Datenfeld 12 folgen, das Nutzdaten einer ablaufverfolgungsquellenspezifischen Nachricht, d.h. die Ablaufverfolgungsinformation, umfasst. Das Datenfeld 12 kann z. B. durch eine beliebige Kombination von D8-, D16-, D32- und D64-Datenwörtern gebildet und in zwei Teile 12a und 12b unterteilt sein. Der erste Teil 12a kann der Ablaufverfolgungsinformation entsprechen oder diese enthalten, während der zweite Teil 12b einem Zeitstempel, zum Beispiel einem Zeitstempel nach einem MIPI-Standard, entsprechen oder solch einen enthalten kann. Der Zeitstempel kann ein 8-Bit-, 16-Bit-, 32-Bit- oder 64-Bit-Datenwort (die als D8TS, D16TS, D32TS, D64TS bezeichnet werden können) sein und verwendet werden, um das Ende der Systemablaufverfolgungsnachricht 400 anzuzeigen.
  • Zurück zu 3 kann der Arbiter 4 Ablaufverfolgungsinformationen von einer oder mehreren Komponenten empfangen und Datenfolgen, d. h. Systemablaufverfolgungsnachrichten, gemäß 4 generieren. Insbesondere kann der Arbiter 4 einen gemultiplexten Datenstrom generieren, der eine oder mehrere Systemablaufverfolgungsnachrichten enthält, wobei der gemultiplexte Datenstrom an das erste Ablaufverfolgungsmodul 5a und/oder das zweite Ablaufverfolgungsmodul 5b und/oder die Ablaufverfolgungseinheit 6 ausgegeben wird. Jedes der Ablaufverfolgungsmodule 5a und 5b kann die empfangenen Datenfolgen basierend auf einem Systemablaufverfolgungsprotokoll, zum Beispiel einem MIPl-Systemablaufverfolgungsprotokoll (STP – System Trace Protocol), konvertieren und die formatierten Daten zu einer Schnittstelle (siehe PTI1, PTI2) weiterleiten. Die Formatiereinheit 6a kann die Systemablaufverfolgungsnachricht empfangen und basierend auf einem Datenformat eines Protokolls (oder Kommunikationsprotokolls) formatierte Datenfolgen generieren. Das Protokoll kann ein byteorientiertes nachrichtenbasiertes Container-Protokoll sein, das zwei Schichten unterstützt, die als „Transportschicht“ (engl. transport layer) und „Datenverbindungsschicht“ (engl. data link layer) bezeichnet werden können. Das Protokoll kann die Möglichkeit bereitstellen, Ablaufverfolgungsdaten von verschiedenen Quellen zu einem einzigen Datenstrom zu multiplexen und zu verschachteln.
  • Die „Transportschicht“ des Protokolls kann auf einem beispielhaften Nachrichtenformat 500 basieren, das in 5 dargestellt ist und als „Systemablaufverfolgungsprotokoll“(engl. System Trace Protocol, STP)-Nachricht bezeichnet werden kann. Die STP-Nachricht 500 kann eine veränderliche Größe aufweisen und eine oder mehr Systemablaufverfolgungsnachrichten kapseln. Es versteht sich von selbst, dass die STP-Nachricht 500 nicht darauf beschränkt ist, vollständige Systemablaufverfolgungsnachrichten zu umfassen, sondern auch ein oder mehr Fragmente von solchen Nachrichten enthalten kann. Die STP-Nachricht 500 kann Datenfelder 13 bis 17 umfassen, wie in 5 dargestellt. Es versteht sich von selbst, dass die STP-Nachricht modifiziert werden kann, indem zum Beispiel eines oder mehrere der Datenfelder 13 bis 17 verworfen und/oder zusätzliche Datenfelder hinzugefügt werden.
  • Das Datenfeld 13 (siehe MID) kann eine Größe von 1 Byte aufweisen und als „Master-ID“ bezeichnet werden. Es kann so konfiguriert sein, dass es die Quelle einer Ablaufverfolgungsinformation, d.h. die Kennung eines Masters, identifiziert. Bei Ablaufverfolgungsquellen kann es sich entweder um Software, die auf einem Kern (oder Prozessorkern) ausgeführt wird (z. B. Protokollstapel, 3G Firmware, DSP Firmware), oder Hardware (z. B. Prozessor-Ablaufverfolgung, DigRF, Rake-Empfänger, Signalüberwachung usw.) handeln. Es ist zu erwähnen, dass das Datenfeld 13 insbesondere durch den Arbiter 4, aber auch durch die Formatiereinheit 6a, generiert werden kann.
  • Das Datenfeld 14 (siehe MSN – Message Sequence Number) kann eine Größe von 1 Byte aufweisen und als „Nachrichtenfolgenummer“ (engl. Message Sequence Number) bezeichnet werden. Es kann ein Nachrichtenzähler modulo 256, der für jeden Master getrennt (d. h. unabhängig von einem verwendeten Kanal) verwaltet werden kann, sein und für jede neue STP-Nachricht mit der gleichen MID inkrementiert werden. Das Datenfeld 14 kann zum Detektieren einer verlorengegangenen Ablaufverfolgungsnachricht auf einer STP-Ebene verwendet und insbesondere durch die Formatiereinheit 6a generiert werden.
  • Das Datenfeld 15 (siehe CID – Channel-ID) kann eine Größe von 1 Byte aufweisen und als „Kanal-ID“ bezeichnet werden. Es kann nur durch Software-Ablaufverfolgungsquellen verwendet werden und die Aufgabe identifizieren, die eine Ablaufverfolgungsinformation erzeugte. Für Hardwareablaufverfolgungen wird das Datenfeld 15 daher nicht verwendet. Das Vorhandensein des Datenfeldes 15 hängt vom Datenfeld 13 (MID) ab, d. h. nur Ablaufverfolgungsquellen, die Kanalüberlappung unterstützen, enthalten das CID-Feld. Es ist zu erwähnen, dass das Datenfeld 15 insbesondere durch den Arbiter 4, aber auch durch die Formatiereinheit 6a generiert werden kann.
  • Das Datenfeld 16 (siehe DATA) kann eine beliebige Größe aufweisen und verkettete Rohdaten von Systemablaufverfolgungsnachrichten enthalten. Hierbei können 16-/32-/64-Bit-Datenwörter in Little Endian, d. h. mit dem niedrigstwertigen Byte zuerst, gespeichert werden. Die Länge des Datenfeldes 16 kann variabel und nicht ausdrücklich angezeigt sein, da sie durch die Gesamtlänge der STP-Nachricht 500 implizit gegeben ist.
  • Das Datenfeld 17 (siehe FLG – Flag) kann eine Größe von 1 Byte aufweisen und verschiedene Flags enthalten. Insbesondere kann das Datenfeld 17 durch die Formatiereinheit 6a generiert werden. Zum Beispiel kann ein Bit an Position 7 des Datenfeldes 17 als „Indikator des ersten Fragments“ (engl. First Fragment Indicator) bezeichnet werden, wobei ein Bitwert von „0“ den Inhalt der STP-Nachricht 500 als ein nachfolgendes Fragment einer Systemablaufverfolgungsnachricht einer höheren Schicht identifiziert. Ein Bitwert von „1“ kann den Inhalt der STP-Nachricht 500 als den Beginn einer Systemablaufverfolgungsnachricht einer höheren Schicht kennzeichnen, so dass dieses erste Fragment als ein Synchronisationspunkt verwendet werden kann.
  • Ein Bit an Position 6 des Datenfeldes 17 kann als „Indikator des letzten Fragments“ bezeichnet werden, wobei ein Bitwert von „0“ anzeigt, dass eine Systemablaufverfolgungsnachricht noch nicht vollständig ist und andere Fragmente folgen werden. Ein Bitwert von „1“ kann das Ende einer Systemablaufverfolgungsnachricht einer höheren Schicht kennzeichnen, d. h. er kann anzeigen, dass die Nachricht vollständig ist und z. B. decodiert werden kann. Infolgedessen kann eine flexible Nachrichtenfragmentierung möglich sein, da Ablaufverfolgungsinformationen, die durch eine Komponente (oder einen Master) bereitgestellt werden, an jeder Position unterbrochen werden können. Außerdem kann eine mögliche Fragmentierung Nachrichtenpufferung auf der integrierten Schaltung 1 vermeiden.
  • Ein Bit an Position 5 des Datenfeldes 17 kann als „Überlaufnachricht-Indikator“ (engl. Overflow Message Indicator) bezeichnet werden, wobei ein Bitwert von „0“ anzeigt, ob die STP-Nachricht 500 Daten einer Systemablaufverfolgungsnachricht einer höheren Schicht enthält. Ein Bitwert von „1“ kann anzeigen, dass die STP-Nachricht 500 eine interne Überlaufnachricht umfasst, die nur durch Hardware-Master unterstützt werden kann. Demnach kann eine Signalisierung von internen Datenüberläufen bereitgestellt werden, zum Beispiel für den Fall, dass die generierte Datenrate höher als eine durch eine physikalische Ablaufverfolgungsschnittstelle bereitgestellte ist.
  • Ein Bit an Position 4 des Datenfeldes 17 kann als „Master-Typ“ bezeichnet werden, wobei ein Bitwert von „0“ anzeigt, dass die STP-Nachricht 500 von einem Software-Master stammt, d. h. das optionale CID-Feld ist vorhanden und interne Überlaufnachrichten werden nicht unterstützt. Ein Bitwert von „1“ kann anzeigen, dass die STP-Nachricht 500 von einem Hardware-Master stammt, d. h. das optionale CID-Feld fehlt und interne Überlaufnachrichten werden unterstützt.
  • Bits an Position 3, 2, 1 und 0 des Datenfeldes 17 können zur zukünftigen Verwendung reserviert werden und daher insbesondere einen Bitwert von „0“ aufweisen.
  • Die „Datenverbindungsschicht“ des Protokolls kann auf einem beispielhaften Nachrichtenformat 600 basieren, das in 6 dargestellt ist und als „Rahmen“ (engl. frame) bezeichnet werden kann. Das Nachrichtenformat 600 kann zum Kapseln einer STP-Nachricht 500 verwendet werden und Datenfelder 18 bis 21 enthalten, wie in 6 angezeigt. Es versteht sich von selbst, dass das Nachrichtenformat 600 modifiziert werden kann, indem zum Beispiel eines oder mehrere der Datenfelder 18 bis 21 verworfen und/oder zusätzliche Datenfelder hinzugefügt werden.
  • Das Datenfeld 18 (siehe Flag) kann einem Beginn-Flag mit einer Größe von z. B. 8 Bits entsprechen und zum Anzeigen des Beginns des Rahmens 600 konfiguriert sein. Die 8 Bits können einer vorbestimmten Bitfolge, zum Beispiel [01111110], d. h. 0x7E in einer hexadezimalen Schreibweise, entsprechen.
  • Das Datenfeld 19 (siehe STP-Nachricht (Byte-gestopft)) kann eine beliebige Größe aufweisen und eine STP-Nachricht sowie zusätzliche Stopfbits oder Stopfbytes enthalten, um die Größe des Rahmens 600 an eine erforderliche Größe oder Bitrate anzupassen. Insbesondere kann daher der Protokoll-Overhead auf der Datensicherungsschicht zwar vom tatsächlichen Inhalt des Rahmens 600 abhängen, aber mindestens 5 Bytes pro Rahmen entsprechen.
  • Das Datenfeld 20 (siehe FCS – Frame Check Sequence (32 Bit)) kann als „Rahmenprüffolge“ bezeichnet werden und eine Größe von z. B. 32 Bits aufweisen. Die FCS kann eine Fehlerprüfnummer umfassen, um Integritätsschutz bereitzustellen, d. h. die Möglichkeit zur Verfolgung von Übertragungsfehlern bereitzustellen. Eine Komponente, die den Rahmen 600 empfängt, kann die FCS verwenden, um zu überprüfen, ob das empfangene Datenpaket fehlerfrei ist oder nicht. Auf diese Weise können Fehler bei der Übertragung von Ablaufverfolgungsdaten innerhalb und außerhalb der integrierten Schaltung 1 detektiert werden.
  • Das Datenfeld 21 (siehe Flag) kann einem Ende-Flag mit einer Größe von z. B. 8 Bits entsprechen und zum Anzeigen des Endes des Rahmens 600 konfiguriert sein. Die 8 Bits können einer vorbestimmten Bitfolge, zum Beispiel [01111110], d. h. 0x7E in einer hexadezimalen Schreibweise, entsprechen.
  • Zurück zu 3 kann die Formatiereinheit 6a Daten, die vom Arbiter 4 empfangen werden, gemäß dem beschriebenen Protokoll formatieren und die formatierten Daten an den Speicherpuffer 6b ausgeben. Die formatierten Daten können über den Pufferspeicher 6b, die DMA-Einheit 6c, das Bussystem 7 und die Speichersteuerung 8 an den Speicher 9 übertragen werden. Es ist zu erwähnen, dass eine Speicherung der Ablaufverfolgungsdaten im Speicher 9 insbesondere dank des Formatierens der Ablaufverfolgungsinformationen gemäß dem beschriebenen Protokoll möglich wurde. Die formatierten Daten können aus dem Speicher 9 ausgelesen und über die Speichersteuerung 8 und das Bussystem 7 zu einem oder mehreren der Ausgabeports 10 übertragen werden.
  • Externe Komponenten (nicht dargestellt), die mit den Schnittstellen 10 gekoppelt sind, können auf die formatierten Ablaufverfolgungsdaten zugreifen und die Prüfsummen überprüfen (siehe Datenfeld 20 in 6). Formatierte Ablaufverfolgungsdaten, die infolge von Übertragungsfehlern beschädigt wurden, können verworfen werden. Durch die Kenntnis der Informationen, die durch das Protokoll bereitgestellt werden, kann eine externe Komponente empfangene formatierte Datenfolgen oder Fragmente davon wieder zusammensetzen. Außerdem können fehlende Fragmente auf der Basis des Datenfelds 14 (siehe 5) detektiert werden. Aufgrund der Zeitinformationen, die durch den Arbiter 4 für jede Ablaufverfolgungsinformation, die von einer aktiven Komponente kommt, bereitgestellt wurden, kann eine globale Übersicht über die aktiven Komponenten der integrierten Schaltung 1 und ihre Operationen für eine bestimmte Zeit oder ein bestimmtes Zeitintervall möglich sein.
  • 7 veranschaulicht ein beispielhaftes Blockdiagramm eines Systems 700 gemäß der Offenbarung. Das System 700 ähnelt dem System 300 von 3. Kommentare, die in Verbindung mit 3 gemacht wurden, können daher auch für 7 gelten.
  • Das System 700 enthält eine integrierte Schaltung 1 mit mehreren Hardware- und/oder Softwarekomponenten 22, die Ablaufverfolgungsinformationen bereitstellen können. Zum Beispiel können die Komponenten 22 eine DigRF-Schnittstelle, eine Signalüberwachungssoftware oder -hardware, ein BasisbandHostprozessor oder eine Energieverwaltungseinheit (PMU – Power Management Unit) usw. sein. Ablaufverfolgungsdaten, die durch die Komponenten 22 bereitgestellt werden, können durch einen Arbiter 4 und eine Ablaufverfolgungseinheit 6 verarbeitet werden. Außerdem können die Ablaufverfolgungsdaten an ein Ablaufverfolgungsmodul 5 übertragen werden, das mit einem oder beiden der Ablaufverfolgungsmodule 5a und 5b von 3 identifiziert werden kann. Daten, die durch das Ablaufverfolgungsmodul 5 ausgegeben werden, können über einen externen Pufferspeicher 24 an ein externes Ablaufverfolgungs-Tool 25 weitergeleitet werden.
  • Die formatierten Daten, die durch die Ablaufverfolgungseinheit 6 ausgegeben werden, können an eine oder mehrere Komponenten der integrierten Schaltung 1 übertragen werden, so dass die Daten direkt auf der integrierten Schaltung 1 ausgewertet werden können. Zum Beispiel können die Daten an einen Prozessor 23, z. B. einen Basisbandprozessor, übertragen werden, der die formatierten Daten verarbeiten und/oder analysieren und/oder die formatierten Daten zu einem Ausgabeport 10 weiterleiten kann. Es ist zu erwähnen, dass auf die Daten, die an der Schnittstelle 10 ausgegeben werden, auch durch das Ablaufverfolgungs-Tool 25 zugegriffen werden kann.
  • 8 veranschaulicht ein beispielhaftes Blockdiagramm eines Systems 800 gemäß der Offenbarung. Das System 800 ähnelt den zuvor beschriebenen Systemen, so dass die vorherigen Kommentare auch für Komponenten des Systems 800 gelten können.
  • Das System 800 umfasst einen Chip mit integrierten Schaltungschip 1 mit Komponenten 22a, 22b, 22c, die zum Generieren von Ablaufverfolgungsinformationen konfiguriert sind. Jede der Komponenten 22a, 22b, 22c kann mit einem oder mehreren Eingabeports 27 eines Arbiters 4 gekoppelt sein, wobei jeder Eingabeport 27 einen Puffer(oder FIFO)-Speicher (nicht dargestellt) enthalten kann. Zum Beispiel kann die Komponente 22a Ablaufverfolgungsinformationen nur an einen Eingabeport 27 bereitstellen, während die Komponente 22b Ablaufverfolgungsinformationen an zwei Eingabeports 27 liefern kann. Die Komponente 22c kann einen Arbiter 29 enthalten, der so konfiguriert ist, dass er Ablaufverfolgungsinformationen von mehr als einer Komponente (nicht dargestellt) der Komponente 22c empfängt. Der Arbiter 29 kann so konfiguriert sein, dass er empfangene Ablaufverfolgungsinformationen zu einem einzigen Datenstrom verarbeitet und multiplext, der zu einem Eingabeport 27 des Arbiters 4 weitergeleitet werden kann.
  • Die an den Eingabeports 27 empfangenen Ablaufverfolgungsinformationen können durch den Arbiter 4 in einer Weise verarbeitet werden, die oben bereits beschrieben wurde. Der Arbiter 4 kann einen oder mehr, z. B. drei, Ausgabeports 28 enthalten, die mit einem ersten Ablaufverfolgungsmodul 5a, einem zweiten Ablaufverfolgungsmodul 5b bzw. einer Ablaufverfolgungseinheit 6 gekoppelt sein können. Ein Betrieb der Ablaufverfolgungsmodule 5a, 5b und der Ablaufverfolgungseinheit 6 wurde bereits in Verbindung mit 3 beschrieben. Die Ablaufverfolgungseinheit 6 kann mit einem Bussystem 7 gekoppelt sein, was die Möglichkeit bietet, dass eine externe Komponente (nicht dargestellt), auf die formatierten Ablaufverfolgungsdaten zugreift. Jedes der Ablaufverfolgungsmodule 5a, 5b kann mit einer Schnittstelle 26 gekoppelt sein, die Daten, die durch die Ablaufverfolgungsmodule 5a, 5b verarbeitet wurden, an eine externe Komponente (nicht dargestellt), zum Beispiel an ein externes Ablaufverfolgungs-Tool, liefern kann.
  • 9 veranschaulicht ein beispielhaftes Blockdiagramm eines Systems 900 gemäß der Offenbarung. Das System 900 enthält eine integrierte Schaltung 1 und kann über eine DigRF-Schnittstelle 30 mit einer Hochfrequenzeinheit 32 gekoppelt sein. Infolgedessen kann die integrierte Schaltung 1 insbesondere einem Basisbandchip entsprechen oder solch einen enthalten. Die integrierte Schaltung 1 kann verschiedene Komponenten 4, 5, 6, 10 und 23 enthalten, die oben bereits zuvor beschrieben wurden. Ein Ablaufverfolgungsmodul 5 kann mit einem externen Ablaufverfolgungs-Tool 25 gekoppelt sein, während ein Ausgabeport 10 mit einem Personalcomputer 33 gekoppelt sein kann. Außerdem kann das Ablaufverfolgungs-Tool 25 mit dem Computer (PC) 33 gekoppelt sein, so dass Ablaufverfolgungsdaten zwischen diesen Komponenten ausgetauscht werden können. Die integrierte Schaltung 1 kann eine DigRF-Schnittstelle 30a enthalten, die so konfiguriert ist, dass sie Ablaufverfolgungsinformationen von der Hochfrequenzeinheit 32 empfängt und diese Informationen an einen Arbiter 4 weiterleitet. Es ist zu erwähnen, dass eine detailliertere Darstellung einer Schnittstelle zwischen dem Arbiter 4 und der DigRF-Schnittstelle 30 in 10 veranschaulicht ist.
  • Die DigRF-Schnittstelle 30 kann so konfiguriert sein, dass sie Daten zwischen der Hochfrequenzeinheit 32 und einer Komponente 31 der integrierten Schaltung 1 austauscht, die z. B. zum Durchführen einer 2G/3G-Datenverarbeitung konfiguriert sein kann. Zum Beispiel können die ausgetauschten Daten Nutzdaten (d. h. TX-Daten, RX-Daten) und/oder Steuerdaten und/oder Daten für eine Zeitsteuerung (Taktgebung) von Komponenten der integrierten Schaltung 1 und der Hochfrequenzeinheit 32 beinhalten. Es ist zu erwähnen, dass eine Verarbeitung von DigRF-Daten durch die Komponente 31 von einer Verarbeitung von Ablaufverfolgungsdaten durch den Arbiter 4 getrennt ist. Das heißt, ein Betrieb der Komponente 31 wird durch einen Betrieb des Arbiters 4 nicht beeinflusst.
  • Die Hochfrequenzeinheit 32 kann eine DigRF-Schnittstelle 30b umfassen, die mit ihrem Gegenstück 30a der integrierten Schaltung 1 gekoppelt ist. Die DigRF-Schnittstelle 30b ist mit Komponenten der Hochfrequenzeinheit 32 gekoppelt, nämlich mit Verarbeitungskernen 36, die Daten z. B. für eine 2G/3G-Datenverarbeitung (siehe Komponente 31) bereitstellen, und mit einem Ablaufverfolgungsmodul 35, das Ablaufverfolgungsinformationen bereitstellt. Die Ablaufverfolgungsdaten können Informationen über Prozesse, die durch Komponenten der Hochfrequenzeinheit 32 ausgeführt werden, und/oder Zustände dieser Komponenten beinhalten.
  • 10 veranschaulicht ein beispielhaftes Blockdiagramm einer Schnittstelle 1000, wie sie zwischen der DigRF-Schnittstelle 30 und dem Arbiter 4 von 9 angeordnet sein kann. Die Schnittstelle 1000 kann eine Taktgeneratoreinheit (CGU – clock generator unit) 37 enthalten, die so konfiguriert ist, dass sie einen Takt von z. B. 124,8 MHz bereitstellt, um Komponenten der Schnittstelle 1000 zu takten. Die Schnittstelle kann ferner eine Schnittstelle 38, die auf einem MPHY-Standard basieren kann, und eine Protokollmaschine (engl. protocol engine) 39 umfassen. Die Schnittstelle 38 und die Protokollmaschine 39 können einen Teil einer DigRF-Schnittstelle bilden, die verfolgt (engl. traced) werden soll. Es versteht sich von selbst, dass die DigRF-Schnittstelle weitere Komponenten enthalten kann, die der Einfachheit halber nicht dargestellt sind. Die Schnittstelle 1000 kann ferner eine Einheit 40, die zum Verarbeiten von Daten konfiguriert ist, die durch die Protokollmaschine 39 bereitgestellt werden, sowie einen Ablaufverfolgungsport 41 enthalten.
  • Während eines Betriebs der Schnittstelle 1000 können Daten zwischen einer Basisbandeinheit (siehe z. B. der integrierten Schaltung 1 von 9) und einer Hochfrequenzeinheit (siehe z. B. der Einheit 32 von 9) über eine DigRF-Schnittstelle übertragen werden. RX-Daten, die von der Hochfrequenzeinheit (siehe RxLane1, RxLane2) empfangen werden, können durch die Protokollmaschine 39 (siehe Deframer 42) verarbeitet und an die Basisbandeinheit (siehe vertikale Pfeile mit der Bezeichnung „RX-Pfad“) gesendet werden. In ähnlicher Weise können TX-Daten, die von der Basisbandeinheit (siehe vertikale Pfeile mit der Bezeichnung „TX-Pfad“) empfangen wurden, durch die Protokollmaschine (siehe Rahmenbildner (engl. framer) 43) verarbeitet und an die Hochfrequenzeinheit (siehe TXLane) gesendet werden. Zurück zu 9 kann die beschriebene Übertragung von RX-Daten und TX-Daten einem Datenaustausch zwischen der 2G/3G-Datenverarbeitungskomponente 31 und den Verarbeitungskernen 36 entsprechen.
  • Die Einheit 40 kann ein erstes Filter 44 umfassen, das zum Extrahieren von Ablaufverfolgungsinformationen aus den RX-Daten konfiguriert ist. Außerdem kann ein Multiplexer 46 hinter dem ersten Filter 44 angeordnet sein, um Datenströme zu multiplexen, die durch das erste Filter 44 ausgegeben werden, um einen einzigen gemultiplexten Datenstrom zu generieren, der zum Ablaufverfolgungsport 41 weitergeleitet werden kann. Die gemultiplexten Daten können von einem DigRF-Datenformat in ein Datenformat konvertiert werden, das durch den Arbiter 4 unterstützt wird. Wenn eine Übertragung von RX-Daten vom Multiplexer 46 zum Ablaufverfolgungsport 41 gestartet wird, kann durch Aktivieren einer Signalleitung Rx_first der Beginn einer Nachricht signalisiert werden. Demnach kann der Rx_first-Indikator zum Abtasten eines Zeitstempels, d. h. zum Generieren einer Zeitinformation in Abhängigkeit von der Zeit des Generierens der jeweiligen RX-Daten, verwendet werden. Jeder gültige Datenabtastwert kann durch Umschalten einer Signalleitung Rx_vld_toggle signalisiert werden. Jedes Mal, wenn dieses Signal umgeschaltet wird, können Daten auf der gleichen Flanke eines Takts digRF_clk (siehe Taktgeneratoreinheit 37) abgetastet werden. Das Ende einer RX-Nachricht kann durch ein aktives Rx_Last-Signal angezeigt werden. Der konvertierte Datenstrom kann in einem dedizierten Pufferspeicher, z. B. einem FIFO-Speicher, gespeichert und durch den Arbiter 4 zu seinen Ausgabeports weitergeleitet werden.
  • Die Einheit 40 kann ein zweites Filter 45 umfassen, das zum Extrahieren von Ablaufverfolgungsinformationen aus den TX-Daten konfiguriert ist. Außerdem kann eine Einheit 47 hinter dem zweiten Filter 45 angeordnet sein. Die Einheit 47 kann einen Arbiter, der so konfiguriert ist, dass er Datenrahmen vom DLC-Typ, CLC-Typ und TAS-Nachrichten gemäß ihrer Priorität ordnet, sowie einen Multiplexer umfassen, der so konfiguriert ist, dass er Datenströme zu einem einzigen Datenstrom multiplext. Die gemultiplexten Daten können von einem DigRF-Datenformat in ein Datenformat konvertiert werden, das durch den Arbiter 4 unterstützt wird. Wenn eine Übertragung von TX-Daten von der Einheit 47 zum Ablaufverfolgungsport 41 gestartet wird, kann durch Aktivieren einer Signalleitung Tx_first der Beginn einer Nachricht signalisiert werden. Demnach kann der Tx_first-Indikator zum Abtasten eines Zeitstempels, d. h. zum Generieren einer Zeitinformation in Abhängigkeit von der Zeit des Generierens der jeweiligen TX-Daten, verwendet werden. Jeder gültige Datenabtastwert kann durch Umschalten einer Signalleitung Tx_vld_toggle signalisiert werden. Jedes Mal, wenn dieses Signal umgeschaltet wird, müssen Daten auf der gleichen Flanke eines Takts digRF_clk (siehe Taktgeneratoreinheit 37) abgetastet werden. Das Ende einer TX-Nachricht kann durch ein aktives Rx_Last-Signal angezeigt werden. Der konvertierte Datenstrom kann in einem dedizierten Pufferspeicher, z. B. einem FIFO-Speicher, gespeichert und durch den Arbiter 4 zu seinen Ausgabeports weitergeleitet werden.
  • 11 veranschaulicht ein beispielhaftes Blockdiagramm eines Systems 1100 gemäß der Offenbarung. Das System 1100 kann eine integrierte Schaltung 1 und eine Energieverwaltungseinheit (PMU) 48 umfassen, die über zwei Datenverbindungen 49 und 50 gekoppelt sein können. Die erste Datenverbindung 49 kann eine Schnittstelle 51, die auf der integrierten Schaltung 1 angeordnet ist, mit einer Schnittstelle 52 koppeln, die auf der PMU 48 angeordnet ist, so dass es für einen Prozessor 23 möglich sein kann, eine oder mehr Komponenten der PMU 48 zu steuern. Die zweite Datenverbindung 50 kann eine Schnittstelle 54, die auf der integrierten Schaltung 1 angeordnet ist, mit einer Schnittstelle 55 koppeln, die auf der PMU 48 angeordnet ist, so dass es möglich sein kann, Ablaufverfolgungsinformationen zwischen diesen Komponenten auszutauschen. Es ist zu erwähnen, dass die Schnittstellen 54 und 55 einem dedizierten Anschlussstift (oder Pin), der an den Rändern der integrierten Schaltung 1 bzw. der PMU 48 angeordnet ist, entsprechen oder einen solchen enthalten kann.
  • Während eines Betriebs des Systems 1100 kann ein Ereignis auf der PMU 48 (siehe „Ereignisablaufverfolgung“ 56), zum Beispiel ein Stromereignis, wie beispielsweise eine Pulsweitenmodulations(PWM)-Umschaltung, eine Pulsfrequenzmodulations(PFM)-Umschaltung, ein Aktivieren oder ein Deaktivieren eines oder mehrerer Bereiche oder eine Signalüberwachung, verfolgt werden. Eine Ablaufverfolgungsinformation, die vom Ereignis abhängt, kann zur Schnittstelle 55 übertragen werden. Die PMU 48 kann einen seriellen Datenstrom generieren, der die Ablaufverfolgungsinformationen enthält, die in ein Ablaufverfolgungsformat umformatiert werden können, das von dem Arbiter 4 benötigt wird. Der Datenstrom kann in einem FIFO-Speicher (nicht dargestellt) gespeichert werden, der zwischen der Schnittstelle 54 und dem Arbiter 4 angeordnet sein kann. Der Datenstrom, der die Ablaufverfolgungsinformationen umfasst, kann an den Arbiter 4 übertragen und gemäß Arbeitsschritten, die in Verbindung mit vorherigen Figuren beschrieben wurden, verarbeitet werden. Es ist zu erwähnen, dass der Datenstrom, der die Ablaufverfolgungsinformationen enthält, auch an eine Signalüberwachungseinheit 57 übertragen werden kann.
  • 12a veranschaulicht ein Nachrichtenformat, wie es seriell zwischen der PMU 48 und dem Arbiter 4 übertragen werden kann. Der Beginn und das Ende des Nachrichtenformats (siehe „Nachricht“) sind durch eine ansteigende Flanke bzw. eine abfallende Flanke angezeigt. Die Nachricht kann mehrere Rahmen (siehe „Rahmen“) umfassen, die eine Länge von einer vorbestimmten Anzahl von Taktzählungen (siehe „CLK“) aufweisen können. Der resultierende Datenstrom (siehe „Daten“) kann eine oder mehr Datenfolgen 58 enthalten, die jeweils einen Nutzdatenteil 59 mit einer Länge von z. B. 32 Bits und ein Paritätsbit 60 enthalten können, das in der PMU 48 während des Generierens der Datenfolge generiert werden kann. Das Paritätsbit 60 kann zum Beispiel einen Wert von „1“ bei einer geradzahligen Menge von hohen Datenbits aufweisen. Es ist zu erwähnen, dass zwei aufeinander folgende Datenfolgen 58 durch ein Intervall 61 getrennt sein können.
  • 12b veranschaulicht ein Nachrichtenformat, wie es durch den Arbiter 4 generiert werden kann. Das Nachrichtenformat kann eine Zeitinformation (siehe ST_Arbiter_Timestamp) mit einer Größe von z. B. 32 Bits enthalten, die am Beginn der Nachricht angeordnet sein kann. Auf die Zeitinformation kann eine beliebige Anzahl von N Datenwörtern folgen, die jeweils eine Größe von z. B. 32 Bits aufweisen können. Die Datenwörter können Ablaufverfolgungsinformationen (siehe „Nutzdaten“) enthalten.
  • Zurück zu 11 können Ablaufverfolgungsinformationen, die gemäß dem Datenformat von 12b formatiert werden sollen, von der PMU 48 an den Arbiter 4 übertragen werden. Da das Datenformat von 12b so konfiguriert ist, dass es eine Anzahl von N 32-Bit-Datenwörtern enthält, kann es für den Arbiter 4 möglich sein, eine Ablaufverfolgungsinformation mit einer Größe von N mal 32 Bits zu verarbeiten und zu generieren. Diese Ablaufverfolgungsinformation kann durch eine Komponente analysiert werden, die mit dem Arbiter 4 gekoppelt ist. In ähnlicher Weise können Ablaufverfolgungsinformationen mit einer Größe von 4 Bits (siehe Datenverbindung 50) an die Überwachungseinheit 57 übertragen werden. Es ist zu erwähnen, dass es, da die Anzahl N von Datenwörtern nicht durch eine Obergrenze begrenzt ist, für den Arbiter 4 möglich sein kann, eine Ablaufverfolgungsinformation (mit einer Größe von N mal 32 Bits) zu generieren, die im Vergleich zu einer Ablaufverfolgungsinformation (mit einer Größe von 4 Bits), die an die Überwachungseinheit 57 übertragen wird, komplizierter sein kann.
  • 13 veranschaulicht ein beispielhaftes Blockdiagramm eines Verfahrens 1300 gemäß der Offenbarung. Das Blockdiagramm kann in Verbindung mit dem System 100 von 1 gelesen werden, ist aber nicht darauf beschränkt. Zum Beispiel kann das Blockdiagramm auch in Verbindung mit jedem der Systeme gelesen werden, die in 3, 7 und 8 dargestellt sind. In einem Verfahrensschritt 62 wird eine Ablaufverfolgungsinformation durch eine Komponente einer integrierten Schaltung (siehe Komponente 2 von 1) generiert. In einem Verfahrensschritt 63 wird eine Zeitinformation durch eine Einheit der integrierten Schaltung (siehe Einheit 3 von 1) generiert, wobei die Zeitinformation von einer Zeit des Generierens der Ablaufverfolgungsinformation abhängt. Die Einheit der integrierten Schaltung ist in Hardware implementiert. In einem Verfahrensschritt 64 wird durch die Einheit (siehe Einheit 3 von 1) eine Datenfolge generiert, wobei die Datenfolge die Ablaufverfolgungsinformation und die Zeitinformation enthält.
  • 14 veranschaulicht ein beispielhaftes Blockdiagramm eines Verfahrens 1400 gemäß der Offenbarung. Das Blockdiagramm kann in Verbindung mit dem System 200 von 2 gelesen werden, ist aber nicht darauf beschränkt. Zum Beispiel kann das Blockdiagramm auch in Verbindung mit jedem der Systeme gelesen werden, die in 3, 7 und 8 dargestellt sind. In einem Verfahrensschritt 65 wird eine Ablaufverfolgungsinformation durch eine Komponente einer integrierten Schaltung (siehe Komponente 2 von 2) generiert. In einem Verfahrensschritt 66 wird eine formatierte Datenfolge auf der Basis eines Datenformats eines Protokolls generiert. Die formatierte Datenfolge enthält die Ablaufverfolgungsinformation und wird durch eine Einheit der integrierten Schaltung (siehe Einheit 3 von 2) generiert, wobei die Einheit in Hardware implementiert ist.
  • Es versteht sich von selbst, dass jedes der Verfahren 1300 und 1400 durch Hinzufügen weiterer Verfahrensschritte modifiziert werden kann. Insbesondere können zusätzliche Verfahrensschritte beliebigen der Arbeitsschritte, die durch die zuvor beschriebenen Komponenten ausgeführt werden, entsprechen oder solche enthalten.
  • Obwohl die Erfindung in Bezug auf eine oder mehrere Implementierungen veranschaulicht und beschrieben wurde, können Abänderungen und/oder Modifikationen an den veranschaulichten Beispielen vorgenommen werden, ohne vom Gedanken und Konzept der angehängten Ansprüche abzuweichen. Es ist insbesondere hinsichtlich der verschiedenen Funktionen, die durch die zuvor beschriebenen Komponenten oder Strukturen (z. B. Anordnungen, Bauelemente, Schaltungen, Systeme usw.) ausgeführt werden, beabsichtigt, dass die Begriffe (einschließlich einer Bezugnahme auf „Mittel“), die zur Beschreibung solcher Komponenten verwendet werden, sofern nichts anderes angegeben, einer beliebigen Komponente oder Struktur entsprechen, welche die spezifizierte Funktion der beschriebenen Komponente ausführt (d. h. welche funktionell gleichwertig ist), auch wenn sie mit der offenbarten Struktur, welche die Funktion in den hierin veranschaulichten beispielhaften Implementierungen der Erfindung ausführt, strukturell nicht gleichwertig ist.

Claims (23)

  1. System, umfassend eine integrierte Schaltung, die Folgendes umfasst: eine erste Komponente, die zum Erzeugen einer ersten Ablaufverfolgungsinformation ausgelegt ist; und eine erste Einheit, die in Hardware implementiert ist und dazu ausgelegt ist, eine erste Zeitinformation basierend auf einer Zeit des Erzeugens der ersten Ablaufverfolgungsinformation zu erzeugen, und dazu ausgelegt ist, eine erste Datenfolge zu erzeugen, welche die erste Ablaufverfolgungsinformation und die erste Zeitinformation umfasst.
  2. System nach Anspruch 1, wobei die erste Ablaufverfolgungsinformation Information über mindestens eines von Folgendem umfasst: einem Zustand der ersten Komponente; und einem Prozess, der durch die erste Komponente ausgeführt wird.
  3. System nach Anspruch 1 oder 2, wobei die erste Einheit dazu ausgelegt ist, eine erste formatierte Datenfolge basierend auf einem Datenformat eines Protokolls zu erzeugen, wobei die erste formatierte Datenfolge mindestens einen Teil der ersten Datenfolge umfasst.
  4. System nach Anspruch 3, wobei die erste formatierte Datenfolge eine Fragmentierungsinformation umfasst, die dazu ausgelegt ist, anzuzeigen, ob die erste formatierte Datenfolge die erste Datenfolge vollständig umfasst oder nicht.
  5. System nach Anspruch 3 oder 4, wobei die erste formatierte Datenfolge eine Quelleninformation umfasst, die dazu ausgelegt ist, die erste Komponente als eine Quelle der ersten Ablaufverfolgungsinformation zu identifizieren.
  6. System nach einem der Ansprüche 3 bis 5, wobei die erste formatierte Datenfolge eine Aufgabeninformation umfasst, die dazu ausgelegt ist, eine Aufgabe, die durch eine Softwarekomponente ausgeführt wird, als eine Quelle der ersten Ablaufverfolgungsinformation zu identifizieren.
  7. System nach einem der Ansprüche 3 bis 6, wobei die erste formatierte Datenfolge umfasst: eine oder mehrere weitere Datenfolgen, wobei jede der weiteren Datenfolgen jeweils eine Ablaufverfolgungsinformation und eine Zeitinformation umfasst; und eine Information, die dazu ausgelegt ist, eine Anzahl von Datenfolgen in der ersten formatierten Datenfolge zu identifizieren.
  8. System nach einem der Ansprüche 3 bis 7, wobei die erste formatierte Datenfolge eine Prüfsumme umfasst.
  9. System nach einem der Ansprüche 3 bis 8, wobei die erste formatierte Datenfolge mindestens 32 Bits umfasst.
  10. System nach einem der vorhergehenden Ansprüche, wobei die integrierte Schaltung einen Basisbandchip umfasst.
  11. System nach einem der vorhergehenden Ansprüche, wobei die erste Komponente eine Softwarekomponente umfasst und die erste Ablaufverfolgungsinformation durch die Softwarekomponente erzeugt wird.
  12. System nach einem der vorhergehenden Ansprüche, wobei die erste Komponente eine Hardwarekomponente umfasst und die erste Ablaufverfolgungsinformation durch die Hardwarekomponente erzeugt wird.
  13. System nach einem der vorhergehenden Ansprüche, ferner umfassend: eine zweite Komponente, die zum Erzeugen einer zweiten Ablaufverfolgungsinformation ausgelegt ist, wobei die erste Einheit dazu ausgelegt ist, eine zweite Zeitinformation basierend auf einer Zeit des Erzeugens der zweiten Ablaufverfolgungsinformation zu erzeugen, und dazu ausgelegt ist, eine zweite Datenfolge zu erzeugen, welche die zweite Ablaufverfolgungsinformation und die zweite Zeitinformation umfasst.
  14. System nach Anspruch 13, wobei die erste Einheit eine erste Untereinheit umfasst, die in Hardware implementiert und ausgelegt ist zum: Empfangen der ersten Ablaufverfolgungsinformation von der ersten Komponente an einem ersten Eingang; Empfangen der zweiten Ablaufverfolgungsinformation von der zweiten Komponente an einem zweiten Eingang; und Ausgeben eines gemultiplexten Datenstroms, der die erste Datenfolge und die zweite Datenfolge umfasst.
  15. System nach Anspruch 14, wobei die erste Einheit eine zweite Untereinheit umfasst, die in Hardware implementiert ist, wobei die zweite Untereinheit der ersten Untereinheit nachgeschaltet ist und so ausgelegt ist, eine formatierte Datenfolge basierend auf dem gemultiplexten Datenstrom und basierend auf einem Datenformat eines Protokolls zu erzeugen.
  16. System nach Anspruch 14 oder 15, wobei die erste Untereinheit einen Pufferspeicher umfasst, der mit dem ersten Eingang der ersten Untereinheit gekoppelt ist.
  17. System nach einem der Ansprüche 3 bis 16, ferner umfassend: einen Speicher, der zum Speichern der ersten formatierten Datenfolge ausgelegt ist.
  18. System nach einem der Ansprüche 3 bis 17, ferner umfassend: einen Prozessor, der mit der ersten Einheit gekoppelt und zum Verarbeiten der ersten formatierten Datenfolge ausgelegt ist.
  19. System nach einem der Ansprüche 3 bis 18, ferner umfassend: einen ersten Ausgabeport, der dazu ausgelegt ist, die erste formatierte Datenfolge einer externen Komponente bereitzustellen.
  20. System nach einem der vorhergehenden Ansprüche, ferner umfassend: einen zweiten Ausgabeport, der dazu ausgelegt ist, die erste Datenfolge einer externen Ablaufverfolgungseinheit bereitzustellen.
  21. System, umfassend eine integrierte Schaltung, die Folgendes umfasst: eine Komponente, die zum Erzeugen einer Ablaufverfolgungsinformation ausgelegt ist; und eine Einheit, die in Hardware implementiert und dazu ausgelegt ist, eine formatierte Datenfolge basierend auf einem Datenformat eines Protokolls zu erzeugen, wobei die formatierte Datenfolge die Ablaufverfolgungsinformation umfasst.
  22. Verfahren, umfassend: Erzeugen einer Ablaufverfolgungsinformation durch eine Komponente einer integrierten Schaltung; Erzeugen einer Zeitinformation durch eine Einheit der integrierten Schaltung, wobei die Einheit in Hardware implementiert ist, und die Zeitinformation auf einer Zeit des Erzeugens der Ablaufverfolgungsinformation basiert; und Erzeugen einer Datenfolge durch die Einheit, wobei die Datenfolge die Ablaufverfolgungsinformation und die Zeitinformation umfasst.
  23. Verfahren, umfassend: Erzeugen einer Ablaufverfolgungsinformation durch eine Komponente einer integrierten Schaltung; und Erzeugen einer formatierten Datenfolge basierend auf einem Datenformat eines Protokolls, wobei die formatierte Datenfolge die Ablaufverfolgungsinformation umfasst und durch eine Einheit der integrierten Schaltung erzeugt wird, wobei die Einheit in Hardware implementiert ist.
DE102013102912A 2012-03-22 2013-03-21 System und Verfahren zur Verarbeitung von Ablaufverfolgungsinformationen Withdrawn DE102013102912A1 (de)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
DE102013102912A1 true DE102013102912A1 (de) 2013-09-26

Family

ID=49112361

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013102912A Withdrawn DE102013102912A1 (de) 2012-03-22 2013-03-21 System und Verfahren zur Verarbeitung von Ablaufverfolgungsinformationen

Country Status (3)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3191965A4 (de) * 2014-09-12 2019-01-09 Intel Corporation Debug-architektur mit geringer leistungsaufnahme für system-auf chips (socs) und systeme

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9830245B2 (en) 2013-06-27 2017-11-28 Atmel Corporation Tracing events in an autonomous event system
US9645870B2 (en) * 2013-06-27 2017-05-09 Atmel Corporation System for debugging DMA system data transfer
US9256399B2 (en) 2013-06-27 2016-02-09 Atmel Corporation Breaking program execution on events
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 华为技术有限公司 数据的重组方法和装置
US10990506B2 (en) 2019-04-11 2021-04-27 Microsoft Technology Licensing, Llc Cross-thread memory indexing in time-travel debugging traces
US11068378B2 (en) * 2019-04-11 2021-07-20 Microsoft Technology Licensing, Llc Memory value exposure in time-travel debugging traces

Family Cites Families (11)

* 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
US7069176B2 (en) * 2003-08-07 2006-06-27 Arm Limited Trace source correlation in a data processing apparatus
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
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
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3191965A4 (de) * 2014-09-12 2019-01-09 Intel Corporation Debug-architektur mit geringer leistungsaufnahme für system-auf chips (socs) und systeme

Also Published As

Publication number Publication date
US20130254596A1 (en) 2013-09-26
CN103324591B (zh) 2016-12-28
US8924796B2 (en) 2014-12-30
CN103324591A (zh) 2013-09-25

Similar Documents

Publication Publication Date Title
DE102013102912A1 (de) System und Verfahren zur Verarbeitung von Ablaufverfolgungsinformationen
DE60221042T2 (de) Hybride parallel-seriell-busschnittstelle
DE112015006944B4 (de) Einrichtung, System und Verfahren zum Ermöglichen einer Kommunikation über eine Verbindung mit einer Vorrichtung außerhalb einer Baugruppe
DE102013020277A1 (de) Bit-timing-symmetrisierung
DE102015102760B4 (de) Taktlose serielle Slave-Vorrichtung
EP3192219A1 (de) Verfahren zur seriellen übertragung eines rahmens über ein bussystem von einem sender zu mindestens einem empfänger und teilnehmern eines bussystems
DE112004002567T5 (de) Lane-zu-Lane-Entzerrung über Nicht-Daten-Symbolverarbeitung für eine serielle Punkt-zu-Punkt-Verbindung
DE3035506A1 (de) Daten-dialogsystem
DE112004002503T5 (de) Serielle Ethernet Gerät-zu-Gerät-Verbindung
DE112020003973T5 (de) Ethernet-schnittstelle und zugehörige systeme, verfahren und vorrichtungen
DE102007029833A1 (de) Datenmodifikationsmodul
DE112016001258T5 (de) Multi-gigabit drahtloses tunnelsystem
DE60221271T2 (de) Von einer basisstation zum transferieren von daten verwendetes verfahren
DE2707820C3 (de) Datenverarbeitungsanlage
CN105657293B (zh) 多层信号叠加的多屏拼接处理器及其多层信号叠加方法
DE102020134479A1 (de) Senden von Displayport 2.0-Informationen unter Verwendung von USB4
CN102780598B (zh) 一种总线通信方法、总线通信单元及系统
DE102010061734B4 (de) Datenkommunikationsschnittstelle für die Datenkommunikation zwischen einem Bussystem und einem Mikrocontroller
EP1357707B1 (de) Verfahren zur Übertragung von Nachrichten auf einem Bussystem
WO2012110541A1 (de) Verfahren zum übertragen von daten über einen synchronen seriellen datenbus
DE60318542T2 (de) Verfahren und Apparat zur Übertragung sehr hoher Datenraten über eine Zwischen- oder Rückwandleiterplatte
DE112021006347T5 (de) Systeme und techniken zur leitungsdiagnose
DE102021132691A1 (de) Verfahren zur entfernung von eingeführten dribble-bits und regenerierung von verlorengegangenen sync-bits aufgrund von rauschunterdrückungsverzögerungen bei verstärkung von usb-high-speed-paketen
DE602004009310T2 (de) System und verfahren zur kommunikation über einen bus
DE10336121B4 (de) Serielle asynchrone Schnittstelle mit SLIP-Kodierung/Dekodierung und CRC-Prüfung im Sende- und Empfangspfad

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: INTEL DEUTSCHLAND GMBH, DE

Free format text: FORMER OWNER: INTEL MOBILE COMMUNICATIONS GMBH, 85579 NEUBIBERG, DE

R082 Change of representative

Representative=s name: PATENTANWAELTE LAMBSDORFF & LANGE, DE

Representative=s name: LAMBSDORFF & LANGE PATENTANWAELTE PARTNERSCHAF, DE

R082 Change of representative

Representative=s name: BARDEHLE PAGENBERG PARTNERSCHAFT MBB PATENTANW, DE

R081 Change of applicant/patentee

Owner name: APPLE INC., CUPERTINO, US

Free format text: FORMER OWNER: INTEL DEUTSCHLAND GMBH, 85579 NEUBIBERG, DE

R082 Change of representative

Representative=s name: BARDEHLE PAGENBERG PARTNERSCHAFT MBB PATENTANW, DE

R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee