DE102014211521A1 - Verfolgen von Ereignissen in einem autonomen Ereignissystem - Google Patents

Verfolgen von Ereignissen in einem autonomen Ereignissystem Download PDF

Info

Publication number
DE102014211521A1
DE102014211521A1 DE102014211521.3A DE102014211521A DE102014211521A1 DE 102014211521 A1 DE102014211521 A1 DE 102014211521A1 DE 102014211521 A DE102014211521 A DE 102014211521A DE 102014211521 A1 DE102014211521 A1 DE 102014211521A1
Authority
DE
Germany
Prior art keywords
event
signaling events
signaling
unmasked
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.)
Withdrawn
Application number
DE102014211521.3A
Other languages
English (en)
Inventor
Ingar Hanssen
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.)
Atmel Corp
Original Assignee
Atmel Corp
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 Atmel Corp filed Critical Atmel Corp
Publication of DE102014211521A1 publication Critical patent/DE102014211521A1/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/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/835Timestamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Systeme und Verfahren zur Erzeugung von Ereignisverfolgungsaufzeichnungen werden beschrieben. Ein Beispielsystem enthält ein Ereignissubsystem, das Signalisierungsereignisse empfängt, die von einem oder von mehreren zugehörigen Peripheriegeräten erzeugt werden. Das System enthält ein Verfolgungsmodul, das mit dem Ereignissubsystem gekoppelt ist. Das Verfolgungsmodul empfängt die Signalisierungsereignisse, tastet die empfangenen Signalisierungsereignisse ab, empfängt Zeitstempel und erzeugt Ereignisverfolgungsaufzeichnungen. Jede Ereignisverfolgungsaufzeichnung enthält die abgetasteten Signalisierungsereignisse und einen entsprechenden Zeitstempel, der die Abtastzeit angibt. Das Verfolgungsmodul kann Speicheranweisungen erzeugen und die Ereignisverfolgungsaufzeichnungen und die Speicheranweisungen als Ausgabe liefern.

Description

  • Technischer Bereich
  • Die vorliegende Offenbarung bezieht sich allgemein auf Elektronik, insbesondere auf Steuereinheiten.
  • Hintergrund
  • Mikrocontroller können zur Steuerung von anderen Geräten verwendet werden. Geräte, die durch Mikrocontroller gesteuert werden können, beinhalten Analog-Digital-Wandler, Digital-Analog-Wandler, Ein- und Ausgabeanschlüsse, DMA-Controller, Coprozessoren und Speicher.
  • Die Geräte, die durch einen Mikrocontroller gesteuert werden, können Informationen in Form eines Signalisierungsereignisses senden und empfangen. Signalisierungsereignisse können verwendet werden, um den Mikrocontroller und/oder die anderen Geräte über Ereignisse zu informieren, wie z. B. eine Zustandsänderung eines bestimmten Gerätes. Ein Gerät kann auf ein Signalisierungsereignis, das von einem anderen Gerät empfangen wir, reagieren oder der Mikrocontroller kann eine entsprechende Aktion ausführen.
  • Eine Erhöhung der Zahl der Geräte in einem System kann die Zahl der auftretenden Signalisierungsereignisse erhöhen. In manchen Architekturen kann ein Ereignissystem zur Verfügung gestellt werden, dass Multiplexer beinhaltet, die Signalisierungsereignisse zwischen den Geräten und dem Mikrocontroller weiterleiten oder routen.
  • In einem Aspekt beinhaltet ein Steuersystem ein Ereignissubsystem, das Signalisierungsereignisse empfängt, die von einem oder von mehreren zugehörigen Peripheriegeräten erzeugt werden; und ein Verfolgungsmodul, das mit dem Ereignissubsystem gekoppelt ist. Das Verfolgungsmodul empfängt die Signalisierungsereignisse, tastet die empfangenen Signalisierungsereignisse ab, empfängt Zeitstempel, erzeugt Ereignisverfolgungsaufzeichnungen, wobei jede Ereignisverfolgungsaufzeichnung ein abgetastetes Signalisierungsereignis und einen jeweiligen Zeitstempel beinhaltet, der die Abtastzeit angibt, erzeugt Speicherbefehle und liefert die Ereignisverfolgungsaufzeichnungen und die Speicherbefehle als Ausgaben.
  • In einem anderen Aspekt beinhaltet ein Verfahren das Empfangen von Signalisierungsereignissen für ein oder mehrere Peripheriegeräte; Empfangen von Zeitstempeln, die einer Ereigniszeit für ein gegebenes Signalisierungsereignis entsprechend; Abtasten der empfangenen Signalisierungsereignisse, inklusive Identifizieren von einem oder mehreren unmaskierten Signalisierungsereignissen; Empfangen von Zeitstempeln, die einer Abtastzeit für das eine oder die mehreren unmaskierten Signalisierungsereignisse entsprechen; Erzeugen von Ereignisverfolgungsaufzeichnungen, wobei jede Ereignisverfolgungsaufzeichnung ein abgetastetes unmaskiertes Signalisierungsereignis und einen entsprechenden Zeitstempel enthält, der die Abtastzeit angibt; Erzeugen von Speicherbefehlen als Reaktion auf Änderungen der unmaskierten Signalisierungsereignisse; und Speichern einer Ereignisverfolgungsaufzeichnung als Reaktion auf einen Speicherbefehl in einem externen Gerät.
  • Implementierungen können ein oder mehrere der folgenden Merkmale enthalten. Das Verfolgungsmodul kann ein Auffangmodul, das die empfangenen Signalisierungsereignisse abtastet, ein Kombinationsmodul, das die abgetasteten Signalisierungsereignisse und die jeweiligen Zeitstempel kombiniert und eine Ereignisverfolgungsaufzeichnung erzeugt, und ein Maskierungsmodul enthalten, das Maskierungsdaten empfängt, wobei die Maskierungsdaten Null oder mehr Signalisierungsereignisse identifizieren, die empfangenen Signalisierungsereignisse mit den Maskierungsdaten vergleicht und unmaskierte Signalisierungsereignisse als die abgetasteten Signalisierungsereignisse bestimmt, die nicht mit den durch die Maskierungsdaten identifizierten Signalisierungsereignissen übereinstimmen. Das Verfolgungsmodul kann ein Detektionsmodul enthalten, das Änderungen an den unmaskierten Signalisierungsereignissen detektiert und abhängig davon Speicherbefehle erzeugt, um das Speichern der Ereignisverfolgungsaufzeichnungen zu ermöglichen.
  • Das Steuersystem kann ein Speichermodul zur Speicherung von einer oder mehreren Ereignisverfolgungsaufzeichnungen als Reaktion auf den Empfang entsprechender Speicherbefehle enthalten, wobei das Speichermodul ein Überlaufsignal zur Verfügung stellt, um ein oder mehrere Überlaufbits einer gegenwärtigen Ereignisverfolgungsaufzeichnung nach erfolgloser Speicherung einer vorherigen Ereignisverfolgungsaufzeichnung oder nach erfolgreicher Speicherung der vorherigen Ereignisverfolgungsaufzeichnung zu setzen und zu löschen.
  • Eine Änderung eines unmaskierten Signalisierungsereignisses beinhaltet ein Setzen oder Zurücksetzen des unmaskierten Signalisierungsereignisses. Das Erzeugen des Speicherbefehls kann als Reaktion auf eine Änderung eines einzigen unmaskierten Signalisierungsereignisses oder als Reaktion auf eine Änderung einer Kombination von unmaskierten Signalisierungsereignissen erfolgen. Das Steuersystem kann Bestandteil einer integrierten Schaltung sein, die in einem Chip enthalten ist. Das Steuersystem kann einen oder mehrere Multiplexer enthalten, und die Multiplexer können die Signalisierungsereignisse in Ereigniskanälen leiten.
  • Das Steuersystem kann mit einem oder mit mehreren Geräten zum Speichern und/oder Betrachten der Ereignisverfolgungsaufzeichnungen gekoppelt sein. Die Geräte können einen dezidierten Ereignisverfolgungspuffer, einen dezidierten physikalischen Verfolgungsanschluss, einen bestehenden Verfolgungsanschluss, wobei der bestehende Verfolgungsanschluss dazu eingerichtete ist, geteilt zu werden, oder einen Onboard-Speicherdirektzugriffskanal enthalten, der mit einem statischen Onboard-RAM gekoppelt ist..
  • Die Identifizierung von einem oder von mehreren Signalisierungsereignissen kann das Empfangen von Maskierungsdaten, die Null oder mehrere Signalisierungsereignisse identifizieren, das Vergleichen der abgetasteten Signalisierungsereignisse mit den Maskierungsdaten und das Bestimmen von Maskierungsdaten als die abgetasteten Signalisierungsereignisse beinhalten, die nicht mit den durch die Maskierungsdaten identifizierten Signalisierungsereignissen übereinstimmen.
  • Das Erzeugen einer Ereignisverfolgungsaufzeichnung kann das Empfangen eines Überlaufsignals, wobei das Überlaufsignal den Erfolg oder Nicht-Erfolg eines vorherigen Speicherbefehls zum Speichern einer Ereignisverfolgungsaufzeichnung angibt, und das Modifizieren eines Überlaufbits einer gegenwärtigen Ereignisverfolgungsaufzeichnung gemäß dem empfangenen Überlaufsignal beinhalten, wobei das Überlaufbit gesetzt wird, wenn eine vorherige Ereignisverfolgungsaufzeichnung nicht gespeichert werden konnte. Ein Überlaufbit einer gegenwärtigen Ereignisverfolgungsaufzeichnung kann gelöscht werden, wenn eine vorherige Ereignisverfolgungsaufzeichnung erfolgreich gespeichert wurde.
  • Aspekte der Erfindung können keinen, einen, oder mehrere der folgen Vorteile implementieren. Die vorgeschlagenen Systeme und Verfahren können in Verbindung mit einem Ereignisspeichermodul verwendet werden, um so eine Speicherung der Signalisierungsereignisse zusammen mit einem Zeitstempel zu ermöglichen, der eine entsprechende Zeit des Signalisierungsereignisses angibt.
  • Die Details von einer oder mehreren Implementierungen werden im Folgenden in den beigefügten Zeichnungen und der untenstehenden Beschreibung erläutert. Andere Aspekte, Merkmale und Vorteile ergeben sich aus der Beschreibung, den Zeichnungen und den Ansprüchen.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Diagramm eines beispielhaften Controllers.
  • 2 ist ein Diagramm eine beispielhaften Verfolgungsmoduls.
  • 3 ist ein Flussdiagramm eines beispielhaften Verfahrens zur Speicherung von Ereignisverfolgungsaufzeichnungen.
  • 4 ist ein Flussdiagramm eines beispielhaften Verfahrens zur Bestimmung unmaskierter Ereignisse.
  • 5 ist ein Flussdiagramm eines beispielhaften Verfahrens zum Setzen/Löschen eines Überlaufbits.
  • 6 ist ein Diagramm eines beispielhaften Ereignissubsystems.
  • Detaillierte Beschreibung
  • Mikrocontroller können zur Steuerung von einem oder mehreren anderen Geräten verwendet werden (die im Folgenden als Peripheriegeräte bezeichnet werden). Peripheriegeräte können Befehle von einem zugehörigen Mikrocontroller in einem Gerät empfangen. Ein Ereignissystem kann in dem Gerät enthalten sein, das eine direkte Kommunikation und Signalisierung von Peripheriegerät zu Peripheriegerät ermöglicht. Das Ereignissystem kann verwendet werden, um Zustandsänderungen in einem Peripheriegerät an ein oder mehrere andere Peripheriegeräte zu übertragen, um so automatisch Aktionen in den anderen Peripheriegeräten auszulösen. Das Ereignissystem kann eine autonome Steuerung und Interaktion der Peripheriegeräte ohne die Verwendung von Ressourcen, wie z. B. einer System-CPU (die Interrupts erzeugt) oder eines DMA-Controllers, ermöglichen, und somit die Komplexität, Größe und Ausführungszeit eines auf dem Mikrocontroller laufenden Programms verringern. Signalisierungsereignisse können direkt an andere Peripheriegeräte unter Verwendung eines Ereignisleitnetzwerks übergeben werden. Zusätzlich können Signalisierungsereignisse auch durch ein auf dem Mikrocontroller laufendes Programm erzeugt werden.
  • Bezugnehmend auf 1 wird ein Beispiel eines Controllers 100 gezeigt, der ein Ereignissubsystem 130 enthält, das eine Anzahl von Signalisierungsereignissen empfängt. Das Ereignissubsystem 130 empfängt die Signalisierungsereignisse 120 über verschiedene Eingangsanschlüsse 110 und liefert die Signalisierungsereignisse 120 über die Ereigniskanäle 112 an ein Verfolgungsmodul 150. Das Verfolgungsmodul 150 empfängt über den Eingangsanschluss 114 auch die von dem Controller 100 erzeugten Systemzeitstempel 135. Auf Basis der empfangenen Signalisierungsereignisse 120 und der Zeitstempel 135 erzeugt das Verfolgungsmodul 150 Ereignisverfolgungsaufzeichnungen und Speicherbefehle. Die Ereignisverfolgungsaufzeichnungen und Speicherbefehle werden jeweils über die Ausgangsanschlüsse 115 und 117 an ein Speichermodul 160 geliefert. Das Speichermodul 150 wird untenstehend im Zusammenhang mit 2 beschrieben.
  • Das Speichermodul 160 empfängt die Ereignisverfolgungsaufzeichnungen über den Eingangsanschluss 124 und die Speicherbefehle über den Eingangsanschluss 126. Als Reaktion auf den Empfang eines Speicherbefehls von dem Eingangsanschluss 126 speichert das Speichermodul 160 die entsprechende von dem Eingangsanschluss 124 empfangene Ereignisverfolgungsaufzeichnung. Das Speichermodul 160 speichert eine oder mehrere Ereignisverfolgungsaufzeichnungen 140 und kann die gespeicherten Ereignisverfolgungsaufzeichnungen 140 an dem Ausgangsanschluss 124 zur Verfügung stellen.
  • Das Ereignissubsystem 130 empfängt die Signalisierungsereignisse 120 von Peripheriegeräten und verteilt die Signalisierungsereignisse über Ereigniskanäle unter den Peripheriegeräten. Ein Beispiel eine Ereignissubsystem 130 wird in Verbindung mit 6 beschrieben. Das Ereignissubsystem 130 kann Multiplexer verwenden, um Ereignissignale zu Ereignisverbrauchern zu leiten oder zu routen, die von den Ereignisquellen empfangen werden. Die von den Ereigniskonsumenten (den die Ereignisse überwachenden Geräten) empfangenen Signalisierungsereignisse können eine oder mehrere entsprechende Aktionen auslösen. In dem Ereignissubsystem 130 kann es eine Weiterleitungsverzögerung geben, die eine Verzögerung zwischen der Erzeugung/dem Empfang eines Signalisierungsereignisses und dem Zeitpunkt, zu dem die Ereignisaktion in anderen Peripheriegeräten ausgelöst wird, angibt.
  • In manchen Implementierungen kann das Speichermodul 160 in der Form eines dezidierten Ereignisverfolgungspuffers zur Speicherung der Ereignisverfolgungsaufzeichnungen vorliegen. In manchen Implementierungen kann das Speichermodul 160 mit einem dezidierten physikalischen Verfolgungsanschluss gekoppelt sein oder kann mit einem bestehenden Verfolgungsanschluss gekoppelt sein, der dazu konfiguriert ist, zur Speicherung der Ereignisverfolgungsaufzeichnungen geteilt zu werden. In manchen Implementierungen kann das Speichermodul 160 mit einem Onboard-Direktzugriffspeicherkanal verbunden sein, der mit einem Onboard-SRAM (static random access memory) zur Speicherung der Ereignisverfolgungsaufzeichnungen gekoppelt ist. In manchen Implementierungen kann das Speichermodul 160 mit einem externen Puffer gekoppelt sein, der einen Ethernet-Anschluss oder einen USB-Anschluss (universal serial bus) verwendet.
  • In manchen Implementierungen kann das Speichermodul 160 ein Überlaufsignal 145 über den Ausgangsanschluss 122 des Speichermoduls 160 an den Eingangsanschluss 118 des Verfolgungsmodul 150 liefern. Das Überlaufsignal 145 kann durch das Speichermodul 160 verwendet werden, um dem Verfolgungsmodul 150 anzuzeigen, dass das Speichermodul 160 die letzte Speicheranweisung erfolgreich/nicht erfolgreich ausgeführt hat, und dass eine Ereignisverfolgungsaufzeichnung, die mit der neuester Speicheranweisung verknüpft war, gespeichert/nicht gespeichert wurde. Zum Beispiel kann ein Spannungswert für das Überlaufsignal 145 verwendet werden, wobei ein hoher Spannungswert einen Erfolg und ein niedriger Spannungswert einen Misserfolg angeben kann, oder umgekehrt.
  • In manchen Implementierungen kann die Steuereinheit 100 als integrierte Schaltung auf einem Mikrocontroller-Chip implementiert sein und die Systemzeitstempel können auf einem Systemtakt auf dem Chip basieren. In manchen Implementierungen können die am Ausgang 128 des Speichermoduls 160 erzeugten Ereignisverfolgungsaufzeichnungen 140 mit einer Anweisungsverfolgung des Mikrocontrollerprogramms kombiniert werden, wobei beide Verfolgungen die gleichen Zeitstempel verwenden und eine kombinierte Verfolgung der Programmanweisungen und der Signalisierungsereignisse produzieren.
  • 2 illustriert ein Beispiel eines Verfolgungsmoduls 150. Das Verfolgungsmodul 150 beinhaltet ein Auffangregistermodul 180. Das Auffangregistermodul 180 empfängt die Signalisierungsereignisse 120 über die Ereigniskanäle 112. Das Auffangregistermodul 180 kann dazu konfiguriert sein, die Signalisierungsereignisse abzutasten und zu halten, die durch die Ereigniskanäle 112 passieren. Das Auffangregistermodul 180 transferiert die abgetasteten Signalisierungsereignisse durch den Ausgangsanschluss 172 an ein Maskierungsmodul 185. In manchen Implementierungen kann ein Signalisierungsereignis synchron abgetastet werden. In manchen Implementierungen könne Flankendetektoren zur asynchronen Abtastung der Signalisierungsereignisse verwendet werden.
  • Das Maskierungsmodul 185 empfängt die abgetasteten Signalisierungsereignisse über den Eingangsanschluss 174. Das Maskierungsmodul 185 empfängt auch die Maskierungsdaten 170 über den Eingangsanschluss 176. Die Maskierungsdaten geben die Signalisierungsereignisse an, die maskiert werden können. Die maskierten Signalisierungsereignisse sind die Ereignisse, die nicht verfolgt/überwacht werden, und die in manchen Implementierungen verworfen werden können. Basierend auf den empfangenen Maskierungsdaten kann das Maskierungsmodul 185 die Signalisierungsereignisse, die nicht überwacht oder verfolgt werden, daran hindern, an den Ausgangsanschluss 178 zu gelangen. Nur die nicht maskierten Signalisierungsereignisse, d. h. die unmaskierten Signalisierungsereignisse, können an den Ausgangsanschluss 178 des Maskierungsmoduls gelangen. In manchen Implementierungen kann das Maskierungsmodul 185 Signalisierungsereignisse mit niedriger Priorität maskieren. In manchen Implementierungen könnte das Maskierungsmodul 185 kein einziges Signalisierungsereignis maskieren.
  • Das Detektionsmodul 190 empfängt die unmaskierten Signalisierungsereignisse über den Eingangsanschluss 182. Wenn eine Änderung eines unmaskierten Signalisierungsereignisses durch das Detektionsmodul 190 detektiert wird, kann eine Speicheranweisung 177 erzeugt werden und über den Ausgangsanschluss 117 zur Verfügung gestellt werden. Das Detektionsmodul 190 kann eine Speicheranweisung als Reaktion auf eine Änderung eines jeden einzelnen unmaskierten Signalisierungsereignisses erzeugen. In manchen Implementierungen kann das Detektionsmodul 190 die Speicheranweisung als Reaktion auf eine Änderung einer Kombination von einer oder mehreren unmaskierten Signalisierungsereignissen erzeugen, die im wesentlichen simultan, der Reihe nach oder in einem gegebenen Zeitraum auftreten. In manchen Implementierungen beinhaltet eine Änderung eines Signalisierungsereignisses ein Setzen und/oder Zurücksetzen eines Signalisierungsereignisses.
  • Das Kombinationsmodul 195 empfängt die abgetasteten Signalisierungsereignisse über den Eingangsanschluss 186 und die Zeitstempel 135 über den Eingangsanschluss 114. Das Kombinationsmodul 195 kann die empfangenen abgetasteten Signalisierungsereignisse und einen Zeitstempel kombinieren und eine Ereignisverfolgungsaufzeichnung erzeugen. Die erzeugten Ereignisverfolgungsaufzeichnungen werden am Ausgangsanschluss 115 des Kombinationsmoduls 195 zur Verfügung gestellt. In manchen Implementierungen kann das Kombinationsmodul 195 ein Überlaufsignal 145 über den Eingangsanschluss 118 empfangen und das Überlaufsignal 145 in die Ereignisverfolgungsaufzeichnungen einbetten. In manchen Implementierungen kann das Kombinationsmodul 195 einen Pufferspeicher beinhalten, um die abgetasteten Signalisierungsereignisse und einen Zeitstempel zu kombinieren und damit eine Ereignisverfolgungsaufzeichnung zu erzeugen. Der Pufferspeicher kann zum Beispiel ein oder mehrere Bits, die für die abgetasteten Signalisierungsereignisse bestimmt sind, ein oder mehrere Bits, die für den Zeitstempel bestimmt sind, und zumindest ein Bit zur Einbettung des Überlaufsignals beinhalten.
  • Wie im Zusammenhang mit 1 beschrieben wurde, können die jeweiligen Ausgangsanschlüsse 115 und 117 des Kombinationsmoduls 195 und des Detektionsmoduls 190 mit dem Speichermodul 160 gekoppelt sein, um die Speicherung der Ereignisverfolgungsaufzeichnungen zu ermöglichen. Das Speichermodul 160 kann das Überlaufsignal 145 erzeugen, um dem Kombinationsmodul 195 die erfolgreiche oder gescheiterte Durchführung der Speicheranweisung anzuzeigen. In manchen Implementierungen, beinhaltet jede Ereignisverfolgungsaufzeichnung ein einzelnes Überlaufbit und jede gespeicherte Ereignisverfolgungsaufzeichnung kann anzeigen, ob eine vorherige Ereignisverfolgungsaufzeichnung erfolgreich/nicht erfolgreich gespeichert wurde. Zum Beispiel kann ein Benutzer der Ereignisverfolgungsaufzeichnungen durch Überprüfen des Überlaufbits herausfinden, ob eine Lücke in den gespeicherten Signalisierungsereignissen vorliegt. In manchen Implementierungen können die Ereignisverfolgungsaufzeichnungen zwischen einem und zehn (z. B. fünf) Überlaufbits beinhalten. In manchen Implementierungen können die Überlaufbits eine Anzahl von aufeinander folgenden Fehlern oder Erfolgen angeben.
  • In manchen Implementierungen können zwei oder mehrere Module des Auffangregistermoduls 180, des Maskierungsmoduls 185, des Detektionsmoduls 190 und des Kombinationsmoduls 195 zu einem einzigen Anweisungsmodul vereint sein, das die Funktionen der Kombination ausführt.
  • In 3 ist ein Flussdiagramm eines Verfahrens 300 dargestellt. Zum Beispiel kann das Verfahren 300 durch das System 100 der 1 ausgeführt werden. Das Verfahren beinhaltet das Empfangen von Signalisierungsereignissen für Peripheriegeräte (310). Jedes Peripheriegerät kann ein oder mehrere Signalisierungsereignisse als Reaktion auf eine Bedingung, wie z. B. eine Zustandsänderung erzeugen. Die Signalisierungsereignisse können durch ein beispielhaftes Ereignissubsystem 130, das in 1 dargestellt ist, empfangen werden. Die Signalisierungsereignisse der Peripheriegeräte können parallel zu einander erzeugt werden und die an das Ereignissubsystem übertragenen Signalisierungsereignisse können daher simultan zur Verfügung stehen.
  • Die Zeitstempel werden empfangen (320). Zum Beispiel überträgt das Ereignissubsystem 130 die Signalisierungsereignisse auf parallelen Ereigniskanälen 112 und das Verfolgungsmodul 150 kann auf die Ereigniskanäle zugreifen und ein oder mehrere Signalisierungsereignisse basierend auf dem Zugriff empfangen. Das Verfolgungsmodul kann auch Zeitstempel empfangen. In manchen Implementierungen werden Systemzeitstempel intern mit Bezug auf einen Systemtakt des Systems 100 erzeugt und die Systemzeitstempel können jedem Modul des Systems 100 zur Verfügung gestellt werden. In manchen Implementierungen ist der Systemtakt, der die Erzeugung der Zeitstempel unterstützt, eine präzise Uhr.
  • Die empfangenen Signalisierungsereignisse werden abgetastet und unmaskierte Signalisierungsereignisse werden identifiziert (330). Zum Beispiel wird das Abtasten der Signalisierungsereignisse durch ein Auffangregistermodul 180 durchgeführt. Das Leiten der Signalisierungsereignisse zwischen den Peripheriegeräten könnte durch das Abtasten der Signalisierungsereignisse nicht beeinträchtigt werden. Die Signalisierungsereignisse können ein paar Taktzyklen dauern und die Abtastzeitdauer kann so eingestellt werden, dass sichergestellt ist, dass keine Signalisierungsereignisse verloren gehen. Ein Teil der im Verfolgungsmodul 150 ausgeführten Schritte werden im Zusammenhang mit 4 beschrieben, wobei eine Gruppe der empfangenen und abgetasteten Signalisierungsereignisse zur Überwachung/für Aktionen ausgewählt werden können und der Rest verworfen werden kann. Zum Beispiel kann das Maskierungsmodul 185 die empfangenen Signalisierungsereignisse ausfiltern und nur die unmaskierten Signalisierungsereignisse werden übertragen.
  • In manchen Implementierungen können die Signalisierungsereignisse eine sehr kurze Zeitdauer haben und eine synchrone Abtastung könnte nicht durchgeführt werden. In manchen Implementierungen kann das Auffangregistermodul Flankendetektoren zur asynchronen Detektion und Zwischenspeicherung der Signalisierungsereignisse verwenden.
  • Ereignisverfolgungsaufzeichnungen werden erzeugt, wobei jede Ereignisverfolgungsaufzeichnung abgetastete Signalisierungsereignisse und einen Zeitstempel enthält. Zum Beispiel werden Ereignisverfolgungsaufzeichnung durch das Kombinationsmodul 195 erzeugt und jede Ereignisverfolgungsaufzeichnung enthält eine Gruppe von einem oder mehreren Signalisierungsereignissen und einen Zeitstempel, der einen entsprechenden Abtastzeitpunkt angibt. In manchen Implementierungen ist der Zeitpunkt des Zeitstempels eine mit der Erzeugung des Signalisierungsereignisses verbundene Zeit. In manchen Implementierungen kann das Kombinationsmodul 195 ein oder mehrere Überlaufbits in jede Ereignisverfolgungsaufzeichnung einbetten. Das Setzen oder Löschen des/der Überlaufbits der Ereignisverfolgungsaufzeichnungen wird im Zusammenhang mit 5 beschrieben.
  • Speicheranweisungen werden als Reaktion auf Änderungen von unmaskierten Signalisierungsereignissen erzeugt (350). In manchen Implementierungen kann eine Speicheranweisung erzeugt werden, wenn eine Änderung von einem oder von mehreren der unmaskierten Signalisierungsereignissen detektiert wird. Zum Beispiel kann die Detektion einer Änderung der unmaskierten Signalisierungsereignisse in dem Detektionsmodul 190 auftreten, wobei auf eine Änderung eines unmaskierten Signalisierungsereignisses von gesetzt auf gelöscht und/oder von gelöscht auf gesetzt hin eine Speicheranweisung erzeugt werden kann und die Speicheranweisung dafür sorgen kann, dass eine beispielhaftes Speichermodul 160 eine Ereignisverfolgungsaufzeichnung speichert. In manchen Implementierungen kann eine Änderung einer Kombination von Signalisierungsereignissen von gesetzt nach gelöscht und/oder von gelöscht nach gesetzt eine Speicheranweisung erzeugen.
  • Als Reaktion auf die Ausgabe/den Empfang der Speicheranweisung wird eine Ereignisverfolgungsaufzeichnung gespeichert (360). Zum Beispiel empfängt ein bezüglich des Verfolgungsmoduls 150 externes Speichermodul 160 die Speicheranweisung und die Ereignisverfolgungsaufzeichnungen durch die Anschlüsse 126 bzw. 124. Wenn eine Speicheranweisung durch das Speichermodul 160 empfangen wird, speichert das Speichermodul 160 als Reaktion darauf den Inhalt der Ereignisverfolgungsaufzeichnung, die am Eingangsanschluss 124 des Modul 160 geliefert wird. In manchen Implementierungen werden ein oder mehrere Ereignisverfolgungsaufzeichnungen in dem Speichermodul 160 gespeichert.
  • In manchen Implementierungen können die Systemzeitstempel mit einem Debugger-Modul geteilt werden, das dazu konfiguriert ist, Anweisungsverfolgungsaufzeichnungen von einem oder von mehreren Software-Programmen zu erzeugen. Eine Kombination der Ereignisverfolgungsaufzeichnungen 140 mit Anweisungsverfolgungsaufzeichnungen, die den gleichen Zeitstempel tragen, können eine kombinierte Verfolgungsaufzeichnung der Programmanweisungen und der Signalisierungsereignisse ergeben. In manchen Implementierungen können die Ereignisverfolgungsaufzeichnungen 140 mit den anderen Aufzeichnungen auf Basis der jeweiligen Zeitstempel kombiniert werden. Zum Beispiel können die Ereignisverfolgungsaufzeichnungen mit den mit Zeitstempeln versehenen Leistungsmessungen kombiniert werden.
  • In 4 ist das Flussdiagramm eines Verfahrens 400 dargestellt. Das Verfahren 400 kann zum Beispiel in dem Maskierungsmodul 185 ausgeführt werden. Das Verfahren beinhaltet das Empfangen von Maskierungsdaten, die ein oder mehrere Signalisierungsereignisse identifizieren, die verfolgt werden sollen (410). In manchen Implementierungen sind die durch die Maskierungsdaten identifizierten Signalisierungsereignisse diejenigen, die nicht für die Verfolgung ausgewählt sind und die ignoriert werden können, und Speicheranweisungen müssen nicht erzeugt werden, wenn die durch die Maskierungsdaten identifizierten Signalisierungsereignisse auftreten.
  • Empfangene Signalisierungsereignisse werden mit den Maskierungsdaten verglichen (420). Ein beispielhaftes Maskierungsmodul 185 empfängt alle Signalisierungsereignisse. Die Maskierungsdaten geben an, welche Signalisierungsereignisse ignoriert werden können. Der Vergleich der empfangenen Signalisierungsereignisse mit den durch die Maskierungsdaten bestimmten Signalisierungsereignissen und das Auffinden der Übereinstimmungen ermöglicht die Identifikation der Signalisierungsereignisse, die nicht weiter verarbeitet werden sollen (die z. B. verworfen werden können).
  • Die Signalisierungsereignisse, die nicht mit den Signalisierungsereignissen in den Maskierungsdaten übereinstimmen, werden als unmaskierte Signalisierungsereignisse bestimmt (430). Die unmaskierten Signalisierungsereignisse sind diejenigen, die zur Erzeugung einer Speicheranweisung führen können, und die die Speicherung einer Ereignisverfolgungsaufzeichnung verursachen können. Die Signalisierungsereignisse, die maskiert sind, werden nicht verfolgt und können nicht dazu führen, dass eine Ereignisverfolgungsaufzeichnung gespeichert wird.
  • In 5 ist das Flussdiagramm eines Verfahrens 500 gezeigt. Zum Beispiel kann das Verfahren 500 durch das Kombinationsmodul 195 der 2 ausgeführt werden, um das/die Überlaufbit(s) einer Ereignisverfolgungsaufzeichnung zu setzen oder zu löschen. Ein Überlaufsignal wird empfangen, das den Erfolg oder Misserfolg einer vorherigen Speicheranweisung angibt (510). Zum Beispiel wird das Überlaufsignal 145 durch den Eingangsanschluss 118 des Kombinationsmoduls 195 empfangen. In manchen Implementierungen wird das Überlaufsignal 145 von einem beispielhaften Speichermodul 160 empfangen, das die Ereignisverfolgungsaufzeichnungen speichern kann.
  • Das/Die Überlaufbit(s) einer aktuellen Ereignisverfolgungsaufzeichnung wird/werden gemäß dem empfangenen Überlaufsignal geändert (520). In manchen Implementierungen kann jede Ereignisverfolgungsaufzeichnung ein oder mehrere Überlaufbits enthalten und das/die Überlaufbit(s) wird/werden gemäß dem empfangenen Überlaufsignal modifiziert.
  • Das Überlaufbit wird gesetzt/gelöscht, wenn die vorherige Verfolgungsaufzeichnung fehlerhaft/erfolgreich gespeichert wurde (530). Zum Beispiel setzt oder löscht das Kombinationsmodul 195 das Überlaufbit einer aktuellen Ereignisverfolgungsaufzeichnung. In manchen Implementierungen kann das Überlaufbit gesetzt werden, wenn die vorherige Ereignisverfolgungsaufzeichnung nicht gespeichert werden konnte, und wird gelöscht, wenn die vorherige Ereignisverfolgungsaufzeichnung erfolgreich gespeichert werden konnte.
  • In 6 ist ein Beispiel für ein Subsystem 600 zur Leitung der Signalisierungsereignisse dargestellt. Das Subsystem 600 beinhaltet 22 Peripheriegeräte 630 und 8 Multiplexer 640 zum Leiten der Signalisierungsereignisse durch 8 Ereigniskanäle 610. Durch Zurverfügungstellung eines Zugriffs auf die Ereigniskanäle 610 können die Signalisierungsereignisse 620 als Ausgaben geliefert werden.
  • Konkrete Implementierungen des Gegenstands wurden beschrieben. Andere Implementierungen liegen im Bereich der nachfolgenden Ansprüche. In manchen Fällen können die in den Ansprüchen angeführten Aktionen in einer anderen Reihenfolge durchgeführt werden, wobei dennoch wünschenswerte Ergebnisse erzielt werden. Darüber hinaus erfordern die in den begleitenden Figuren dargestellten Prozesse nicht notwendigerweise die konkret dargestellte oder sequentielle Reihenfolge, um wünschenswerte Ergebnisse zu erzielen. In manchen Implementierungen kann Multitasking und Parallelverarbeitung vorteilhaft sein.

Claims (16)

  1. Steuersystem, umfassend: ein Ereignissubsystem, das Signalisierungsereignisse empfängt, die von einem oder von mehreren zugehörigen Peripheriegeräten erzeugt werden; und ein Verfolgungsmodul, das mit dem Ereignissubsystem gekoppelt ist, das: die Signalisierungsereignisse empfängt, die empfangenen Signalisierungsereignisse abtastet, Zeitstempel empfängt, Ereignisverfolgungsaufzeichnungen erzeugt, wobei jede Ereignisverfolgungsaufzeichnung die abgetasteten Signalisierungsereignisse und einen zugehörigen Zeitstempel enthält, der den Abtastzeitpunkt angibt, und die Ereignisverfolgungsaufzeichnungen und die Speicheranweisungen als Ausgabe liefert.
  2. System nach Anspruch 1, wobei das Verfolgungsmodul des Weiteren umfasst: ein Auffangregistermodul, das die empfangenen Signalisierungsereignisse abtastet; ein Kombinationsmodul, das die abgetasteten Signalisierungsereignisse und die jeweiligen Zeitstempel kombiniert und eine Ereignisverfolgungsaufzeichnung erzeugt; ein Maskierungsmodul, das Maskierungsdaten empfängt, wobei die Maskierungsdaten Null oder mehr Signalisierungsereignisse identifizieren, die empfangenen Signalisierungsereignisse mit den Maskierungsdaten vergleicht und unmaskierte Signalisierungsereignisse als die abgetasteten Signalisierungsereignisse bestimmt, die nicht mit den Signalisierungsereignissen übereinstimmen, die durch die Maskierungsdaten identifiziert werden; und ein Detektionsmodul, das Änderungen der unmaskierten Signalisierungsereignisse detektiert und Speicheranweisungen als Reaktion darauf erzeugt, um eine Speicherung der Ereignisverfolgungsaufzeichnungen zu ermöglichen.
  3. System nach Anspruch 2, des Weiteren umfassend ein Speichermodul zur Speicherung von einer oder mehreren Ereignisverfolgungsaufzeichnungen als Reaktion auf den Empfang einer entsprechenden Speicheranweisung, wobei das Speichermodul ein Überlaufsignal zum Setzen und Löschen von einem oder mehreren Überlaufbits einer aktuellen Ereignisverfolgungsaufzeichnung nach nicht erfolgreicher Speicherung einer vorherigen Ereignisverfolgungsaufzeichnung bzw. nach erfolgreicher Speicherung einer vorherigen Ereignisverfolgungsaufzeichnung liefert.
  4. System nach Anspruch 2, wobei eine Änderung eines unmaskierten Signalisierungsereignisses ein Setzen oder Zurücksetzen des unmaskierten Signalisierungsereignisses beinhaltet.
  5. System nach Anspruch 2, wobei das Erzeugen der Speicheranweisung als Reaktion auf eine Änderung eines einzelnen unmaskierten Signalisierungsereignisses erfolgt.
  6. System nach Anspruch 2, wobei das Erzeugen der Speicheranweisung als Reaktion auf eine Änderung einer Kombination von unmaskierten Signalisierungsereignissen erfolgt.
  7. System nach Anspruch 1, wobei die Steuereinheit Teil einer integrierten Schaltung ist, die Bestandteil eines Chips ist.
  8. System nach Anspruch 1, wobei das Ereignissubsystem einen oder mehrere Multiplexer beinhaltet, und wobei die Multiplexer die Signalisierungsereignisse in Ereigniskanälen leiten.
  9. System nach Anspruch 3, wobei das Speichermodul mit einem oder mit mehreren Geräten zum Speichern und/oder Betrachten der Ereignisverfolgungsaufzeichnungen gekoppelt ist, wobei die Geräte beinhalten: einen dezidierten Ereignisverfolgungspuffer, einen dezidierten physikalischen Verfolgungsanschluss, einen bestehenden Verfolgungsanschluss, wobei der bestehende Verfolgungsanschluss dazu eingerichtete ist, geteilt zu werden, oder einen Onboard-Speicherdirektzugriffskanal, der mit einem statischen Onboard-RAM gekoppelt ist.
  10. Verfahren, umfassend: Empfangen von Signalisierungsereignissen für ein oder mehrere Peripheriegeräte; Empfangen von Zeitstempeln, die einer Ereigniszeit für ein gegebenes Signalisierungsereignis entsprechend; Abtasten der empfangenen Signalisierungsereignisse, inklusive Identifizieren von einem oder mehreren unmaskierten Signalisierungsereignissen; Empfangen von Zeitstempeln, die einer Abtastzeit für das eine oder die mehreren unmaskierten Signalisierungsereignisse entsprechen; Erzeugen von Ereignisverfolgungsaufzeichnungen, wobei jede Ereignisverfolgungsaufzeichnung ein abgetastetes unmaskiertes Signalisierungsereignis und einen entsprechenden Zeitstempel enthält, der die Abtastzeit angibt; Erzeugen von Speicherbefehlen als Reaktion auf Änderungen der unmaskierten Signalisierungsereignisse; und Speichern einer Ereignisverfolgungsaufzeichnung als Reaktion auf einen Speicherbefehl in einem externen Gerät.
  11. Verfahren nach Anspruch 10, wobei das Identifizieren von einem oder mehreren unmaskierten Signalisierungsereignissen beinhaltet: Empfangen von Maskierungsdaten, die Null oder mehrere Signalisierungsereignisse identifizieren; Vergleichen der abgetasteten Signalisierungsereignisse mit den Maskierungsdaten; und Bestimmen von unmaskierten Signalisierungsereignissen als die abgetasteten Signalisierungsereignisse, die nicht mit den durch die Maskierungsdaten identifizierten Signalisierungsereignissen übereinstimmen.
  12. Verfahren nach Anspruch 10, wobei eine Änderung eines unmaskierten Signalisierungsereignisses ein Setzen oder Zurücksetzen des unmaskierten Signalisierungsereignisses beinhaltet.
  13. Verfahren nach Anspruch 10, wobei das Erzeugen einer Ereignisverfolgungsaufzeichnung des Weiteren umfasst: Empfangen eines Überlaufsignals, wobei das Überlaufsignal den Erfolg oder Misserfolg einer vorherigen Speicheranweisung zum Speichern einer Ereignisverfolgungsaufzeichnung angibt, Modifizieren eines Überlaufbits einer aktuellen Ereignisverfolgungsaufzeichnung gemäß dem empfangenen Überlaufsignal, wobei das Überlaufbit gesetzt wird, wenn eine vorherige Ereignisverfolgungsaufzeichnung nicht gespeichert werden konnte.
  14. Verfahren nach Anspruch 11, des Weiteren umfassend das Löschen des Überlaufbits einer aktuellen Ereignisverfolgungsaufzeichnung, wenn eine vorherige Ereignisverfolgungsaufzeichnung erfolgreich gespeichert wurde.
  15. Verfahren nach Anspruch 9, wobei das Erzeugen der Speicheranweisung als Reaktion auf eine Änderung eines einzelnen unmaskierten Signalisierungsereignisses erfolgt.
  16. Verfahren nach Anspruch 9, wobei das Erzeugen der Speicheranweisung als Reaktion auf eine Änderung einer Kombination von unmaskierten Signalisierungsereignissen erfolgt.
DE102014211521.3A 2013-06-27 2014-06-17 Verfolgen von Ereignissen in einem autonomen Ereignissystem Withdrawn DE102014211521A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/929,605 US9830245B2 (en) 2013-06-27 2013-06-27 Tracing events in an autonomous event system
US13/929,605 2013-06-27

Publications (1)

Publication Number Publication Date
DE102014211521A1 true DE102014211521A1 (de) 2014-12-31

Family

ID=52017563

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014211521.3A Withdrawn DE102014211521A1 (de) 2013-06-27 2014-06-17 Verfolgen von Ereignissen in einem autonomen Ereignissystem

Country Status (2)

Country Link
US (1) US9830245B2 (de)
DE (1) DE102014211521A1 (de)

Families Citing this family (6)

* 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
KR102276895B1 (ko) * 2017-08-17 2021-07-12 삼성전자주식회사 반도체 장치 및 그 이벤트 프로파일링 방법
CN107491391A (zh) * 2017-08-21 2017-12-19 深圳市天视通电子科技有限公司 一种软件测试系统及方法
US11119890B2 (en) * 2019-08-28 2021-09-14 International Business Machines Corporation Instruction level tracing for analyzing processor failure
US20230267084A1 (en) * 2022-02-22 2023-08-24 Texas Instruments Incorporated Tracing for High Bandwidth Masters in SoC

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3846939B2 (ja) 1995-08-30 2006-11-15 フリースケール セミコンダクター インコーポレイテッド データプロセッサ
US5896524A (en) 1997-02-06 1999-04-20 Digital Equipment Corporation Off-line clock synchronization for multiprocessor event traces
US6018809A (en) 1997-03-28 2000-01-25 Emc Corp Apparatus and method for capturing information off a plurality of bi-directional communication buses
US6047124A (en) 1997-10-31 2000-04-04 Sun Microsystems, Inc. System and method for tracing device drivers using a computer
US6145100A (en) * 1998-03-04 2000-11-07 Advanced Micro Devices, Inc. Debug interface including timing synchronization logic
US6345295B1 (en) 1999-01-22 2002-02-05 International Business Machines Corporation Conducting traces in a computer system attachment network
US6732307B1 (en) * 1999-10-01 2004-05-04 Hitachi, Ltd. Apparatus and method for storing trace information
US7076767B1 (en) 1999-12-30 2006-07-11 Unisys Corporation Method for controlling and collecting information in a data processing system
DE10036278A1 (de) 2000-07-26 2002-02-07 Bosch Gmbh Robert Verfahren zur Überwachung eines Programmablaufs mittels einer Debug Logik
JP2002073527A (ja) 2000-08-25 2002-03-12 Rohm Co Ltd Dmaコントローラ
US6912673B1 (en) * 2001-02-02 2005-06-28 Cradle Technologies, Inc. Bus analyzer unit with programmable trace buffers
US6802031B2 (en) * 2001-05-24 2004-10-05 International Business Machines Corporation Method and apparatus for increasing the effectiveness of system debug and analysis
US6883162B2 (en) 2001-06-06 2005-04-19 Sun Microsystems, Inc. Annotations for transaction tracing
JP2003006003A (ja) 2001-06-18 2003-01-10 Mitsubishi Electric Corp Dmaコントローラおよび半導体集積回路
US7043668B1 (en) * 2001-06-29 2006-05-09 Mips Technologies, Inc. Optimized external trace formats
JP3609794B2 (ja) * 2002-03-26 2005-01-12 株式会社東芝 トレースデータ圧縮装置、トレースデータ圧縮方法及びトレースデータ圧縮回路を内蔵したマイクロコンピュータ
US7231339B1 (en) 2002-03-28 2007-06-12 Cypress Semiconductor Corporation Event architecture and method for configuring same
JP2004102331A (ja) * 2002-09-04 2004-04-02 Renesas Technology Corp 半導体装置
US7213169B2 (en) 2003-04-03 2007-05-01 International Business Machines Corporation Method and apparatus for performing imprecise bus tracing in a data processing system having a distributed memory
US7069176B2 (en) 2003-08-07 2006-06-27 Arm Limited Trace source correlation in a data processing apparatus
US6920586B1 (en) 2004-01-23 2005-07-19 Freescale Semiconductor, Inc. Real-time debug support for a DMA device and method thereof
JP4347082B2 (ja) 2004-02-23 2009-10-21 日本電気株式会社 イベントトレースデータの時刻補正装置,時刻補正方法及び時刻補正プログラム
US7464301B1 (en) * 2005-08-04 2008-12-09 Unisys Corporation Method and apparatus for capturing and logging activities of a state machine prior to error
US20070074081A1 (en) * 2005-09-29 2007-03-29 Dewitt Jimmie E Jr Method and apparatus for adjusting profiling rates on systems with variable processor frequencies
DE102005048585A1 (de) * 2005-10-06 2007-04-12 Robert Bosch Gmbh Teilnehmer und Kommunikationscontroller eines Kommunikationssystems und Verfahren zur Realisierung einer Gateway-Funktionalität in einem Teilnehmer eines Kommunikationssystems
JP2008140124A (ja) 2006-12-01 2008-06-19 Matsushita Electric Ind Co Ltd データ処理装置
GB2461716A (en) 2008-07-09 2010-01-13 Advanced Risc Mach Ltd Monitoring circuitry for monitoring accesses to addressable locations in data processing apparatus that occur between the start and end events.
US8413120B2 (en) * 2008-10-27 2013-04-02 Advanced Micro Devices, Inc. Method and system for thread monitoring
US8407528B2 (en) * 2009-06-30 2013-03-26 Texas Instruments Incorporated Circuits, systems, apparatus and processes for monitoring activity in multi-processing systems
GB2478328B (en) 2010-03-03 2015-07-01 Advanced Risc Mach Ltd Method, apparatus and trace module for generating timestamps
US10241894B2 (en) 2010-06-25 2019-03-26 Microsoft Technology Licensing, Llc Data-scoped dynamic data race detection
US8499201B1 (en) 2010-07-22 2013-07-30 Altera Corporation Methods and systems for measuring and presenting performance data of a memory controller system
US8935574B2 (en) 2011-12-16 2015-01-13 Advanced Micro Devices, Inc. Correlating traces in a computing system
US8924796B2 (en) 2012-03-22 2014-12-30 Intel Mobile Communications GmbH System and method for processing trace information
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

Also Published As

Publication number Publication date
US9830245B2 (en) 2017-11-28
US20150006969A1 (en) 2015-01-01

Similar Documents

Publication Publication Date Title
DE102014211521A1 (de) Verfolgen von Ereignissen in einem autonomen Ereignissystem
DE102017125481A1 (de) Verfolgung verteilter hardware
DE102014211520A1 (de) Unterbrechung der Programmausführung bei Ereignissen
DE2908316C2 (de) Modular aufgebaute Multiprozessor-Datenverarbeitungsanlage
DE102014211245A1 (de) System zur Fehlersuche bei der Datenübertragung im DMA-System
DE3850986T2 (de) Verfahren zur Reservekapazitätsverwendung für Fehlererkennung in einem Multiprozessorsystem.
DE69613056T2 (de) Schnittstelleneinrichtung zwischen einem Rechner redundanter Architektur und einem Kommunikationsmittel
DE102011121620A1 (de) Verfahren und Systeme zum Diagnostizieren von Hardware- und Softwarefehlern unter Verwendung von mit Zeitstempeln versehenen Ereignissen
DE60007702T2 (de) Schlafmoduseinschaltung in einem slave-gerät
DE19620137A1 (de) Protokoll für sicherheitskritische Anwendungen
DE112018005352T5 (de) Informationsverarbeitungsvorrichtung, bewegte einrichtung, verfahren und programm
EP2962205B1 (de) Mehrkern-prozessorsystem mit fehleranalysefunktion
DE102009054637A1 (de) Verfahren zum Betreiben einer Recheneinheit
DE102005008975A1 (de) Verfahren und Vorrichtung zur Überwachung einer Prozessausführung
DE102013015936A1 (de) Architektur zur ablaufprotokollbasierten Messung
DE112011100168T5 (de) Erfassen von Diagnosedaten in einer Datenverarbeitungsumgebung
US9584390B1 (en) Method and application performance monitoring device for monitoring transactions by analyzing packets in packet processing system
DE69902936T2 (de) Beibehaltung von objektlängeninformation gleichzeitig mit datenoptimierung zur fehlerbeseitigung
DE102013213088A1 (de) Überwachungsschaltung mit einem Signatur-Watchdog
DE102016011493A1 (de) Numerisches Steuersystem mit synchroner Steuerfunktion zwischen Einheiten
AT518005A1 (de) Verfahren zur periodischen Erfassung von Messwerten in einem Echtzeitcomputersystem sowie Echtzeitcomputersystem
DE102013022137A1 (de) Mehrstufige Ablaufprotokollierung
WO2016206847A1 (de) Verfahren und vorrichtung zum absichern einer programmzählerstruktur eines prozessorsystems und zum überwachen der behandlung einer unterbrechungsanfrage
DE102017219195B4 (de) Verfahren zum gewährleisten eines betriebs eines rechners
EP0935198A1 (de) Verfahren zur sicheren Datenverarbeitung sowie ein Rechnersystem

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUS, DE

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE

R005 Application deemed withdrawn due to failure to request examination