AT505630B1 - DEVICE FOR COORDINATED TESTING AND TROUBLESHOOTING IN DISTRIBUTED EMBEDDED MICROPROCESSOR SYSTEMS - Google Patents

DEVICE FOR COORDINATED TESTING AND TROUBLESHOOTING IN DISTRIBUTED EMBEDDED MICROPROCESSOR SYSTEMS Download PDF

Info

Publication number
AT505630B1
AT505630B1 AT1822008A AT1822008A AT505630B1 AT 505630 B1 AT505630 B1 AT 505630B1 AT 1822008 A AT1822008 A AT 1822008A AT 1822008 A AT1822008 A AT 1822008A AT 505630 B1 AT505630 B1 AT 505630B1
Authority
AT
Austria
Prior art keywords
unit
debug
test
recording
node
Prior art date
Application number
AT1822008A
Other languages
German (de)
Other versions
AT505630A4 (en
Inventor
Roland Hoeller
Original Assignee
Ver Fachhochschule Technikum W
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 Ver Fachhochschule Technikum W filed Critical Ver Fachhochschule Technikum W
Priority to AT1822008A priority Critical patent/AT505630B1/en
Priority to PCT/AT2009/000030 priority patent/WO2009097637A1/en
Application granted granted Critical
Publication of AT505630B1 publication Critical patent/AT505630B1/en
Publication of AT505630A4 publication Critical patent/AT505630A4/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/27Built-in tests
    • 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/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface

Landscapes

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

Description

2 AT 505 630 B12 AT 505 630 B1

Die Erfindung betrifft eine Einrichtung zum koordinierten Testen und zur Fehlersuche in verteilten eingebetteten Mikroprozessorsystemen mit einer Mehrzahl von über ein Kommunikationsnetz verbundenen, eingebetteten Systemknoten, wobei die Systemknoten jeweils eine Recheneinheit, ein Uhrenmodul, eine Testeinheit, eine Debug-Einheit und eine Kommunikationsschnittstelle zur Kommunikation mit den jeweils anderen Systemknoten über das Kommunikationsnetz aufweisen.The invention relates to a device for coordinated testing and debugging in distributed embedded microprocessor systems having a plurality of embedded system nodes connected via a communication network, the system nodes each having a computation unit, a clock module, a test unit, a debug unit and a communication interface for communicating with have the respective other system nodes via the communication network.

Gesamtzustände und Abläufe können in einem verteilten System oft im Nachhinein nicht nachvollzogen werden. Eine Diagnose im Fehlerfall wird hierdurch erschwert. Verteilte Systeme teilen sich keinen gemeinsamen Speicher und müssen ihre gesamte Kommunikation deshalb durch das Versenden und Empfangen von Nachrichten realisieren. Eine solche Kommunikation ist sehr fehleranfällig, so dass es zu Problemen durch Verfälschung von Nachrichten, Duplizie-rung von Nachrichten und den Verlust von Nachrichten kommen kann. Außerdem ist die Nachrichtenlaufzeit unvorhersehbar, so dass man nie mit Sicherheit vorhersehen kann, ob ein System ausgefallen ist oder ob es nur eine lange Antwortzeit hat.Overall states and processes can often not be reconstructed retrospectively in a distributed system. A diagnosis in case of error is made more difficult. Distributed systems do not share common memory and therefore must realize their entire communication by sending and receiving messages. Such communication is very susceptible to error, which can lead to problems due to falsification of messages, duplication of messages and the loss of messages. In addition, the message time is unpredictable, so you can never predict with certainty whether a system has failed or whether it has only a long response time.

In verteilten Systemen ist es sehr schwierig oder in der Praxis sogar unmöglich, eine genaue Programmabfolge zu definieren. Einige Entwicklungssysteme verzichten daher auf den Einsatz von Laufzeit-Debuggern, lassen aber in der Regel die Definition von Haltepunkten zu, an dem der Zustand aller Variablen nach dem Programmstopp analysiert werden kann.In distributed systems it is very difficult or even impossible in practice to define an exact program sequence. Some development systems therefore refrain from using runtime debuggers, but usually allow the definition of breakpoints where the state of all variables after the program stop can be analyzed.

Das Echtzeit-Debbuging bietet in der Regel die Möglichkeit, den Code Zeile für Zeile abzuarbeiten und dabei die Zustände der verschiedensten Variablen zu überwachen. Häufig können zusätzlich Haltepunkte festgelegt und weitere Optionen genutzt werden, welche die Arbeit mit dem Code wesentlich vereinfachen. Die Schwierigkeit bei verteilten Systemen ist nun, dass der Code nicht wie gewohnt einfach nur auf einem Rechner ausgeführt wird, sondern auf verschiedensten Systemknoten. So muss ein entsprechendes Tool entferntes Debugging unterstützen und Debugging-Informationen von dem jeweils anderen Knoten anfordern.Real-time debugging usually provides the ability to process the code line by line while monitoring the states of various variables. Often, additional breakpoints can be set and other options can be used, which greatly simplify the work with the code. The difficulty with distributed systems is that the code is not just executed on one computer as usual, but on a variety of system nodes. Thus, a corresponding tool must support remote debugging and request debugging information from the other node.

Beim Offline-Debugging hingegen besteht die Fehlersuche in der Auswertung aufgezeichneter Informationen. Diese Informationen werden in der Regel mit Hilfe von Aufzeichnungseinheiten (trace-Einheiten) gewonnen bzw. von den Anwendungen selbst generiert.In offline debugging, on the other hand, troubleshooting consists of evaluating recorded information. This information is usually obtained with the help of recording units (trace units) or generated by the applications themselves.

Es sind bereits verschiedene Vorschläge bekannt geworden, um die Fehlersuche sowie das Testen, Überwachen und Wiedergeben von Programmanweisungen zu verbessern. In diesem Zusammenhang wurde auch das Thema der Uhrensynchronisation erforscht.Various proposals have already become known to improve troubleshooting, as well as testing, monitoring, and rendering program instructions. In this context, the topic of clock synchronization was explored.

Die US 5,812,830 beschreibt eine einfache Schaltung zur Fehlersuche in Mikroprozessoren. Das vorgestellte System beinhaltet auch verschiedene Auslösemechanismen zur Abspeicherung interner Prozessorzustände.US 5,812,830 describes a simple circuit for troubleshooting in microprocessors. The presented system also includes various triggering mechanisms for storing internal processor states.

Die DE 102004052861 A1 beschreibt ein Diagnosesystem zur Erkennung von Fehlzuständen, das als separates System realisiert wird. Es werden Nachrichtenwege im Diagnosesystem abgebildet. Synchronisierte Uhren, Unterstützung für eine Vielzahl von Knoten, und die Möglichkeit der Wiedergabe aufgezeichneter Daten werden nicht verwendet.DE 102004052861 A1 describes a diagnostic system for detecting faulty conditions, which is realized as a separate system. Message paths are mapped in the diagnostic system. Synchronized clocks, support for a variety of nodes, and the ability to play recorded data are not used.

Die WO 2004/023302 A2 betrifft ein Verfahren zur Erkennung von Fehlern in einem verteilten Echtzeitcomputersystem. Der periodische Versand eines Statusbits, z.B. über ein rundenbasiertes Kommunikationsnetz, erlaubt es den Absturz eines Knotens zu erkennen und entsprechend zu reagieren. Es werden keine Einrichtungen oder dergleichen angeführt, die die Suche nach der Ursache eines Fehlers (z.B. durch Aufzeichnung oder Wiedergabe von Daten, oder durch spezielle Funktionen zur Fehlersuche) erkennen lassen.WO 2004/023302 A2 relates to a method for detecting errors in a distributed real-time computer system. The periodic dispatch of a status bit, e.g. via a turn-based communication network, it allows to detect the drop of a node and to react accordingly. No means or the like are cited to identify the cause of an error (e.g., by recording or reproducing data, or by special troubleshooting functions).

Die EP 943995 A2 beschreibt einen Prozessor mit einer externen "real-time instruction inserti-on". Der Prozessor umfasst weitere Instruktionsquellen, wie eine Abholschleife, ein Unterbre- 3 AT 505 630 B1 chungsregister, einen Pipeline-Schutz und er ermöglicht externen Datenzugriff. Der Chip umfasst keine Testeinheit oder Wiedergabeeinheit. Es gibt auch eine Beeinträchtigung der Leistung wegen des Einfügens von NoOps in den Ausführungsprozess, um den Datenzugriff zu ermöglichen.EP 943995 A2 describes a processor with an external "real-time instruction insert-on". The processor includes other instruction sources, such as a fetch loop, a subroutine register, pipeline protection, and allows external data access. The chip does not include a test unit or playback unit. There is also a performance penalty due to the inclusion of NoOps in the execution process to allow data access.

Das Dokument WO 2005/073855 A1 betrifft ein Datenverarbeitungssystem mit einem Debug-Modul, welches real-time-Debug-Nachrichten an eine DMA-Steuervorrichtung liefert.The document WO 2005/073855 A1 relates to a data processing system with a debug module which delivers real-time debug messages to a DMA controller.

Das US-Patent Nr. 6,769,076 betrifft ein "real-time processor debug System", welches die Aufzeichnung von Programmen und Daten eines virtuellen Bus eines eingebetteten Systems ermöglicht. Der Vorschlag umfasst die Reduktion der Stromaufnahme und die Reduktion der Auswirkung auf die Leistung des Gesamtsystems durch die Debug-Schnittstelle. Es wird eine integrierte Logik verwendet, welche den virtuellen Bus entsprechend der Adresse und des Betriebsmodus abspeichert. Dieses Patent ist somit auf das Aufzeichnen des internen virtuellen Bus eines eingebetteten Systems gerichtet. Dieses Patent befasst sich allerdings nicht mit verteiltem Debugging von eingebetteten Systemen.US Patent No. 6,769,076 relates to a "real-time processor debug system" which enables the recording of programs and data of a virtual bus of an embedded system. The proposal includes the reduction of power consumption and the reduction of the impact on the performance of the overall system through the debug interface. An integrated logic is used which stores the virtual bus according to the address and operating mode. This patent is thus directed to recording the internal virtual bus of an embedded system. However, this patent does not address distributed debugging of embedded systems.

Das US-Patent Nr. 7,080,283 ist auf ein Verfahren gerichtet, welches die Echtzeit-Aufzeichnung und Fehlerbehebung von Mehrfachprozessorkernen in einem System auf einem Chip ermöglicht. Es basiert auf einer zweckbestimmten Debug-Ausgabe jedes einzelnen Prozessorkernes. Die Debug-Information wird von einem oder mehreren Aufzeichnungsspeicherknoten für jeden Prozessorkern gespeichert. Die Aufzeichnungsspeicherkerne wiederum sind miteinander verbunden und bilden eine Daisy-Chain. Die Daisy-Chain endet bei einem Aufzeichnungskontroll-modul, welches die gewünschte Debug-Information speichert. Das Aufzeichnungskontrollmodul überträgt die Information auf einen externen Host-Agent über ein JTAG-Interface. Weiters können die Debug-Daten über Kompressionsknoten komprimiert werden, welche zwischen den Prozessorkernen und dem zumindest einen Aufzeichnungsspeicherknoten, welcher zwischen den Kernen angeordnet ist, liegen. All dieses befindet sich in einer SoC.U.S. Patent No. 7,080,283 is directed to a method that enables real time recording and debugging of multiple processor cores in a system on a chip. It is based on a dedicated debug output of each single processor core. The debug information is stored by one or more recording storage nodes for each processor core. The recording storage cores, in turn, are interconnected to form a daisy chain. The daisy chain ends at a record control module which stores the desired debug information. The recording control module transmits the information to an external host agent via a JTAG interface. Furthermore, the debug data may be compressed via compression nodes located between the processor cores and the at least one recording storage node located between the cores. All this is in a SoC.

Die US 2007/0168731 A1 beschreibt ein Debug-Verfahren für Mikrokontroller, die auf geringe Auswirkung und geringe Kosten gerichtet ist. Es wird vorgeschlagen, eine Hardware-Unterstützung für 2-Kabelhochgeschwindigkeitskommunikation in zukünftigen Mikrokontrolleranwendungen zu verwenden. Diese 2-Kabelkommunikationsschnittstelle soll verwendet werden, um Debug-Daten zwischen dem Zielmikrokontroller und einem Linkmikrokontroller zu übertragen. Der Linkmikrokontroller ist auf demselben Chip wie der Zielmikrokontroller, ist jedoch durch eine EEPROM-Sicherung als Linkmikrokontroller konfiguriert. Der Linkmikrokontroller führt ein Schnittstellenübersetzungsprogramm aus, um eine Kommunikation zwischen dem Zielmikrokontroller und dem Host-Computer herzustellen.US 2007/0168731 A1 describes a debug method for microcontrollers that is aimed at low impact and low cost. It is proposed to use hardware support for 2-cable high-speed communication in future microcontroller applications. This 2-cable communication interface is intended to be used to transfer debug data between the target microcontroller and a link microcontroller. The link microcontroller is on the same chip as the target microcontroller, but is configured by an EEPROM fuse as a link microcontroller. The link microcontroller executes an interface translation program to establish communication between the target microcontroller and the host computer.

Das europäische Patent Nr. 764903 betrifft einen "on-chip debug port" für VLSI-Prozessoren. Es umfasst eine Debug-Schaltung im gleichen integrierten Schaltkreis wie der anzusprechende Prozessor. Der Debug-Schaltkreis wird durch eine externe Debug-Workstation gesteuert, welche über einen externen Debug-Bus und ein externes Schnittstellenmodul mit der Schaltung verbunden ist. Die Debug-Schaltung umfasst eine Debug-Buseinheit, welche die Verbindung zum externen Debug-Bus schafft, eine Mehrzahl von Einheiten und zwei interne Busse, welche die Einheiten miteinander und mit der Debug-Buseinheit verbinden. Jede Einheit der Mehrzahl von Einheiten wiederum ist mit spezifischen Teilen des VLSI-Prozessors verbunden. Mit dieser Konfiguration ist es möglich, entweder Debug-Befehle zu zumindest einer der Mehrzahl von Einheiten zu senden oder Debug-Information von den Einheiten zu erhalten. Es sind Optionen möglich, wie z.B. Senden/Überwachen von Anweisungen des Prozessors, "real-time-Insertion/Extraktion" von Task-Daten, welche mit der Ausführung von Tasks auf dem Prozessor und der Überwachung des Programmablaufs betreffen.European Patent No. 764903 relates to an on-chip debug port. for VLSI processors. It includes a debug circuit in the same integrated circuit as the processor to be addressed. The debug circuit is controlled by an external debug workstation connected to the circuit via an external debug bus and an external interface module. The debug circuit includes a debug bus unit that connects to the external debug bus, a plurality of units, and two internal buses that connect the units to each other and to the debug bus unit. Each unit of the plurality of units in turn is connected to specific parts of the VLSI processor. With this configuration, it is possible to either send debug commands to at least one of the plurality of units or obtain debug information from the units. Options are possible, such as Sending / monitoring instructions from the processor, " real-time insertion / extraction " Task data related to the execution of tasks on the processor and the monitoring of the program flow.

Das US-Patent Nr. 6,324,684 beschreibt einen Prozessor, welcher eine Debug-Schaltung aufweist, die mit einem Debug-Host kommunizieren kann. Der Host kann "debug_halt-, 4 AT 505 630 B1 debug_step-, debug_run- und debug_release"-Befehle senden. Der Prozessor kann weiters Interrupts während des Debug-Modus so verarbeiten, dass das System in Betrieb nach Fehlem durchsucht werden kann, ohne die Verwendung eines Debug-Monitors, welcher wegen der Speicherung von Kontext und ähnlichem mehr RAM, ROM und System-Overhead benutzen würde.U.S. Patent No. 6,324,684 describes a processor having a debug circuit that can communicate with a debug host. The host can send " debug_halt, 4 AT 505 630 B1 debug_step, debug_run- and debug_release " commands. The processor may also process interrupts during debug mode so that the system can be searched for errors in operation without the use of a debug monitor which would use more RAM, ROM and system overhead because of contextual storage and the like ,

Das US-Patent Nr. 6,470,388 beschreibt ein System, welches sich mit Debugging und Protokollierungsdiensten für eine verteilte Computerumgebung, die aus Workstations, Servern und anderen Netzwerkeinrichtungen besteht, beschäftigt. Die Protokollierungsdienste beinhalten herkömmliches Formatieren und herkömmliche Speicherung von Information für die Zwecke des Debugging. Die Protokollierungsdienste können Trace- und Debug-Information an eine zentrale Protokollierungseinrichtung senden, wo die Daten mit einem Zeitstempel versehen und in einer Datenbank gespeichert werden. Das beschriebene System umfasst die Protokollierung von Debug-Information in einem verteilten Computersystem, hat jedoch keine koordinierten Single-Step-, Zeitbestimmungs- oder Hardware-Level-Funktionen.US Pat. No. 6,470,388 describes a system that deals with debugging and logging services for a distributed computing environment consisting of workstations, servers and other network devices. The logging services include conventional formatting and conventional storage of information for the purposes of debugging. The logging services can send trace and debug information to a central logging facility where the data is time-stamped and stored in a database. The system described involves logging debug information in a distributed computer system, but has no coordinated single-step, timing, or hardware-level functions.

Die US 2006/0080575 A1 offenbart eine Uhrensynchronisation mit einem Hauptcomputer, Berechnung des Drift-Wertes, Berechnung der Übertragungsverzögerung, Hardware-Timestamping bei einer optionalen Sniffer-Einheit und optionale optische Verbindungen zwischen Knoten. Sie offenbart nicht die Unterstützung von Hardware-Tests mit Test-, Trace- oder Wiedergabefunktionen, BIST, JTAG oder koordinierte Wiedergabe und koordiniertes Single-Step.US 2006/0080575 A1 discloses a clock synchronization with a main computer, calculation of the drift value, calculation of the transmission delay, hardware timestamping in an optional sniffer unit and optional optical connections between nodes. It does not disclose the support of hardware tests with test, trace or playback functions, BIST, JTAG or coordinated playback and coordinated single-step.

Die US 2007/0061628 A1 beschreibt ein Verfahren zur Untersuchung entfernter Systeme und das Sammeln in Echtzeit von Debug-Daten in einem Mehrnotensystem. Bei diesem Verfahren werden Bausteine mit Sondenmaschinen überwacht, welche Auslösebedingungen detektieren, die ein automatisches Anhalten der Knoten und das Sammeln der verfügbaren Zustandsdaten verursachen. Diese Auslösebedingung werden jedoch statisch gesetzt und der Betreiber ist nicht in der Lage Debugging-Operatoren, wie beispielsweise koordiniertes Single-Step durchzuführen.US 2007/0061628 A1 describes a method for examining remote systems and collecting in real time debug data in a multi-node system. In this method, devices are monitored with probe machines that detect triggering conditions that cause the nodes to stop automatically and the available state data to be collected. However, this trigger condition is set statically and the operator is unable to perform debugging operators such as coordinated single-step.

Das US-Patent Nr. 5,642,478 beschreibt ein Verfahren, um Trace-Daten in einem verteilten System zu akquirieren. Bei diesem Verfahren umfasst eine Knotensteuerung, welche die Aufgabe der Kommunikation mit anderen Knoten in dem System ausführt, eine Erfassungslogik, welche Trace-Daten in internen Speicherpuffern speichert. Derartige Trace-Daten werden dann regelmäßig einem externen Speicher zugeführt. Der Beginn und das Ende der Trace-Daten-Akquirierung werden durch andere Subkomponenten des Systems ausgelöst.US Patent No. 5,642,478 describes a method to acquire trace data in a distributed system. In this method, a node controller that performs the task of communicating with other nodes in the system includes detection logic that stores trace data in internal memory buffers. Such trace data are then routed regularly to an external memory. The beginning and the end of the trace data acquisition are triggered by other subcomponents of the system.

Die vorliegende Erfindung zielt nun darauf ab, verteiltes Debugging von eingebetteten Systemen zu ermöglichen und insbesondere einen koordinierten Zugang zu Teststrukturen sicherzustellen. Die Erfindung zielt weiters darauf ab, die Prozessorbelastung der Mikroprozessoren durch die Debugging-Aktivitäten möglichst nicht zu erhöhen. Weiters soll das Testen und die Fehlersuche ohne eine eigene Schnittstelle an den Systemknoten möglich sein.The present invention now aims to enable distributed debugging of embedded systems and in particular to ensure coordinated access to test structures. The invention further aims at not increasing the processor load of the microprocessors as much as possible by the debugging activities. Furthermore, the testing and debugging should be possible without a separate interface to the system node.

Zur Lösung dieser Aufgaben zeichnet sich die Einrichtung der eingangs genannten Art zum koordinierten Testen und zur Fehlersuche in verteilten eingebetteten Mikroprozessorsystemen im wesentlichen dadurch aus, dass Mittel zur Synchronisation der Uhrenmodule der Systemknoten vorgesehen sind, dass die Systemknoten jeweils eine mit der Testeinheit und der De-bug-Einheit verbundene Entlastungseinheit aufweisen, sodass über die Kommunikationsschnittstelle eintreffende oder abgehende, dem Testen und der Fehlersuche dienende Datenpakete über die Entlastungseinheit versendet bzw. empfangen und ggf. verarbeitet werden können, und dass die Uhrenmodule mit der jeweiligen Testeinheit und der Debug-Einheit zum Einfügen von Zeitstempeln in Datenpakete und/oder zum Auslösen von Test- und/oder Debug-Vorgängen in Abhängigkeit von Uhrensignalen Zusammenwirken. Dadurch, dass Mittel zur Synchronisation der Uhrenmodule der Systemknoten vorgesehen sind, kann systemweit über 5 AT 505 630 B1 eine Vielzahl von Knoten eine koordinierte Aufzeichnung oder Wiedergabe komplexer Vorgänge oder ein koordinierter Zugang zu Teststrukturen erreicht werden. Durch das Vorsehen einer Entlastungseinheit wird die Möglichkeit geschaffen Kontrolldaten, welche die Test- und Debug-Einheit betreffen, zu extrahieren und Daten zur Analyse oder zum Versenden in den Kommunikationsstrom einzufügen, wodurch eine eigene Schnittstelle zur Test- und zur Debug-Einheit nicht erforderlich ist. Es werden somit spezielle Pakete aus dem Kommunikationsstrom herausgefiltert und von der Entlastungseinheit verarbeitet, sodass die Belastung der übrigen Komponenten der einzelnen Systemknoten und insbesondere die Prozessorbelastung der Mikroprozessoren nicht erhöht wird. Das Debugging kann durch die Erfindung weiters völlig ohne Prozessoreingriff gesteuert werden. Damit kann man beispielsweise einen Prozessor, der abgestürzt ist, entfernt wieder re-booten und in einen lauffähigen Zustand setzen.To solve these tasks, the device of the type mentioned for coordinated testing and debugging in distributed embedded microprocessor systems is characterized essentially by the fact that means for synchronizing the clock modules of the system nodes are provided, that the system nodes each with the test unit and the De Have bug unit connected discharge unit, so that via the communication interface incoming or outgoing, the testing and troubleshooting data packets sent via the discharge unit or receive and possibly processed, and that the clock modules with the respective test unit and the debug unit for Inserting timestamps into data packets and / or triggering test and / or debug operations in response to clock signals interacting. By providing means for the synchronization of the clock modules of the system nodes, a multitude of nodes can be achieved system-wide via coordinated recording or playback of complex processes or coordinated access to test structures. The provision of a relief unit provides the ability to extract control data pertaining to the test and debug unit and to insert data into the communication stream for analysis or transmission, thus eliminating the need for a separate interface to the test and debug units , Special packets are thus filtered out of the communication stream and processed by the unloading unit, so that the loading of the remaining components of the individual system nodes and in particular the processor load of the microprocessors is not increased. The debugging can be further controlled by the invention without any processor intervention. So you can, for example, a processor that has crashed, remotely re-boot and put in a working state.

Um zusätzliche Funktionalitäten zu realisieren, ist die Ausbildung bevorzugt derart weitergebildet, dass wenigstens ein Systemknoten eine Aufzeichnungseinheit zum Aufzeichnen von Systemvorgängen, wie z.B. von Rechenvorgängen der Recheneinheit oder von Systembusaktivitäten aufweist, die mit der Entlastungseinheit verbunden ist, sodass über die Kommunikationsschnittstelle eintreffende oder abgehende, die Aufzeichnungseinheit betreffende Datenpakete über die Entlastungseinheit versendet bzw. empfangen und ggf. verarbeitet werden können. Dabei kann bevorzugt vorgesehen sein, dass das Uhrenmodul mit der Aufzeichnungseinheit zum Auslösen und/oder Beenden einer Aufzeichnung in Abhängigkeit von Uhrensignalen zusammenwirkt, sodass Systemvorgänge in mehreren Systemkonten koordiniert aufgezeichnet und in der Folge für eine Fehlersuche herangezogen werden können.In order to realize additional functionalities, the embodiment is preferably developed in such a way that at least one system node has a recording unit for recording system processes, such as e.g. of arithmetic operations of the arithmetic unit or system bus activities, which is connected to the discharge unit, so that via the communication interface incoming or outgoing, the recording unit concerned data packets can be sent or received via the discharge unit and possibly processed. In this case, it can preferably be provided that the clock module interacts with the recording unit for triggering and / or terminating a recording as a function of clock signals, so that system processes can be recorded coordinated in a plurality of system accounts and subsequently used for troubleshooting.

Bei der Fehlersuche kann es oft von Vorteil sein, wenn aufgezeichnete oder vorgegebene Programmanweisungen oder Programmvorgänge gezielt einzelnen Systemkomponenten zur Verfügung gestellt bzw. "vorgespielt" werden, um das Verhalten der jeweiligen Komponenten analysieren zu können. In diesem Zusammenhang ist die Ausbildung bevorzugt derart weitergebildet, dass wenigstens ein Systemknoten eine Wiedergabeeinheit zum Wiedergeben von aufgezeichneten Systemvorgängen oder von Programmanweisungen aufweist, die mit der Entlastungseinheit verbunden ist, sodass über die Kommunikationsschnittstelle eintreffende oder abgehende, die Wiedergabeeinheit betreffende Datenpakete über die Entlastungseinheit versendet bzw. empfangen und ggf. verarbeitet werden können. Zur koordinierten Wiedergabe in mehreren Systemknoten kann die Ausbildung hierbei mit Vorteil derart getroffen sein, dass das Uhrenmodul mit der Wiedergabeeinheit zum Beginnen und/oder Beenden einer Wiedergabe in Abhängigkeit von Uhrensignalen zusammenwirkt.When troubleshooting, it can often be advantageous if recorded or predetermined program instructions or program operations are specifically provided to individual system components or " played " be able to analyze the behavior of the respective components. In this context, the training is preferably developed in such a way that at least one system node has a playback unit for reproducing recorded system processes or program instructions which is connected to the discharge unit, so that data packets arriving or departing from the communication interface are sent via the discharge unit or can be received and possibly processed. For coordinated playback in a plurality of system nodes, the design can advantageously be such that the clock module interacts with the playback unit to begin and / or end playback in response to clock signals.

Um die Kommunikation zwischen den einzelnen Komponenten zu vereinfachen, ist bevorzugt vorgesehen, dass die Recheneinheit, die Testeinheit, die Debug-Einheit sowie ggf. die Auf-zeichnungs- und die Wiedergabeeinheit an einen gemeinsamen Systembus angeschlossen sind, wobei mit Vorteil auch das Uhrenmodul an den Systembus angeschlossen ist.In order to simplify the communication between the individual components, it is preferably provided that the arithmetic unit, the test unit, the debug unit and optionally the recording and the playback unit are connected to a common system bus, which advantageously also the clock module the system bus is connected.

Weiters kann vorgesehen sein, dass die Testeinheit in integrierten Schaltkreisen als Selbsttesteinheit für diese ausgebildet ist. Alternativ kann vorgesehen sein, dass die Testeinheit in integrierten Schaltkreisen als Zugang zu Teststrukturen im ganzen eingebetteten Systemknoten ausgebildet ist, wobei man die Testeinheit auch als JTAG Kontroller (also gleichsam "JTAG over Ethernet") für außerhalb des ICs liegende Bausteine verwenden kann. Praktische Anwendung wäre z.B. die Konfiguration eines FPGAs oder das Updaten von Software über die Entlastungseinheit, aber auch Test anderer Chips.Furthermore, it can be provided that the test unit is formed in integrated circuits as a self-test unit for this. Alternatively, it may be provided that the test unit is designed in integrated circuits as access to test structures in the entire embedded system node, whereby the test unit can also be used as a JTAG controller (so to speak "JTAG over Ethernet") for components lying outside the IC. Practical application would be e.g. the configuration of an FPGA or the updating of software via the unloading unit, but also testing of other chips.

Gemäß einer bevorzugten Weiterbildung ist vorgesehen, dass eine Kontroll- und Steuereinheit im Kommunikationsnetz vorgesehen ist, welche zum Versenden von Test-, Debug-, Aufzeich-nungs-, und/oder Wiedergabebefehlen an einzelne Systemknoten ausgebildet ist.According to a preferred embodiment, it is provided that a control and control unit is provided in the communication network, which is designed for sending test, debug, Aufzeich-, and / or playback commands to individual system nodes.

Die Erfindung wird nun anhand von in den Zeichnungen dargestellten Ausführungsbeispielen näher erläutert. Dabei zeigt: 6 AT 505 630 B1The invention will now be described with reference to exemplary embodiments illustrated in the drawings. It shows: 6 AT 505 630 B1

Fig. 1 ein funktionelles Blockdiagramm eines digitalen eingebetteten Systems, welches die Vorrichtung und das Verfahren der vorliegenden Erfindung enthält;Fig. 1 is a functional block diagram of a digital embedded system incorporating the apparatus and method of the present invention;

Fig. 2 ein funktionelles Blockdiagramm, welches die Entlastungseinheit des eingebetteten Systems von Fig. 1 entsprechend der vorliegenden Erfindung illustriert;Fig. 2 is a functional block diagram illustrating the relieving unit of the embedded system of Fig. 1 according to the present invention;

Fig. 3 ein funktionelles Blockdiagramm, welches die Uhreneinheit des eingebetteten Systems der Fig. 1 entsprechend der vorliegenden Erfindung illustriert;Fig. 3 is a functional block diagram illustrating the clock unit of the embedded system of Fig. 1 according to the present invention;

Fig. 4 ein funktionelles Blockdiagramm, welches die Testeinheit des eingebetteten Systems der Fig. 1 entsprechend der vorliegenden Erfindung illustriert;FIG. 4 is a functional block diagram illustrating the embedded system test unit of FIG. 1 in accordance with the present invention; FIG.

Fig. 5 ein funktionelles Blockdiagramm, welches die Wiedergabeeinheit des eingebetteten Systems der Fig. 1 entsprechend der vorliegenden Erfindung illustriert;Fig. 5 is a functional block diagram illustrating the playback system of the embedded system of Fig. 1 according to the present invention;

Fig. 6 ein funktionelles Blockdiagramm, welches die Aufzeichnungs- bzw. Trace-Einheit des eingebetteten Systems der Fig. 1 entsprechend der vorliegenden Erfindung illustriert; und Fig. 7 ein funktionelles Blockdiagramm, welches die Debug-Einheit des eingebetteten Systems der Fig. 1 entsprechend der vorliegenden Erfindung illustriert;Fig. 6 is a functional block diagram illustrating the trace system of the embedded system of Fig. 1 in accordance with the present invention; and Figure 7 is a functional block diagram illustrating the debug unit of the embedded system of Figure 1 in accordance with the present invention.

Fig. 1 zeigt ein digitales eingebettetes System 12, welches entsprechend der vorliegenden Erfindung verbessert ist. Das Knotensystem 12 enthält einen Systembus 28, einen Systemspeicher 18, einen oder mehrere Recheneinheiten bzw. Mikroprozessoren 14, eine Kommunikationsschnittstelle 16 und andere Schnittstellen 40, wie beispielsweise Sensoren oder Aktuatoren. Während des normalen Betriebes kommuniziert das System über die Kommunikationssteuerung 26 der Kommunikationsschnittstelle 16 mit anderen Systemknoten eines verteilten Mehrknotensystems, welche durch ein Netzwerk 20 verbunden sind. Ein gewisser Teil des Datenverkehrs und insbesondere Netzwerkpakete mit einer bestimmten Art von Inhalt werden jedoch nicht durch die Kommunikationssteuerung 26 an den Mikroprozessor weitergeleitet, sondern werden auf eine spezielle Entlastungseinheit 24 übertragen. Diese Entlastungseinheit 24 bildet gemeinsam mit der Uhreneinheit 30, einer Testeinheit 32, einer Wiedergabeeinheit 34, einer Trace-Einheit 36 und einer Debug-Einheit 38 eine funktionale Einheit 42. Alle Komponenten der Einheit 42 sind über einen Bus 22 zum Datenaustausch zwischen den Einheiten 30, 32, 34, 36 und 38 untereinander und zwischen den Einheiten 30, 32, 34, 36 und 38 und der Entlastungseinheit 24 verbunden. Über die Entlastungseinheit 24 ist es möglich, alle Einheiten 30, 32, 34, 36 und 38, welche über den Bus 22 verbunden sind, zu konfigurieren. Es ist weiters Aufgabe der vorliegenden Erfindung, die Uhreneinheit 30 gemeinsam mit der Entlastungseinheit 24 zu verwenden, um die Knoten eines Mehrknotensystems präzise zu synchronisieren. Die systemweit synchronisierte Uhr kann dann verwendet werden, um Testwiedergabe, Trace- und Debug-Funktionen simultan auf einer Mehrzahl von Knoten 12 des Mehrknotensystems, welches die Vorrichtung 42 der vorliegenden Erfindung aufweist, zu starten.Fig. 1 shows a digital embedded system 12 which is improved according to the present invention. The node system 12 includes a system bus 28, a system memory 18, one or more processing units or microprocessors 14, a communication interface 16, and other interfaces 40, such as sensors or actuators. During normal operation, the system communicates via the communication controller 26 of the communication interface 16 with other system nodes of a distributed multi-node system connected by a network 20. However, some traffic, and in particular network packets with a certain type of content, are not forwarded by the communication controller 26 to the microprocessor but are transmitted to a dedicated unloading unit 24. This relief unit 24, together with the clock unit 30, a test unit 32, a display unit 34, a trace unit 36 and a debug unit 38, form a functional unit 42. All components of the unit 42 are exchanged between the units 30 via a bus 22 , 32, 34, 36 and 38 are connected to each other and between the units 30, 32, 34, 36 and 38 and the discharge unit 24. Via the unloading unit 24 it is possible to configure all units 30, 32, 34, 36 and 38 which are connected via the bus 22. It is a further object of the present invention to use the watch unit 30 together with the unloading unit 24 to precisely synchronize the nodes of a multi-node system. The system-wide synchronized clock can then be used to simultaneously initiate test play, trace, and debug functions on a plurality of nodes 12 of the multi-node system comprising apparatus 42 of the present invention.

Fig. 2 zeigt Details der Entlastungseinheit entsprechend der vorliegenden Erfindung. Ein Frame-Filter 72 gestattet es, den Datenverkehr 64 herauszugreifen. Die Pakete werden in einem Empfangspuffer 70 gespeichert und ein spezieller Mikrokontroller 68 in der Entlastungseinheit extrahiert die Daten und Adressen des Pakets und gibt diese Daten über die Busschnittstelle 66 auf den Bus aus, welcher die Entlastungseinheit mit den anderen Einheiten 30, 32, 34, 36 und 38 verbindet. Wenn Daten gesendet werden müssen, wird ein entsprechendes Paket im Übertragungspuffer 74 durch den Mikroprozessor 68 platziert und in der Folge in den Datenverkehr 64 eingesetzt.Fig. 2 shows details of the relief unit according to the present invention. A frame filter 72 allows the traffic 64 to be picked out. The packets are stored in a receive buffer 70, and a special microcontroller 68 in the unload unit extracts the data and addresses of the packet and outputs that data via the bus interface 66 to the bus which provides the unload unit with the other units 30, 32, 34, 36 and 38 connects. When data needs to be sent, a corresponding packet is placed in the transmit buffer 74 by the microprocessor 68 and inserted into the traffic 64 in sequence.

Fig. 3 zeigt die Uhreneinheit entsprechend der vorliegenden Erfindung. Eine Uhreneinheit 82, insbesondere eine additionsbasierende Uhreneinheit, wird durch einen Algorithmus in der Steuereinheit 88 und eine Busschnittstelle 86, welche mit anderen Uhren in dem Multiknotensystem synchronisiert werden muss, gesteuert. Eine Event-Triggereinheit 84 gestattet es, Events zu gegebenen Zeitpunkten zu triggern oder Aktivitäten mit einem Zeitstempel zu versehen.Fig. 3 shows the clock unit according to the present invention. A clock unit 82, in particular an addition-based clock unit, is controlled by an algorithm in the control unit 88 and a bus interface 86 which must be synchronized with other clocks in the multi-node system. An event trigger unit 84 allows events to be triggered at given times or timestamped to activities.

Fig. 4 zeigt die Testeinheit entsprechend der vorliegenden Erfindung. On-chip-BIST-StrukturenFig. 4 shows the test unit according to the present invention. On-chip BIST structures

Claims (10)

7 AT 505 630 B1 110, ein JTAG-Kontroller 106 und eine Speicher-BIST bieten höchstmögliche Funktionalität für einen Knoten. Diese Einheit wird über eine Busschnittstelle 104 angesprochen. Fig. 5 zeigt die Wiedergabeeinheit entsprechend der vorliegenden Erfindung. Ein Wiedergabepuffer 126 kann die vorhergehenden Nachrichten speichern und eine Wiedergabesteuerung 128 kann diese Nachrichten in den Netzwerkverkehr für Debug-Zwecke in den Mikroprozessor des Knotens einsetzen. Die Einheit wird über eine Busschnittstelle 124 konfiguriert. Fig. 6 zeigt die Aufzeichnungs- bzw. Trace-Einheit entsprechend der vorliegenden Erfindung. Ein Aufzeichnungsspeicher 146 wird verwendet um interessierenden Busverkehr oder Mikroprozessoraktivitäten aufzuzeichnen. Diese Funktion wird durch die Trace-Steuerung 148 kontrolliert, die über eine Busschnittstelle 144 konfiguriert wird. Fig. 7 zeigt die Fehlersuch- bzw. Debug-Einheit entsprechend der vorliegenden Erfindung. Eine Debug-Schnittstelle 170 hat Zugriff auf Debug-Steuerleitungen 168 des Mikroprozessors des Knotens, um vollständigen Debug-Zugriff über die Debug-Steuerung 166 zu erhalten. Die Einheit wird über eine Busschnittstelle 164 konfiguriert. Es ist weiters ein Vorteil der vorliegenden Erfindung, dass die Einheiten für die Uhr 30, die Teststrukturen 32, die Wiedergabefunktionen 34, die Trace-Funktionen 36 und die Debug-Funktionen nahe beieinander liegen und als eine einzelne Einheit für koordiniertes Testen, koordinierte Wiedergabe und koordiniertes Debugging angesehen werden. Dies umfasst komplexe Triggers für Tracen, Debugging, Testen und Wiedergeben, beispielsweise dergestalt, dass das Tracen gestartet wird, nachdem ein gewisser Unterbrechungszustand in der Debug-Einheit 38 aufgetreten ist. Zusammenfassend ist festzuhalten, dass die erfindungsgemäße Einrichtung für koordinierten Test, Fehlersuche, Datenaufzeichnung und Datenwiedergabe in verteilten eingebetteten Mikroprozessorsystemen ohne eigene Schnittstelle auskommt. Debug-Möglichkeiten sind in eingebetteten Systemknoten eines verteilten Mehrknotensystems integriert, um Zugang zu Test Infrastruktur (z.B. Boundary-Scan oder Built-In Seif Test), Prozessoreinrichtungen zur Fehlersuche (z.B. Background Debugging Modul des Prozessors), Aufzeichnungen von Systemereignissen (z.B. Ablage von Systembusaktivitäten in einen lokalen Pufferspeicher), und Möglichkeiten zur Datenwiedergabe (z.B. Systembus oder Netzwerkverkehr) eines jeden Knotens zu erhalten. Der Zugang passiert über eine Kommunikationsschnittstelle, die mit einer Entlastungseinheit, welche Teil der im Knoten integrierten Einrichtung ist, ausgestattet ist. Die Entlastungseinheit extrahiert Kontrolldaten, die die Einheiten für Test, Fehlersuche, Datenaufzeichnung und Datenwiedergabe betreffen und fügt Daten zur Analyse oder zum Versenden in den Kommunikationsdatenstrom ein. Eine eigene Schnittstelle zu den Einheiten der Einrichtung ist nicht notwendig. Die exakte Koordination aller Knoten des Mehrknotensystems erfolgt durch Synchronisation der lokalen Uhren, durch welche die Einheiten für Test, Fehlersuche, Datenaufzeichnung und Datenwiedergabe angestoßen werden. Als Mikroprozessorsysteme sind im Rahmen der Erfindung auch Systeme von Mikrokontrollern zu verstehen. Patentansprüche: 1. Einrichtung zum koordinierten Testen und zur Fehlersuche in verteilten eingebetteten Mikroprozessorsystemen mit einer Mehrzahl von über ein Kommunikationsnetz verbundenen, eingebetteten Systemknoten, wobei die Systemknoten jeweils eine Recheneinheit (14), ein Uhrenmodul, eine Testeinheit, eine Debug-Einheit und eine Kommunikationsschnittstelle zur Kommunikation mit den jeweils anderen Systemknoten über das Kommunikationsnetz aufweisen, dadurch gekennzeichnet, dass die Uhrenmodule (30) der Systemknoten (12) synchronisiert sind, dass die Systemknoten (12) jeweils eine mit der Testeinheit (32) und der Debug-Einheit (38) verbundene Entlastungseinheit (24) aufweisen, 8 AT 505 630 B1 sodass über die Kommunikationsschnittstelle (16) eintreffende oder abgehende, dem Testen und der Fehlersuche dienende Datenpakete über die Entlastungseinheit (24) versendet bzw. empfangen und ggf. verarbeitet werden können, und dass die Uhrenmodule (30) mit der jeweiligen Testeinheit (32) und der Debug-Einheit (38) zum Einfügen von Zeitstempeln in Datenpakete und/oder zum Auslösen von Test- und/oder Debug-Vorgängen in Abhängigkeit von Uhrensignalen Zusammenwirken.7 AT 505 630 B1 110, a JTAG controller 106 and a memory BIST provide the highest possible functionality for a node. This unit is addressed via a bus interface 104. Fig. 5 shows the reproducing unit according to the present invention. A playback buffer 126 may store the previous messages and a playback controller 128 may insert these messages into the network traffic for debug purposes in the node's microprocessor. The unit is configured via a bus interface 124. Fig. 6 shows the recording or tracing unit according to the present invention. A recording memory 146 is used to record bus traffic or microprocessor activities of interest. This function is controlled by the trace controller 148, which is configured via a bus interface 144. Fig. 7 shows the debugging unit according to the present invention. A debug interface 170 has access to debug control lines 168 of the node's microprocessor to obtain full debug access via debug control 166. The unit is configured via a bus interface 164. It is further an advantage of the present invention that the units for the clock 30, the test structures 32, the rendering functions 34, the trace functions 36, and the debug functions are close together and as a single unit for coordinated testing, coordinated playback, and coordinated debugging. This includes complex triggers for tracing, debugging, testing, and rendering, for example, such that tracing is started after some break condition has occurred in the debug unit 38. In summary, it should be noted that the inventive device for coordinated testing, debugging, data recording and data reproduction in distributed embedded microprocessor systems does not require its own interface. Debug capabilities are integrated into embedded system nodes of a distributed multi-node system to provide access to test infrastructure (eg Boundary Scan or Built-In Seif Test), debugger processor facilities (eg, Background Debugging Module of the processor), record system events (eg, store system bus activity into a local cache), and to obtain data rendering (eg, system bus or network traffic) of each node. Access is via a communication interface equipped with a Relief Unit, which is part of the device integrated in the node. The unloading unit extracts control data concerning the units for testing, debugging, data recording and data reproduction, and inserts data into the communication data stream for analysis or transmission. A separate interface to the units of the institution is not necessary. The exact coordination of all nodes of the multi-node system is carried out by synchronization of the local clocks, through which the units for test, troubleshooting, data recording and data playback are triggered. As microprocessor systems are to be understood within the scope of the invention, systems of microcontrollers. Claims 1. A device for coordinated testing and debugging in distributed embedded microprocessor systems having a plurality of embedded system nodes connected via a communications network, the system nodes each comprising a computing unit (14), a clock module, a test unit, a debug unit, and a communication interface for communication with the respective other system nodes via the communication network, characterized in that the clock modules (30) of the system nodes (12) are synchronized, that the system nodes (12) each with the test unit (32) and the debug unit (38 ) Relief unit (24), 8 AT 505 630 B1 so that via the communication interface (16) incoming or outgoing, serving for testing and troubleshooting data packets via the discharge unit (24) can be sent and received and possibly processed, and that the clock modules (30) with the respective test unit (32) and the debug unit (38) for inserting timestamps into data packets and / or triggering test and / or debug operations in response to clock signals interaction. 2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, dass wenigstens ein Systemknoten (12) eine Aufzeichnungseinheit (36) zum Aufzeichnen von Systemvorgängen, wie z.B. von Rechenvorgängen der Recheneinheit (14) oder von Systembusaktivitäten aufweist, die mit der Entlastungseinheit (24) verbunden ist, sodass über die Kommunikationsschnittstelle (26) eintreffende oder abgehende, die Aufzeichnungseinheit (36) betreffende Datenpakete über die Entlastungseinheit (24) versendet bzw. empfangen und ggf. verarbeitet werden können.A device according to claim 1, characterized in that at least one system node (12) comprises a recording unit (36) for recording system operations, e.g. of arithmetic operations of the arithmetic unit (14) or of system bus activities, which is connected to the unloading unit (24), so that via the communication interface (26) incoming or outgoing data packets concerning the recording unit (36) are sent or received via the unloading unit (24) and possibly can be processed. 3. Einrichtung nach Anspruch 2, dadurch gekennzeichnet dass das Uhrenmodul (30) mit der Aufzeichnungseinheit (36) zum Auslösen und/oder Beenden einer Aufzeichnung in Abhängigkeit von Uhrensignalen zusammenwirkt.3. Device according to claim 2, characterized in that the clock module (30) cooperates with the recording unit (36) for triggering and / or stopping a recording in response to clock signals. 4. Einrichtung nach Anspruch 1, 2 oder 3, dadurch gekennzeichnet, dass wenigstens ein Systemknoten (12) eine Wiedergabeeinheit (34) zum Wiedergeben von aufgezeichneten Systemvorgängen oder von Programmanweisungen aufweist, die mit der Entlastungseinheit (24) verbunden ist, sodass über die Kommunikationsschnittstelle (16) eintreffende oder abgehende, die Wiedergabeeinheit (34) betreffende Datenpakete über die Entlastungseinheit (24) versendet bzw. empfangen und ggf. verarbeitet werden können.4. Device according to claim 1, 2 or 3, characterized in that at least one system node (12) has a playback unit (34) for reproducing recorded system operations or program instructions, which is connected to the discharge unit (24), so via the communication interface (16) incoming or outgoing, the playback unit (34) pertaining data packets via the discharge unit (24) can be sent or received and possibly processed. 5. Einrichtung nach Anspruch 4, dadurch gekennzeichnet, dass das Uhrenmodul mit der Wiedergabeeinheit (34) zum Beginnen und/oder Beenden einer Wiedergabe in Abhängigkeit von Uhrensignalen zusammenwirkt.5. Device according to claim 4, characterized in that the clock module cooperates with the playback unit (34) for starting and / or stopping a playback in dependence on clock signals. 6. Einrichtung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die Recheneinheit (14),- die-Testeinheit (32), die Debug-Einheit (38) sowie ggf. die Aufzeichnungs (36)- und die Wiedergabeeinheit (34) an einen gemeinsamen Systembus (22) angeschlossen sind.6. Device according to one of claims 1 to 5, characterized in that the arithmetic unit (14), - the test unit (32), the debug unit (38) and possibly the recording (36) - and the playback unit (34 ) are connected to a common system bus (22). 7. Einrichtung nach Anspruch 6, dadurch gekennzeichnet, dass das Uhrenmodul (30) an den Systembus (22) angeschlossen ist.7. Device according to claim 6, characterized in that the clock module (30) is connected to the system bus (22). 8. Einrichtung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass die Testeinheit (32) in integrierten Schaltkreisen als Selbsttesteinheit für diese ausgebildet ist.8. Device according to one of claims 1 to 7, characterized in that the test unit (32) is formed in integrated circuits as a self-test unit for this. 9. Einrichtung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass die Testeinheit (32) in integrierten Schaltkreisen als Zugang zu Teststrukturen im ganzen eingebetteten Systemknoten (12) ausgebildet ist.9. Device according to one of claims 1 to 7, characterized in that the test unit (32) is formed in integrated circuits as access to test structures in the whole embedded system node (12). 10. Einrichtung nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass eine Kon-troll- und Steuereinheit im Kommunikationsnetz (20) vorgesehen ist, welche zum Versenden von Test-, Debug-, Aufzeichnungs-, und/oder Wiedergabebefehlen an einzelne Systemknoten (12) ausgebildet ist. Hiezu 7 Blatt Zeichnungen10. Device according to one of claims 1 to 9, characterized in that a control and control unit in the communication network (20) is provided, which for sending test, debug, record, and / or playback commands to individual system nodes (12) is formed. Including 7 sheets of drawings
AT1822008A 2008-02-05 2008-02-05 DEVICE FOR COORDINATED TESTING AND TROUBLESHOOTING IN DISTRIBUTED EMBEDDED MICROPROCESSOR SYSTEMS AT505630B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AT1822008A AT505630B1 (en) 2008-02-05 2008-02-05 DEVICE FOR COORDINATED TESTING AND TROUBLESHOOTING IN DISTRIBUTED EMBEDDED MICROPROCESSOR SYSTEMS
PCT/AT2009/000030 WO2009097637A1 (en) 2008-02-05 2009-01-29 Device for coordinated testing and for trouble-shooting in distributed embedded microprocessor systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
AT1822008A AT505630B1 (en) 2008-02-05 2008-02-05 DEVICE FOR COORDINATED TESTING AND TROUBLESHOOTING IN DISTRIBUTED EMBEDDED MICROPROCESSOR SYSTEMS

Publications (2)

Publication Number Publication Date
AT505630B1 true AT505630B1 (en) 2009-03-15
AT505630A4 AT505630A4 (en) 2009-03-15

Family

ID=40427617

Family Applications (1)

Application Number Title Priority Date Filing Date
AT1822008A AT505630B1 (en) 2008-02-05 2008-02-05 DEVICE FOR COORDINATED TESTING AND TROUBLESHOOTING IN DISTRIBUTED EMBEDDED MICROPROCESSOR SYSTEMS

Country Status (2)

Country Link
AT (1) AT505630B1 (en)
WO (1) WO2009097637A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268031A (en) * 2021-06-07 2021-08-17 深圳市蔚来芯科技有限公司 System and method for electronic equipment remote debugging tool
US20220413047A1 (en) * 2021-06-28 2022-12-29 Silicon Motion, Inc. Method and apparatus and non-transitory computer-readable storage medium for debugging solid-state disk (ssd) device

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111290889B (en) * 2018-11-21 2022-11-25 展讯通信(上海)有限公司 FPGA-based universal processor-oriented test method and system
CN112131085A (en) * 2020-08-01 2020-12-25 青岛希望鸟科技有限公司 Method, system and device for recording and playing back Internet business process
CN113849399B (en) * 2021-09-13 2023-06-30 北京计算机技术及应用研究所 Automatic test system and method for multi-machine collaborative software under multi-localization platform

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10118502C1 (en) * 2001-04-12 2002-08-08 Siemens Ag Process for the acquisition and recording of system information and processes in distributed concurrent component-based software systems
US6826717B1 (en) * 2000-06-12 2004-11-30 Altera Corporation Synchronization of hardware and software debuggers

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6470388B1 (en) * 1999-06-10 2002-10-22 Cisco Technology, Inc. Coordinated extendable system for logging information from distributed applications
US6751573B1 (en) * 2000-01-10 2004-06-15 Agilent Technologies, Inc. Performance monitoring in distributed systems using synchronized clocks and distributed event logs
US7577540B2 (en) * 2002-03-01 2009-08-18 Nec Corporation Re-configurable embedded core test protocol for system-on-chips (SOC) and circuit boards
GB0420442D0 (en) * 2004-09-14 2004-10-20 Ignios Ltd Debug in a multicore architecture

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826717B1 (en) * 2000-06-12 2004-11-30 Altera Corporation Synchronization of hardware and software debuggers
DE10118502C1 (en) * 2001-04-12 2002-08-08 Siemens Ag Process for the acquisition and recording of system information and processes in distributed concurrent component-based software systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HORAUER M, PRAPROTNIK O, ZAUNER M, HOLLER R, MILBREDT P *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268031A (en) * 2021-06-07 2021-08-17 深圳市蔚来芯科技有限公司 System and method for electronic equipment remote debugging tool
US20220413047A1 (en) * 2021-06-28 2022-12-29 Silicon Motion, Inc. Method and apparatus and non-transitory computer-readable storage medium for debugging solid-state disk (ssd) device
US11841398B2 (en) * 2021-06-28 2023-12-12 Silicon Motion, Inc. Method and apparatus and non-transitory computer-readable storage medium for debugging solid-state disk (SSD) device

Also Published As

Publication number Publication date
WO2009097637A1 (en) 2009-08-13
AT505630A4 (en) 2009-03-15

Similar Documents

Publication Publication Date Title
DE10333817B4 (en) Emulation interface system
DE3903835C2 (en)
US6598178B1 (en) Peripheral breakpoint signaler
DE69834892T2 (en) Embedded logic analyzer
CN112148515B (en) Fault positioning method, system, device, medium and equipment
EP0318768B1 (en) Logic analyser
DE112020000036T5 (en) AUTOMATED TEST DEVICE FOR TESTING ONE OR MORE TEST OBJECTS, METHOD FOR AUTOMATED TESTING OF ONE OR MORE TEST OBJECTS AND COMPUTER PROGRAM USING A BUFFER MEMORY
AT505630B1 (en) DEVICE FOR COORDINATED TESTING AND TROUBLESHOOTING IN DISTRIBUTED EMBEDDED MICROPROCESSOR SYSTEMS
EP1720100A1 (en) Method and apparatus for emulating a programmable unit
DE202017106508U1 (en) Synchronous hardware event collection
DE3786381T2 (en) Test method and device for a distributed processing system.
DE68922440T2 (en) Device and method for simultaneously submitting fault interruption and fault data to a support processor.
DE102012224276B4 (en) Delayed execution on multiple processors
DE60118089T2 (en) Sampling interface with time multiplexing feature for signal superposition
EP0297492A2 (en) Method of testing a network structure
DE3037475A1 (en) INTERFACE CIRCUIT ARRANGEMENT FOR A DATA PROCESSING SYSTEM
EP2648100A1 (en) Device for processor automation and automation device with such a device
WO2003023616A2 (en) Method for debugging reconfigurable architectures
DE102013022137A1 (en) Multi-level trace logging
EP1379953B1 (en) Program-controlled unit
WO2015180932A1 (en) Method for testing a technical system in a computer-assisted manner
DE19951541C1 (en) Integrated circuit component, e.g. ASIC
US20040133388A1 (en) Apparatus and method for state selectable trace stream generation
EP1224480B1 (en) Programme-controlled unit and method for identifying and/or analysing errors in programme-controlled units
CN118132359B (en) Method and device for diagnosing automatic downtime of server

Legal Events

Date Code Title Description
MM01 Lapse because of not paying annual fees

Effective date: 20230205