DE69027471T2 - Fehlersuchperipherie für Mikrorechner, Mikroprozessoren und Kernprozessor beinhaltende integrierte Schaltungen und Vorrichtung die diese Fehlersuchperipherie verwendet - Google Patents
Fehlersuchperipherie für Mikrorechner, Mikroprozessoren und Kernprozessor beinhaltende integrierte Schaltungen und Vorrichtung die diese Fehlersuchperipherie verwendetInfo
- Publication number
- DE69027471T2 DE69027471T2 DE69027471T DE69027471T DE69027471T2 DE 69027471 T2 DE69027471 T2 DE 69027471T2 DE 69027471 T DE69027471 T DE 69027471T DE 69027471 T DE69027471 T DE 69027471T DE 69027471 T2 DE69027471 T2 DE 69027471T2
- Authority
- DE
- Germany
- Prior art keywords
- processor
- debug
- coupled
- debugging
- received
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000002093 peripheral effect Effects 0.000 title claims description 57
- 238000012545 processing Methods 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 13
- 238000011161 development Methods 0.000 description 27
- 230000018109 developmental process Effects 0.000 description 27
- 238000013461 design Methods 0.000 description 15
- 238000012360 testing method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000002405 diagnostic procedure Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011022 operating instruction Methods 0.000 description 2
- 238000013024 troubleshooting Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3656—Software debugging using additional hardware using a specific debug interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Microcomputers (AREA)
Description
- Die Erfindung betrifft Entwicklungssystem-Hilfsprogramme und insbesondere eine Standard-Fehlersuchperipherie zur Schaffung von Entwicklungssystemunterstützung
- Heutige Hochleitungsmikroprozessoren und Mikrocomputer stellen immer größer werdende Anforderungen an Entwicklungsystemhilfsprogramme, die zur Fehlersuche in diesen hochentwickelten integrierten Schaltungen verwendet werden. Außerdem erfordert die erhöhte Vielfalt von standardisierten und kundenspezifischen Mikrocomputer-(MCU-) eine fundamentale Änderung im Design von Entwicklungssystem-Hilfsprogrammen. Neue Mikroprozessoren (MPU), die entworfen sind, um bei hohen Taktgeschwindigkeiten oberhalb von 33 MHz betrieben zu werden, treiben die Entwicklungssystemtechnologie an ihre Grenzen. Mittlerweile stellen die weitverbreitete Verwendung von existierenden Zentralverarbeitungseinheits-(CPU-)Designs für den Prozessorkern in MCUs Beschränkungen des Designs der Entwicklungssystem-Hilfprogramme dar. Mit der Verkürzung des Designzyklus für diese standardisierten und kundenspezifischen Kern-MCUs wird eine gleichsame Verfügbarkeit von Entwicklungssystem-Hilfprogrammen ständig problematischer. Konsequenterweise ist das Problem derart, daß Hochleistungsentwicklungssystem-Hilfsprogramme zeitig zur Verfügung stehen, um die große Vielfalt an Mikroprozessoren und Mikrocomputern, die auf den Markt kommen, zu unterstützen.
- Der herkömmliche Designansatz für Entwicklungssystemunterstützung vertraut auf eine In-Circuit-Emulation zur Fehlersuche (zum Debuggen) der MCU/MPU-Prototyp-Software/Hardware. Typischerweise erlaubt die In-Curcuit-Emulation dem Software- Designer, die Ausführung der Software durch Unterbrechen der Programmausführung zu verschiedenen Zeitpunkten und durch Untersuchen des Inhalts der internen Register, Speicherstellen, und dergleichen zu verfolgen. In einigen Designs arbeitet der In-Curcuit-Emulator in einem Vordergrund- und Hintergrundmodus, wodurch der Emulator das Anwendungsprogramm (Nicht- Emulation) in dem Vordergrundmodus und das Fehlersuchprogramm (Emulation) in dem Hintergrundmodus verarbeitet. Demgemäß schaltet der In-Curcuit-Emulator Bänke zwischen Vordergrundund Hintergrundspeicherplatz während der Ausführung und dem Debuggen des Benutzerprogramms, weshalb die MCU in einem erweiterten Modus arbeiten muß, der die Rekonstruktion der I/O- Ports zu der externen Bus-Schnittstelle, die verloren worden sind, ermöglicht. Im allgemeinen erfordert das Vor- und Zurückschalten zwischen den Vordergrund- (Benutzer-) und Hintergrund- (Fehlersuch-) Speicherbänken ein substantielles Ausmaß an externer Pufferschaltung, um dem Betrieb der MCU in einem erweiterten Modus zu ermöglichen. Oftmals degradiert diese zusätzliche Pufferschaltung die Performance des Emulators und verhindert somit eine Echtzeitschaltungsemulation. Da die Implementierung des Vordergrund/Hintergrund- Speicherbankschalters ein wesentliches Ausmaß an externer Schaltung erfordert, wird eine Emulatorprüfeinrichtung anstelle einer kleinen Nebenplatinenprüfeinrichtung verwendet. Das Design der resultierenden Emulatorprüfeinrichtung ist zeitaufwendig und kostenaufwendig aufgrund der erforderlichen Entwicklungssystem-Entwicklungsausgaben.
- Die europäische Patentanmeldung EP-A-0191632 lehrt die Verwendung von einem ROM-Emulator zum diagnoseförmigen Prüfen eines auf einem Mikroprozessor basierenden Systems. Der ROM- Emulator erzielt eine Steuerung des Mikroprozessors in dem zu testenden Gerät (DUT) und veranlaßt dann, daß der Mikroprozessor eine Reihe von Diagnosetests ablaufen läßt, die durch einen externen Computer (d.h. ein Entwicklungssystem) gesteuert werden. Im Benutzermodus liefert ein ROM Betriebsbefehle an den Mikroprozessor. Im Fehlersuchmodus liefert der ROM- Emulator die Betriebsbefehle an den Mikroprozessor. Somit setzt die in dieser europäischen Patentanmeldung beschriebene Anordnung im wesentlichen den ROM in dem DUT außer Kraft und setzt einen ROM-Emulator, der über ein Bandkabel durch einen parallelen I/O-Port mit dem DUT verbunden ist, ein. Der ROM- Emulator dieser Anwendung illustriert die oben beschriebenen Probleme; das Vorwärts- und Rückwärtsschalten zwischen der Vordergrund- (Benutzer-)Speicherbank und der Hintergrund (Fehlersuch-)Speicherbank erfordert ein wesentliches Ausmaß an externer Pufferschaltung, um den Betrieb des DUT in einem erweiterten Modus zu ermöglichen.
- In Systemen gemäß dem Stand der Technik haben Designer Port- Ersetzungseinrichtungen oder Entkontaktierungseinrichtungen (bond out devices) beim Versuch eingesetzt, das Ausmaß an erforderlicher externer Schaltung zu verringern. Der primäre Nachteil bei Verwendung einer Port-Ersetzungs- oder Entkontaktiereinrichtung ist das Erfordernis nach zusätzlichen Design- und nach Wartungsressourcen. Im wesentlichen muß der Systemdesigner Designressourcen für die Port-Ersetzungs- oder Entkontaktierungseinrichtung, zusätzlich zu den Ressourcen, die für das MCU/MPU-Design erforderlich sind, zur Verfügung stellen. Noch ein weiterer Ansatz, der in der EP-A-0313848 von Motorola, Inc. offenbart ist, ist es, einen Background- Modus in den CPU-Kern zu integrieren. Diese Lösung ist in einigen Fällen optimal, aber sie ist oft unpraktisch, um andere als kleinere Modifikationen an existierenden CPU-Kernen durchzuführen.
- Eine Aufgabe der vorliegenden Erfindung ist es, die Möglichkeit einer Hintergrundmodusverarbeitung in einem existierenden CPU-Kern ohne Modifikation des Kerndesigns zu schaffen.
- Eine andere Aufgabe der vorliegenden Erfindung ist es, Realzeit-In-Curcuit-Emulatoren für MCUs oder MPUs beliebig hoher Taktgeschwindigkeiten zu schaffen.
- Eine weitere Aufgabe der vorliegenden Erfindung ist es, ein Verfahren zur wesentlichen Verringerung der Designzykluszeit für Entwicklungssystem-Hilfsprogramme zu schaffen.
- Gemäß der vorliegenden Erfindung wird geschaffen eine Fehlersuchperipherie für ein Datenverarbeitungssystem, wobei das Datenverarbeitungssystem an eine externe Quelle gekoppelt ist und einen Datenprozessor zum Ausführen einer ersten Befehlssequenz, die von einem Befehlsspeicher über einen internen Kommunikationsbus empfangen wird, und zum Ausführen einer Sequenz von Fehlersuchbefehlen, die von der Fehlersuchperiphene über den internen Kommunikationsbus empfangen wird, hat, wobei die Fehlersuchperipherie aufweist:
- eine Mehrzahl von externen Anschlüssen;
- eine Steuereinrichtung, die an wenigstens eine der Mehrzahl der externen Anschlüsse gekoppelt ist, um ein Fehlersuchstartsignal von der externen Quelle zu empfangen, und um eine Steuerung des Prozessors durch Liefern eines Fehlersuch- Interrupt-Signals an den Prozessor als Antwort auf das Fehlersuchstartsignal zu übernehmen;
- eine Registereinrichtung, die an den internen Kommunikationsbus gekoppelt ist, um Informationen zu speichern, die von dem Prozessor empfangen wird, und um die alternierende Befehlssequenz zu speichern, die von der externen Quelle empfangen wird, wobei die Registereinrichtung aufweist:
- ein serielles Interface, das an die externe Quelle über wenigstens einen der Mehrzahl der externen Anschlüsse gekoppelt ist, um die extern zur Verfügung gestellten Fehlersuchbefehle zu empfangen und um gleichzeitig in einem Fehlersuchmodus über die Steuereinrichtung Daten, die von dem Prozessor empfangen wurden, an die externe Quelle zu liefern,
- ein paralleles Interface, das über den internen Kommunikationsbus an den Prozessor gekoppelt ist, um die extern gelieferten Fehlersuchbefehle an den Prozessor zu liefern und um in dem Fehlersuchmodus Daten von dem Prozessor zu empfangen; und
- eine Adreß-Decodereinrichtung, die an die Registereinrichtung gekoppelt ist, um die Registereinrichtung als Antwort auf eine alternierende Sequenz von Befehlsadressen, die von dem Prozessor über das parallele Interface empfangen wird, freizugeben, wobei die alternierende Sequenz von Befehlsadressen in ihrer Anzahl einer vorbestimmten Anzahl von Speicheradressen, die für die Fehlersuchperipherie vorgesehen sind, entspricht.
- Ein Datenverarbeitungssystem, das eine Fehersuchperipherie gemäß der Erfindung aufweist, ist auch offenbart und in Anspruch 2 der beigefügten Ansprüche beansprucht.
- Kurze Beschreibung der Zeichnungen
- Fig. 1 ist ein Blockdiagramm, das eine bevorzugte Ausführungsform eines Datenverarbeitungssystems mit Kernprozessor beinhaltender integrierter Schaltung darstellt.
- Fig. 2 ist ein Blockdiagramm, das eine bevorzugte Ausführungsform der internen Architektur der Fehlersuchperipherie darstellt.
- Die Begriffe "Behaupten", "Behauptung", "Negieren" und "Negierung" werden verwendet, um eine Unklarheit bei Behandlung einer Mischung von "positiv logischen" und "negativ logischen" Signalen zu vermeiden. "Behaupten" und "Behauptung" werden verwendet, um anzuzeigen, daß ein Signal aktiv oder logisch wahr gemacht wird. "Negieren" und "Negierung" werden verwendet, um anzuzeigen, daß ein Signal unaktiv oder logisch falsch gemacht wird.
- In Fig. 1 ist ein Blockdiagramm eines Datenverarbeitungssystems mit Kernprozessor beinhaltender integrierter Schaltung 10 gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung gezeigt. Das Datenverarbeitungssystem 10 umfaßt im allgemeinen eine Zentralverarbeitungseinheit (CPU) 12, einen Speicher 14 und eine Fehlersuchperipherie 16. Ein CPU- interner Bus 18 ermöglicht die Kommunikation zwischen der CPU 12 und der Fehlersuchperipherie 16 und dem Speicher 14. Ein Entwicklungssystem 20 arbeitet mit dem Datenverarbeitungssystern zusammen, um beim "Debuggen" von Software und Hardware des Datenverarbeitungssystems 10 zu assistieren. Die externe Emulatorschaltung des Entwicklungssystems 20 ermöglicht es dem Verwender, verschiedene Funktionen durchzuführen, wie beispielsweise das Setzen von und Antworten auf bedingte Programmstopps, das Anhalten von Programmausführung der CPU 12, um den Inhalt verschiedener interner Register zu untersuchen und zu ändern, und die Softwareausführung zu verfolgen.
- In einer bevorzugten Ausführungsform arbeitet das Verarbeitungssystem 10 in zwei Modi, einem Benutzermodus und einem Fehlersuchmodus (Debug-Modus). In dem Benutzermodus arbeitet das Datenverarbeitungssystem 10 auf konventionelle Art und Weise. Die CPU 12 ruft einen Befehl von dem Speicher 14 ab, decodiert den Befehl, führt den Befehl aus, und ruft den nächsten Befehl in der Sequenz zur Ausführung ab. Typischerweise läuft die Ausführung des Programms auf sequentielle Art und Weise weiter bis die CPU 12 einen bedingten Befehl oder eine Unterbrechung (interrupt) empfägt. Die Art und Weise, mit welcher die CPU 12 eine Unterbrechung behandelt, ist eine Funktion des Prozessordesigns. Im allgemeinen bewirkt das Auftreten einer Unterbrechung, daß die CPU 12 ihren normalen Betrieb aussetzt und beginnt eine Ausnahmeverarbeitung oder eine Unterbrechungsserviceroutine auszuführen. In der vorliegenden Erfindung tritt die CPU 12 als Antwort auf eine Unterbrechungsanfrage, die als Ergebnis eines internen Ereigniserkenners oder von einer externen Quelle, wie beispielsweise dem Entwicklungssystem 20, resultieren kann, in den Debug(Emulations-)Modus ein. Während der Emulation (Debug-Modus) ruft die CPU 12 Befehle von der Debug-Periphene 16 anstatt von dem Speicher 14 ab. Demgemäß setzt die CPU 12 die Ausführung des Benutzer-(Anwendungs-)Programms, das in dem Speicher 14 gespeichert ist, aus, und beginnt die Ausführung von Befehlen, die von der Debug-Periphene 16 erhalten werden. Im wesentlichen funktioniert die Debug-Periphene 16 als ein alternativer Speicher in dem Datenverarbeitungssystem 10.
- In Fig. 2 ist ein Blockdiagramm gezeigt, das eine bevorzugte Ausführungsform der internen Architektur der Debug-Periphene 16 zeigt. Die Debug-Periphene 16 ist ein Einzelwort-Dualport-Speicher mit parallelem Lese-Schreib-Zugriff auf einer Seite und synchronem, seriellem Duplex-Lese-Schreib-Zugriff auf der anderen Seite. In der bevorzugten Ausführungsform umfaßt die Debug-Periphene 16 ein Schieberegister 22, einen Adreß-Decodierer 24 und einen Controller 26. Die serielle Seite der Debug-Periphene 16 ist mit dem Entwicklungssystem 20 über einen seriellen Eingabeblock (SI) 28, einem seriellen Takt/Programmstopp-Eingabeblock (SCLK/BRK*) 30 une einem seriellen Ausgabe/Abruf-Block (SO/ATTN*) 32, der entsprechende Signale SERIAL IN, SCLK/BRK*, und SERIAL OUT/ATTN* liefert, verbunden. Demgemäß steuern die SERIAL IN, SCLK/BRK* und SERIAL OUT/ATTN* Signale den seriellen Datentransfer zwischen der Debug-Periphene 16 und dem Entwicklungssystem 20. Ein Parallelzugriff auf die Debug-Periphene 16 wird durch die Verbindung des Befehls/Datenbus 34 zu dem CPU-internen Bus 18 geschaffen, und auf die Debug-Periphene 16 wird im wesentlichen auf dieselbe Art und Weise wie auf jede andere Peripherie auf einen Chip zugegriffen. Da die Befehle mehrere Wortlängen sein können, ist die Debug-Periphene 16 an 16 benachbarten Stellen in dem Speicherplatz der CPU 12 adressiert. Aus Gründen der Einfachheit wird die Anfangsadresse der Debug-Peripherie 16 im folgenden als DEBUG bezeichnet und somit sind die Adressen, bei denen die CPU 12 auf die Debug-Penphene 16 zugreifen kann, DEBUG bis DEBUG+$F.
- Das Datenverarbeitungssystem 10 tritt bei Auftreten einer Programmstopp-Bedingung, die zu einer Unterbrechung der CPU 12 führt, in den Debug-Modus ein. Der Programmstopp kann extern das Ergebnis der Behauptung des BRK-Signals (durch das Entwicklungssystem 20) oder das Ergebnis eines internen Ereigniserkenners, der aus einem Register und einem Komparator (nicht gezeigt) besteht, sein. In dem Fall, in dem die Unterbrechung durch ein externes BRK-Signal bewirkt wird, antwortet der Controller 26 durch Behauptung eines Debug- Unterbrechung-Anforderungs-(DEBUG IRQ*-)Signals an die CPU 12. Der Controller 26 setzt das DEBUG IRQ*-Signal auf den CPU-internen Bus 18, was bewirkt, daß die CPU 12 durch Behaupten einer Debug-Unterbrechungsbestätigungssignals (DEBUG IACK*) anwortet, und beginnt die Ausführung einer Debug- Unterbrechungsserviceroutine. Die CPU 12 adressiert automatisch (autovector) die Debug-Periphene 16 auf die Adresse DEBUG durch Plazieren der DEBUG-Adresse auf den CPU-internen Bus 18. Als Antwort auf den Empfang der DEBUG-Adresse startet der Adreß-Decoder 24 das Schieberegister 22 über ein SELECT- Eingabesignal.
- Die CPU 12 startet einen Befehlsabruf zyklus von der Debug- Peripherie 16 bei der Adresse DEBUG. Wenn der Befehlszyklus beginnt, antwortet das Schieberegister 22 durch Behaupten eines seriellen Ausgabesignals (SO). Der Controller 26, der mit dem Schieberegister 22 gekoppelt ist, empfängt das SO-Signal und behauptet das ATTN*-Signal, wodurch angezeigt wird, daß die Peripherie einen Abruf erfordert, und das Entwicklungssystem 20 von dem Beginn des Debug-Instruktionszyklus benachrichtigt wird. Im wesentlichen wird der Start des Instruktionsabrufzyklus extern durch Steuern des SO-Anschlusses von seinem ruhigen Hochpegel auf einen Tiefpegel extern reflektiert. Das Entwicklungssystem 20 antwortet durch Schreiben eines Befehls von dem Befehlssatz der CPU 12 in das Schieberegister 22 über den SI-Eingang 28. Der Controller 26 empfängt das SCLK-Signal von dem Entwicklungssystem 20 und liefert das SCLK-Signal an das Schieberegister 22. Konsequenterweise wird der von dem Entwicklungssystem 20 gelieferte Befehl mit dem SCLK-Signal in das Schieberegister 22 über den SI-Eingabeblock 28 getaktet. Wenn die Daten in das Schieberegister 22 geschrieben werden, kann jeglicher vorherige Schreibzugriff, den die CPU 12 auf die Debug-Periphene 16 gemacht hat, simultan über den SO-Ausgabeblock 32 zum Entwicklungssystem 20 ausgelagert werden. Konsequenterweise wird die CPU 12, wenn die CPU 12 einen Schreibzugriff auf die Debug-Peripherie 16 durchführt, bevor der derzeitige Befehl oder die Daten, welche in der Debug-Periphene 16 resident sind, angefordert werden, das derzeitige Wort in der Debug- Peripherie 16 für ungültig erklären. In dem Fall, daß dies auftritt, wird die Debug-Periphene 16 das Entwicklungssystem 20 über ein Status-Bit in dem seriellen Ausgabestrom in Kenntnis setzen, um das Wort neu zu laden.
- Wenn der Befehl vollständig in dem Schieberegister 22 (ohne Fehler) zusammengesetzt ist, wird der derzeitige Befehl auf den Befehls/Datenbus 34 über den parallelen I/O-Port gesetzt. Der Controller 26 behauptet dann ein READY-Signal, wodurch die CPU 12 in Kenntnis gesetzt wird, daß der Befehl übertragen werden kann. Die CPU 12 überträgt den Befehl von dem Instruktions/Datenbus 34 und vervollständigt den Befehisabrufzyklus. Die CPU 12 fährt mit der Ausführung des Befehls fort. Um die Programmausführung innerhalb des 16-Byte-DEBUG- Adreßraums zu halten, sind die nachfolgenden Befehle, die durch die CPU 12 abgerufen werden, entweder Sprung- oder Verzweigungsbefehle zurück zu DEBUG. Das Design des Adreßschemas ist derart, daß jede der 16 benachbarten Adressen die CPU 12 zu dem Schieberegister 22 der DEBUG-Periphene 16 zurückverweist. Somit fährt die CPU 12 fort, Befehle von der DEBUG Peripherie 16 an den bezeichneten Adressen DEBUG bis $F abzurufen, bis das Debug-Vorprogramm abgeschlossen ist und der Benutzer wünscht, mit der Ausführung des Anwendungscodes fortzufahren. Konsequenterweise ist der Betriebsrnodus, normal oder debug, für die CPU 12 transparent, da in jedem Betriebsmodus (normal oder debug) die CPU 12 denselben Befehlssatz ausführt. Im wesentlichen kann die CPU 12 den Unterschied zwischen dem Befehlstyp in jedem der Betriebsmodi nicht unterscheiden. Auf Beendigung des Debug-Vorprogramms hin ist der letzte Befehl, der über den SI-Eingabeblock 28 in die Debug-Peripherie 16 geschrieben wird, ein Rücksprung von der Unterbrechung. Die Befehle, die während der Dauer des Debug- Vorprogramms ausgeführt werden, werden verwendet, um interne Register, Speicher zu lesen und zu schreiben, oder für irgendwelche anderen Operationen, die mit dem Debuggen des Systems zusammenhängen. Demgemäß kann das Entwicklugssystem 20 die herkömmlichen In-Curcuit-Emulationsbasiseinheiten implementieren, einschließlich dem Einsetzen von und der Antwort auf Programmstopps, dem Halten der Auführung des Datenprozessors, um den Inhalt von Systemregistern zu untersuchen, und dem Verfolgen der Software-Ausführung.
- Das serielle Protokoll für die Debug-Periphene 16 unterstützt eine einfache Fehlererkennung durch Verwendung von Start-, Stopp- und Paritäts-Bits. Das Protokoll erfordert N+7 Bits pro Transfer, weshalb der serielle Takt von dem Entwicklungssystem 20 gezählt wird, um die N+7 Takte, die erforderlich sind, um den Transfer zu vervollständigen, zu schaffen. Die folgende Tabelle stellt die Funktion eines jeden Bits in dem seriellen Ein- und Ausgabe-Bitstrom dar. TABELLE 1 SERIELLES PROTOKOLL
- Die Debug-Periphene 16 vermeidet das Erfordernis eines großen Ausmaßes an komplexer externer Emulatorschaltung, weshalb die Größe der Emulationsprüfeinrichtung in ihrer Größe wesentlich verringert ist. Die Prüfeinrichtung kann eine Nebenplatine in der Schaltungsplatine des Benutzers sein, die direkt in die MCU/MPU gesteckt oder an dieselbe angeklemmt wird. Beispielsweise wird eine typische Emulationssonde mit den Dimensionen 9 x 12 x 2 Inch durch Verwendung der Debug-Periphene 16 auf 3 x 4 x 1 Inch (oder weniger) verringert. Die Vermeidung des Emulatorkabels, das im allgemeinen bei herkömmlichen In-Curcuit-Emulatoren erforderlich ist, mindert das Erfordernis, den Prozessor vollständig zu puffern. Die Verringerung des Ausmaßes an Pufferschaltung ermöglicht eine Realzeitemulation mit Hochgeschwindigkeits-MPU/MCU- Chips ohne signifikante Zeitablaufverschlechterung.
- Die Debug-Periphene 16 schafft einen Ladepfad zu dem Speicher 14 (RAN) auf dem Chip, wodurch das Erfordernis nach einem Urlader-ROM vermieden wird. Wenn das BRK*-Eingabesignal auf die Negierung des RESET-Signals (nicht gezeigt) der CPU 12 hin behauptet wird, fordert die CPU 12 ihren ersten Befehl von der Debug-Periphene 16 an. Dieses Merkmal ermöglicht, daß das Entwicklungssystem 20 ein beliebiges Programm in den Speicher 14 auf dem Chip über das Schieberegister 22 der Debug-Periphene 16 schreibt. Wenn das Programm einmal geladen ist, kann die Debug-Periphene 16 die Steuerung an das Programm weitergeben.
- Die Debug-Periphene 16 erweitert die Prüfbarkeit der MCU/MPU im Test auf eine Vielzahl von Arten. Beispielsweise kann der Inhalt eines maskierten ROMs durch das serielle Interface verifiziert werden ohne in irgendeinen speziellen Testmodus einzutreten. Außerdem können Prozessorregister, ein RAM auf dein Chip und andere Peripherien auf dem Chip getestet werden, ohne das Erfordernis, in einen speziellen Testmodus einzutreten. Demgemäß schafft die Debug-Periphene 16 ein flexibles effizientes Standarddesign, das bei minimalen Kosten leicht von einer integrierten Schaltung zu einer anderen portiert werden kann.
- Während die Erfindung in einer bevorzugten Ausführungsform beschrieben worden ist, ist es für den Fachmann klar, daß die offenbarte Erfindung auf vielzahlige Weisen modifiziert werden kann und viele Ausführungsformen, die anders als die speziell dargelegte und oben beschriebene sind, annehmen kann. Beispielsweise kann die CPU 12 den Unterbrechungsvektor direkt von der Debug- Peripherie 16 erhalten, im Gegensatz zu der bevorzugten Ausführungsform, in welcher das Unterbrechungssignal bewirkt, daß die CPU 12 die Adresse (DEBUG) der Debug-Periphene 16 automatisch adressiert. Demgemäß ist beabsichtigt, durch die beigefügten Ansprüche alle Modifikationen der Erfindung, die in den Umfang der Erfindung fallen, abzudecken.
Claims (2)
1. Eine Fehlersuchperipherie für ein Datenverarbeitungssystem
(10), wobei das Datenverarbeitungssystem an eine externe
Quelle (20) gekoppelt ist und einen Datenprozessor (12) zum
Ausführen einer ersten Befehlssequenz, die von einem
Befehlsspeicher (14) über einen internen Kommunikationsbus (18)
empfangen wird, und zum Ausführen einer Sequenz von
Fehlersuchbefehlen, die von der Fehlersuchperipherie (16) über den
internen Kommunikationsbus (18) empfangen wird, hat, wobei die
Fehlersuchperipherie aufweist:
eine Mehrzahl von externen Anschlüssen (30, 32);
eine Steuereinrichtung (26) , die an wenigstens eine der
Mehrzahl der externen Anschlüsse (30, 32) gekoppelt ist, um ein
Fehlersuchstartsignal von der externen Quelle (20) zu
empfangen, und um eine Steuerung des Prozessors (12) durch Liefern
eines Fehlersuch-Interrupt-Signals an den Prozessor (12) als
Antwort auf das Fehlersuchstartsignal zu übernehmen;
eine Registereinrichtung (22, 28, 34), die an den internen
Kommunikationsbus (18) gekoppelt ist, um Informationen zu
speichern, die von dem Prozessor empfangen wird, und um die
alternierende Befehlssequenz zu speichern, die von der
externen Quelle empfangen wird, wobei die Registereinrichtung
aufweist:
ein serielles Interface (28) , das an die externe Quelle (20)
über wenigstens einen der Mehrzahl der externen Anschlüsse
(30, 32) gekoppelt ist, um die extern zur Verfügung
gestellten
Fehlersuchbefehle zu empfangen und um gleichzeitig in
einem Fehlersuchmodus über die Steuereinrichtung (26) Daten,
die von dem Prozessor (12) empfangen wurden, an die externe
Quelle (20) zu liefern,
ein paralleles Interface (34), das über den internen
Kommunikationsbus (18) an den Prozessor (12) gekoppelt ist, um die
extern gelieferten Fehlersuchbefehle an den Prozessor (12) zu
liefern und um in dem Fehlersuchmodus Daten von dem Prozessor
(12) zu empfangen; und
eine Adress-Decodereinrichtung (24) , die an die
Registereinrichtung (22, 28, 34) gekoppelt ist, um die
Registereinrichtung (22, 28, 34) als Antwort auf eine alternierende Sequenz
von Befehlsadressen, die von dem Prozessor (12) über das
parallele Interface (34) empfangen wird, freizugeben, wobei die
alternierende Sequenz von Befehlsadressen in ihrer Anzahl
einer vorbestimmten Anzahl von Speicheradressen, die für die
Fehlersuchperipherie vorgesehen sind, entspricht.
2. Ein Datenverarbeitungssystem (10) , das an eine externe
Quelle (20) gekoppelt ist, wobei das Datenverarbeitungssystem
(10) aufweist:
einen Prozessor (12) zum Ausführen einer ersten
Befehlssequenz, die von dem Prozessor (12) als Antwort auf eine erste
Sequenz von Befehlsadressen empfangen wird, und zum Ausführen
einer alternierenden Sequenz von extern zur Verfügung
gestellten Befehlen, die durch den Prozessor (12) als Antwort
auf eine alternierende Sequenz von Befehlsadressen empfangen
wird;
einen internen Prozessorkommunikationsbus (18) , der an den
Prozessor (12) gekoppelt ist;
einen Speicher (14) , der an den internen
Prozessorkommunikationsbus (18) gekoppelt ist, zur Speicherung einer Mehrzahl
von Befehlen und um die erste Befehlssequenz an den Prozessor
(12) als Antwort auf die erste Sequenz der Befehlsadressen,
die von dem Prozessor (12) empfangen wird, zu liefern; und
eine Fehlersuchperipherie (16) , die an den internen
Prozessorkommunikationsbus (18) gekoppelt ist, um die Steuerung des
Prozessors (12) als Antwort auf ein Fehlersuchstartsignal,
das von einer externen Quelle (20) geliefert wird, zu
übernehmen, wobei die Fehlersuchperipherie (16) die alternierende
Sequenz von extern zur Verfügung gestellten Befehlen von der
externen Quelle (20) empfängt, und um die alternierende
Sequenz von extern zur Verfügung gestellten Befehlen an den
Prozessor (12) als Antwort auf die alternierende Sequenz von
Befehlsadressen zu liefern, wobei die Fehlersuchperipherie
(16) weiter Daten speichert, die von dem Prozessor (12)
empfangen werden, und Daten an die externe Quelle (20) liefert,
wobei die Fehlersuchperipherie (16) aufweist:
eine Mehrzahl von externen Anschlüssen (30, 32)
eine Steuereinrichtung (26) , die an wenigstens eine der
Mehrzahl der externen Anschlüsse (30, 32) gekoppelt ist, um die
Steuerung des Prozessors (12) durch Liefern eines Fehlersuch-
Interrupt-Signals an den Prozessor (12) als Antwort auf das
Fehlersuchstartsignal zu übernehmen;
eine Registereinrichtung (22, 28, 34), die an den internen
Prozessorkommunikationsbus (18) und die Steuereinrichtung
(26) gekoppelt ist, um Information, die von dem Prozessor
empfangen wird, zu speichern und die alternierende Sequenz
von Befehlen, die von der externen Quelle empfangen wird, zu
speichern, wobei die Registereinrichtung aufweist:
ein serielles Interface (28) , das an die externe Quelle (20)
gekoppelt ist, um die alternierende Sequenz von extern zur
verfügung gestellten Befehlen zu empfangen und um die von dem
Prozessor (12) empfangenen Daten an die Steuereinrichtung
(26) im Fehlersuchmodus zu liefern;
ein paralleles Interface (34) , das an den Prozessor (12) über
den internen Kommuniktionsbus (18) gekoppelt ist, um die
alternierende Sequenz der extern zur Verfügung gestellten
Befehle an den Prozessor (12) zu liefern und um Daten von dem
Prozessor im Fehlersuchmodus zu empfangen; und
eine Adress-Decodereinrichtung (24), die an den internen
Prozessorkommunikationsbus (18) gekoppelt ist, um die
Registereinrichtung (22, 28, 34) als Antwort auf die alternierende
Sequenz von Befehlsadressen, die von dem Prozessor (12)
empfangen wird, freizugeben, wobei die alternierende Sequenz von
Befehisadressen in ihrer Anzahl einer vorbestimmten Anzahl an
Speicheradressen, die für die Fehlersuchperipherie vorgesehen
sind, entspricht.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/332,130 US5053949A (en) | 1989-04-03 | 1989-04-03 | No-chip debug peripheral which uses externally provided instructions to control a core processing unit |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69027471D1 DE69027471D1 (de) | 1996-07-25 |
DE69027471T2 true DE69027471T2 (de) | 1997-01-02 |
Family
ID=23296834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69027471T Expired - Fee Related DE69027471T2 (de) | 1989-04-03 | 1990-03-23 | Fehlersuchperipherie für Mikrorechner, Mikroprozessoren und Kernprozessor beinhaltende integrierte Schaltungen und Vorrichtung die diese Fehlersuchperipherie verwendet |
Country Status (6)
Country | Link |
---|---|
US (1) | US5053949A (de) |
EP (1) | EP0391173B1 (de) |
JP (1) | JP3105223B2 (de) |
KR (1) | KR0168656B1 (de) |
DE (1) | DE69027471T2 (de) |
HK (1) | HK1000737A1 (de) |
Families Citing this family (109)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6085336A (en) * | 1987-06-02 | 2000-07-04 | Texas Instruments Incorporated | Data processing devices, systems and methods with mode driven stops |
US5475631A (en) * | 1989-03-09 | 1995-12-12 | Micron Technology, Inc. | Multiport RAM based multiprocessor |
US5210864A (en) * | 1989-06-01 | 1993-05-11 | Mitsubishi Denki Kabushiki Kaisha | Pipelined microprocessor with instruction execution control unit which receives instructions from separate path in test mode for testing instruction execution pipeline |
US5394544A (en) * | 1989-08-07 | 1995-02-28 | Ricoh Co., Ltd. | Software system debugger with distinct interrupt vector maps for debugging and application programs |
JPH03204737A (ja) * | 1990-01-08 | 1991-09-06 | Nec Corp | 信号処理プロセッサのデバッグ回路 |
FR2656940A1 (fr) * | 1990-01-09 | 1991-07-12 | Sgs Thomson Microelectronics | Circuit integre a microprocesseur fonctionnant en mode rom interne et eprom externe. |
JPH03248244A (ja) * | 1990-02-27 | 1991-11-06 | Toshiba Corp | キャッシュメモリを備えたプロセッサ |
US5228039A (en) * | 1990-05-09 | 1993-07-13 | Applied Microsystems Corporation | Source-level in-circuit software code debugging instrument |
US5581695A (en) * | 1990-05-09 | 1996-12-03 | Applied Microsystems Corporation | Source-level run-time software code debugging instrument |
EP0474256A3 (en) * | 1990-09-07 | 1993-01-27 | Nec Corporation | In-circuit emulator |
EP0495254B1 (de) * | 1991-01-17 | 1996-08-14 | Koninklijke Philips Electronics N.V. | Emulator zur Emulation eines verbindungsloses Mikrokontroller und Mikrokontroller zur Verwendung in einem solchen Emulator |
US5321828A (en) * | 1991-06-07 | 1994-06-14 | Step Engineering | High speed microcomputer in-circuit emulator |
JPH05181824A (ja) * | 1991-12-27 | 1993-07-23 | Fujitsu Ltd | データ管理方式 |
DE69317149T2 (de) * | 1992-05-12 | 1998-10-08 | Nec Corp | Mikrocomputer mit Befehlsspeicher für Befehle zum Auslesen interner Bedingungen |
FR2691817B1 (fr) * | 1992-05-27 | 1997-01-31 | Sgs Thomson Microelectronics | Procede et carte electronique pour le developpement d'un circuit integre. |
JPH05334459A (ja) * | 1992-05-28 | 1993-12-17 | Nec Corp | マイクロコンピュータ |
JPH06195478A (ja) * | 1992-07-21 | 1994-07-15 | Advanced Micro Devicds Inc | 集積回路 |
US5390332A (en) * | 1992-09-15 | 1995-02-14 | Sun Microsystems, Inc. | Method and apparatus for performing a takeover of a microprocessor |
FR2696561B1 (fr) * | 1992-10-02 | 1994-12-23 | Sgs Thomson Microelectronics | Micro-calculateur pouvant fonctionner en mode d'émulation avec des périphériques internes et externes. |
JP3210466B2 (ja) * | 1993-02-25 | 2001-09-17 | 株式会社リコー | Cpuコア、該cpuコアを有するasic、及び該asicを備えたエミュレーションシステム |
US5539901A (en) * | 1993-09-30 | 1996-07-23 | Intel Corporation | Method and apparatus for system management mode support for in-circuit emulators |
US5430858A (en) * | 1993-11-24 | 1995-07-04 | Northrop Grumman Corporation | Method for RAM conservation employing a RAM disk area non-sequential addresses on arranged order basis to access executable procedures |
US5488688A (en) * | 1994-03-30 | 1996-01-30 | Motorola, Inc. | Data processor with real-time diagnostic capability |
US5572665A (en) * | 1994-04-21 | 1996-11-05 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor integrated circuit for developing a system using a microprocessor |
US5615331A (en) * | 1994-06-23 | 1997-03-25 | Phoenix Technologies Ltd. | System and method for debugging a computing system |
US5809293A (en) * | 1994-07-29 | 1998-09-15 | International Business Machines Corporation | System and method for program execution tracing within an integrated processor |
JP3380827B2 (ja) * | 1995-02-09 | 2003-02-24 | 三菱電機株式会社 | エミュレータ装置 |
US5701488A (en) * | 1995-06-07 | 1997-12-23 | Motorola, Inc. | Method and apparatus for restoring a target MCU debug session to a prior state |
US5737516A (en) * | 1995-08-30 | 1998-04-07 | Motorola, Inc. | Data processing system for performing a debug function and method therefor |
JP3846939B2 (ja) * | 1995-08-30 | 2006-11-15 | フリースケール セミコンダクター インコーポレイテッド | データプロセッサ |
US5704034A (en) * | 1995-08-30 | 1997-12-30 | Motorola, Inc. | Method and circuit for initializing a data processing system |
US5964893A (en) * | 1995-08-30 | 1999-10-12 | Motorola, Inc. | Data processing system for performing a trace function and method therefor |
US5544311A (en) * | 1995-09-11 | 1996-08-06 | Rockwell International Corporation | On-chip debug port |
US5869979A (en) | 1996-04-05 | 1999-02-09 | Altera Corporation | Technique for preconditioning I/Os during reconfiguration |
US5964863A (en) * | 1996-04-15 | 1999-10-12 | Motorola, Inc. | Method and apparatus for providing pipe fullness information external to a data processing system |
US5915083A (en) * | 1997-02-28 | 1999-06-22 | Vlsi Technology, Inc. | Smart debug interface circuit for efficiently for debugging a software application for a programmable digital processor device |
US6141740A (en) * | 1997-03-03 | 2000-10-31 | Advanced Micro Devices, Inc. | Apparatus and method for microcode patching for generating a next address |
US5983337A (en) * | 1997-06-12 | 1999-11-09 | Advanced Micro Devices, Inc. | Apparatus and method for patching an instruction by providing a substitute instruction or instructions from an external memory responsive to detecting an opcode of the instruction |
US6249881B1 (en) * | 1997-07-01 | 2001-06-19 | National Semiconductor Corporation | Method for enabling and servicing critical interrupts while running an interrupt based debug monitor |
KR100477138B1 (ko) * | 1997-08-13 | 2005-07-08 | 삼성전자주식회사 | 퍼스널컴퓨터시스템 |
US6356960B1 (en) | 1997-10-29 | 2002-03-12 | Sgs-Thomson Microelectronics Limited | Microprocessor having an on-chip CPU fetching a debugging routine from a memory in an external debugging device in response to a control signal received through a debugging port |
US6405335B1 (en) | 1998-02-25 | 2002-06-11 | Texas Instruments Incorporated | Position independent testing of circuits |
GB9805488D0 (en) * | 1998-03-13 | 1998-05-13 | Sgs Thomson Microelectronics | Microcomputer |
GB9805482D0 (en) * | 1998-03-13 | 1998-05-13 | Sgs Thomson Microelectronics | Microcomputer |
JPH11282709A (ja) * | 1998-03-27 | 1999-10-15 | Mitsubishi Electric Corp | インサーキットエミュレータ |
DE19835610A1 (de) | 1998-08-06 | 2000-02-10 | Siemens Ag | Programmgesteuerte Einheit und Verfahren zum Debuggen derselben |
JP2000099366A (ja) * | 1998-09-21 | 2000-04-07 | Fujitsu Ltd | 演算処理装置および演算処理装置のデバッグ方法 |
JP3736980B2 (ja) * | 1998-12-28 | 2006-01-18 | 富士通株式会社 | マイクロコントローラの評価装置および評価方法 |
JP2000266603A (ja) | 1999-03-19 | 2000-09-29 | Tokyo Electron Ltd | 放射温度測定方法及び放射温度測定装置 |
US6438664B1 (en) | 1999-10-27 | 2002-08-20 | Advanced Micro Devices, Inc. | Microcode patch device and method for patching microcode using match registers and patch routines |
US6728915B2 (en) | 2000-01-10 | 2004-04-27 | Texas Instruments Incorporated | IC with shared scan cells selectively connected in scan path |
US6769076B1 (en) * | 2000-02-07 | 2004-07-27 | Freescale Semiconductor, Inc. | Real-time processor debug system |
WO2001063416A1 (en) * | 2000-02-24 | 2001-08-30 | Bops Incorporated | Methods and apparatus for scalable array processor interrupt detection and response |
US6769080B2 (en) | 2000-03-09 | 2004-07-27 | Texas Instruments Incorporated | Scan circuit low power adapter with counter |
US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
US7765095B1 (en) | 2000-10-26 | 2010-07-27 | Cypress Semiconductor Corporation | Conditional branching in an in-circuit emulation system |
US8160864B1 (en) | 2000-10-26 | 2012-04-17 | Cypress Semiconductor Corporation | In-circuit emulator and pod synchronized boot |
US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
US6823282B1 (en) * | 2000-10-26 | 2004-11-23 | Cypress Semiconductor Corporation | Test architecture for microcontroller providing for a serial communication interface |
DE10116862A1 (de) * | 2001-04-04 | 2002-10-17 | Infineon Technologies Ag | Programmgesteuerte Einheit |
DE10125388A1 (de) * | 2001-05-23 | 2002-12-12 | Infineon Technologies Ag | Programmgesteuerte Einheit |
JP4437881B2 (ja) * | 2001-06-22 | 2010-03-24 | 富士通マイクロエレクトロニクス株式会社 | デバッグサポートユニットを有するマイクロコントローラ |
DE10132313A1 (de) * | 2001-07-06 | 2003-01-23 | Infineon Technologies Ag | Programmgesteuerte Einheit |
US7406674B1 (en) | 2001-10-24 | 2008-07-29 | Cypress Semiconductor Corporation | Method and apparatus for generating microcontroller configuration information |
US8078970B1 (en) | 2001-11-09 | 2011-12-13 | Cypress Semiconductor Corporation | Graphical user interface with user-selectable list-box |
US8042093B1 (en) | 2001-11-15 | 2011-10-18 | Cypress Semiconductor Corporation | System providing automatic source code generation for personalization and parameterization of user modules |
US8069405B1 (en) | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
US7774190B1 (en) | 2001-11-19 | 2010-08-10 | Cypress Semiconductor Corporation | Sleep and stall in an in-circuit emulation system |
US7844437B1 (en) | 2001-11-19 | 2010-11-30 | Cypress Semiconductor Corporation | System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit |
US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
US7770113B1 (en) | 2001-11-19 | 2010-08-03 | Cypress Semiconductor Corporation | System and method for dynamically generating a configuration datasheet |
KR100425692B1 (ko) * | 2002-01-23 | 2004-04-01 | 엘지전자 주식회사 | 프로세서의 외부 메모리 억세스 장치 |
US8103497B1 (en) | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
US7308608B1 (en) | 2002-05-01 | 2007-12-11 | Cypress Semiconductor Corporation | Reconfigurable testing system and method |
US7761845B1 (en) | 2002-09-09 | 2010-07-20 | Cypress Semiconductor Corporation | Method for parameterizing a user module |
US20040239635A1 (en) * | 2003-05-23 | 2004-12-02 | Lerner Ronald L. | Apparatus and method for loop-back testing in a system test/emulation environment |
US7295049B1 (en) | 2004-03-25 | 2007-11-13 | Cypress Semiconductor Corporation | Method and circuit for rapid alignment of signals |
US8136096B1 (en) * | 2004-07-23 | 2012-03-13 | Green Hills Software, Inc. | Backward post-execution software debugger |
US8132159B1 (en) | 2004-07-23 | 2012-03-06 | Green Hills Software, Inc. | Post-execution software debugger with event display |
US8271955B1 (en) | 2004-07-23 | 2012-09-18 | Green Hille Software, Inc. | Forward post-execution software debugger |
US8286125B2 (en) | 2004-08-13 | 2012-10-09 | Cypress Semiconductor Corporation | Model for a hardware device-independent method of defining embedded firmware for programmable systems |
US8069436B2 (en) | 2004-08-13 | 2011-11-29 | Cypress Semiconductor Corporation | Providing hardware independence to automate code generation of processing device firmware |
US7332976B1 (en) | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
US8089461B2 (en) | 2005-06-23 | 2012-01-03 | Cypress Semiconductor Corporation | Touch wake for electronic devices |
US7437616B2 (en) * | 2005-12-15 | 2008-10-14 | Atmel Corporation | Dual CPU on-chip-debug low-gate-count architecture with real-time-data tracing |
US8085067B1 (en) | 2005-12-21 | 2011-12-27 | Cypress Semiconductor Corporation | Differential-to-single ended signal converter circuit and method |
US8067948B2 (en) | 2006-03-27 | 2011-11-29 | Cypress Semiconductor Corporation | Input/output multiplexer bus |
US20070300042A1 (en) * | 2006-06-27 | 2007-12-27 | Moyer William C | Method and apparatus for interfacing a processor and coprocessor |
US7925862B2 (en) * | 2006-06-27 | 2011-04-12 | Freescale Semiconductor, Inc. | Coprocessor forwarding load and store instructions with displacement to main processor for cache coherent execution when program counter value falls within predetermined ranges |
US7805590B2 (en) * | 2006-06-27 | 2010-09-28 | Freescale Semiconductor, Inc. | Coprocessor receiving target address to process a function and to send data transfer instructions to main processor for execution to preserve cache coherence |
US8392632B2 (en) * | 2007-02-14 | 2013-03-05 | Samsung Electronics Co., Ltd | Method and apparatus for data processing in mobile communication system |
US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
US8040266B2 (en) | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
US8092083B2 (en) | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
US8130025B2 (en) | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
US8065653B1 (en) | 2007-04-25 | 2011-11-22 | Cypress Semiconductor Corporation | Configuration of programmable IC design elements |
US8266575B1 (en) | 2007-04-25 | 2012-09-11 | Cypress Semiconductor Corporation | Systems and methods for dynamically reconfiguring a programmable system on a chip |
US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
US8049569B1 (en) | 2007-09-05 | 2011-11-01 | Cypress Semiconductor Corporation | Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes |
JP5067111B2 (ja) * | 2007-10-18 | 2012-11-07 | 富士通セミコンダクター株式会社 | 半導体集積回路及びデバッグモード決定方法 |
US9448964B2 (en) | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
US9665466B2 (en) | 2014-09-02 | 2017-05-30 | Nxp Usa, Inc. | Debug architecture for multithreaded processors |
GB2582790B (en) * | 2019-04-03 | 2021-03-31 | Graphcore Ltd | Debugging mechanism |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4231087A (en) * | 1978-10-18 | 1980-10-28 | Bell Telephone Laboratories, Incorporated | Microprocessor support system |
US4338660A (en) * | 1979-04-13 | 1982-07-06 | Relational Memory Systems, Inc. | Relational break signal generating device |
US4349870A (en) * | 1979-09-05 | 1982-09-14 | Motorola, Inc. | Microcomputer with programmable multi-function port |
US4486827A (en) * | 1979-11-09 | 1984-12-04 | Zilog, Inc. | Microprocessor apparatus |
US4312066A (en) * | 1979-12-28 | 1982-01-19 | International Business Machines Corporation | Diagnostic/debug machine architecture |
US4419756A (en) * | 1980-06-05 | 1983-12-06 | Bell Telephone Laboratories, Incorporated | Voiceband data set |
US4463421A (en) * | 1980-11-24 | 1984-07-31 | Texas Instruments Incorporated | Serial/parallel input/output bus for microprocessor system |
US4441154A (en) * | 1981-04-13 | 1984-04-03 | Texas Instruments Incorporated | Self-emulator microcomputer |
JPS58105366A (ja) * | 1981-12-16 | 1983-06-23 | Fujitsu Ltd | デバツグ機能を持つマイクロコンピユ−タ |
JPS59146352A (ja) * | 1983-02-09 | 1984-08-22 | Nec Corp | シングル・チップ・マイクロコンピュータ |
US4569048A (en) * | 1983-09-19 | 1986-02-04 | Genrad, Inc. | Method and apparatus for memory overlay |
US4703446A (en) * | 1984-07-03 | 1987-10-27 | Nec Corporation | Data processing unit diagnosis control apparatus |
US4691316A (en) * | 1985-02-14 | 1987-09-01 | Support Technologies, Inc. | ROM emulator for diagnostic tester |
US4674089A (en) * | 1985-04-16 | 1987-06-16 | Intel Corporation | In-circuit emulator |
US4677586A (en) * | 1985-06-04 | 1987-06-30 | Texas Instruments Incorporated | Microcomputer device having test mode substituting external RAM for internal RAM |
US4809167A (en) * | 1985-07-03 | 1989-02-28 | Metalink Corporation | Circuitry for emulating single chip microcomputer without access to internal buses |
US4710927A (en) * | 1986-07-24 | 1987-12-01 | Integrated Device Technology, Inc. | Diagnostic circuit |
US4837764A (en) * | 1987-03-26 | 1989-06-06 | Bunker Ramo Corporation | Programmable apparatus and method for testing computer peripherals |
-
1989
- 1989-04-03 US US07/332,130 patent/US5053949A/en not_active Expired - Lifetime
-
1990
- 1990-03-23 DE DE69027471T patent/DE69027471T2/de not_active Expired - Fee Related
- 1990-03-23 EP EP90105548A patent/EP0391173B1/de not_active Expired - Lifetime
- 1990-03-30 KR KR1019900004283A patent/KR0168656B1/ko not_active IP Right Cessation
- 1990-04-02 JP JP02085090A patent/JP3105223B2/ja not_active Expired - Lifetime
-
1997
- 1997-12-01 HK HK97102289A patent/HK1000737A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
JPH02287635A (ja) | 1990-11-27 |
US5053949A (en) | 1991-10-01 |
JP3105223B2 (ja) | 2000-10-30 |
HK1000737A1 (en) | 1998-04-24 |
EP0391173A2 (de) | 1990-10-10 |
EP0391173A3 (de) | 1991-10-30 |
DE69027471D1 (de) | 1996-07-25 |
KR0168656B1 (ko) | 1999-01-15 |
EP0391173B1 (de) | 1996-06-19 |
KR900016866A (ko) | 1990-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69027471T2 (de) | Fehlersuchperipherie für Mikrorechner, Mikroprozessoren und Kernprozessor beinhaltende integrierte Schaltungen und Vorrichtung die diese Fehlersuchperipherie verwendet | |
DE3851033T2 (de) | Datenprozessor mit Entwicklungsunterstützungsmerkmalen. | |
DE69817725T2 (de) | Mikroprozessor Testsystem | |
DE4313594C2 (de) | Mikroprozessor | |
DE69633166T2 (de) | Integrierter schaltkreis mit mehreren funktionen und gemeinsamer verwendung mehrerer interner signalbusse zur verteilung der steuerung des buszugriffes und der arbitration | |
US6598178B1 (en) | Peripheral breakpoint signaler | |
DE60008088T2 (de) | Mehrprozessorsystem Prüfungsschaltung | |
US6175914B1 (en) | Processor including a combined parallel debug and trace port and a serial port | |
US4503495A (en) | Data processing system common bus utilization detection logic | |
US6041406A (en) | Parallel and serial debug port on a processor | |
DE19882696B4 (de) | Speichertransaktionen auf einem Bus geringer Leitungsanzahl | |
US5187802A (en) | Virtual machine system with vitual machine resetting store indicating that virtual machine processed interrupt without virtual machine control program intervention | |
JP4335999B2 (ja) | プロセッサ内蔵半導体集積回路装置 | |
US6052774A (en) | Apparatus and method for identifying exception routines indicated by instruction address issued with an instruction fetch command | |
DE19847642C2 (de) | PCI-PCI-Brücke | |
DE69126756T2 (de) | Prüfbare RAM-Architektur in einem Mikroprozessor mit eingebettetem Cache-Speicher | |
EP0652516A1 (de) | Integrierter Mikroprozessor | |
DE4311441C2 (de) | Verfahren zum Betreiben eines Mikroprozessors mit einem externen Anschluß | |
DE69815006T2 (de) | Datenverarbeitungseinheit mit Fehlerbeseitungsmöglichkeiten | |
US5678003A (en) | Method and system for providing a restartable stop in a multiprocessor system | |
WO2004049159A2 (de) | Einrichtung und verfahren zur analyse von eingebetteten systemen | |
DE19960574A1 (de) | PCI-Fehlerbehebungsvorrichtung,-Verfahren und -System | |
DE68924507T2 (de) | Verfahren und Gerät zur Markierung von Emulationsanalysezuständen. | |
EP0194185A2 (de) | Rechneranlage mit Befehlsüberwachungsanordnung | |
DE69333445T2 (de) | Mikroprozessor mit hardwaregesteuerter Leistungsverwaltung und auswählbaren Eingangs-/Ausgangssteuerungssteckerstiften und Verfahren hierfür |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |