-
Hintergrund
-
Technisches Gebiet
-
Diese Offenbarung ist auf integrierte Schaltungen gerichtet, und insbesondere auf die Bereitstellung eines Debug-Zugangs zu integrierten Schaltungen.
-
Beschreibung des Standes der Technik
-
Boundary-Scan-Testverfahren wurden ursprünglich entwickelt, um Verbindungen zwischen integrierten Schaltungen (Integrated Circuits, ICs) und gedruckte Schaltplatten (Printed Circuit Boards, PCBs) zu testen, in Ermangelung von anderen Wegen sie zu prüfen. Boundary-Scan basiert auf der Joint Test Action Group(JTAG)-Spezifikation, welche auch bekannt ist als Institute of Electrical and Electronics Engineers(IEEE)-Standard 1149.1. Insbesondere der IEEE 1149.1 Standard stellte eine Vorrichtung bereit zum Bereitstellen eines Zugangs zu Kontakten einer IC, um die Anwesenheit von ordnungsgemäßen Verbindungen zu bestimmen.
-
Obwohl der IEEE 1149.1 Standard ursprünglich für Boundary Scan entwickelt wurde, wurde seine Verwendung auf andere Gebiete erweitert. Zum Beispiel werden JTAG-Anschlüsse nun verwendet, um Zugang zu einer IC zu erhalten zum Debuggen während der Entwicklungsphase. Zum Beispiel kann eine JTAG-Steuerung verwendet werden, um auf Teile einer IC zuzugreifen, während Tests von Systemsoftware in einem neuen Design durchgeführt werden.
-
Da einige ICs eine beschränkte Anzahl von Kontakten zählen, welche der Unterstützung von Testen und Debuggen gewidmet werden können, ist die Serial Wire Debug(SWD)-Schnittstelle entwickelt worden. Die SWD-Schnittstelle ist eine Schnittstelle, die nur zwei Kontakte verwendet, aber nichtsdestotrotz Zugang zu internen Debug-Schnittstellenblöcken bereitstellt. Trotz der geringeren Kontaktzahl kann die SWD-Schnittstelle eine gegenüber JTAG-Schnittstellen mit höheren Kontaktzahlen gleichwertige Funktionalität bereitstellen.
-
Zusammenfassung
-
Eine integrierte Schaltung (Integrated Circuit, IC), welche eine Brücke zum Verbinden eines Debug-Programmes und ein Verfahren zum Betreiben desselben ist bereitgestellt. In einer Ausführungsform beinhaltet eine IC eine Debug-Steuerschaltung und einen Debug-Schnittstellenblock (Debug Interface Block, DIB), welcher darauf implementiert ist. Der DIB ist an die Debug-Steuerschaltung gekoppelt. Die IC beinhaltet auch eine Schnittstelle für ein Debug-Programm und eine Anzahl von Schnittstellen für externe Schaltungen, wobei jede der Schnittstellen an die Debug-Steuerschaltung gekoppelt ist. Die Debug-Steuerschaltung kann als eine Brücke wirken zum Koppeln eines externen Debuggers zu der DIB oder zu externen Schaltungen, welche an die IC durch eine der entsprechenden Schnittstellen gekoppelt ist. Die Debug-Steuerschaltung kann verwendet werden zum Herstellen einer Verbindung zwischen dem Debug-Programm und einer der externen Schaltungen. Nachdem die Verbindung eingerichtet wurde, können nachfolgende Kommunikationen geführt werden, während der DIB umgangen wird.
-
In einer Ausführungsform können Verbindungen zwischen dem externen Debug-Programm und externen Schaltungen, welche an die Debug-Steuerschaltung über die Schnittstellen gekoppelt sind, Online gebracht oder Offline genommen werden, ohne die anderen Verbindungen zu beeinflussen. Ein Debug-Programm kann z. B. verbunden sein zu und kommunizieren mit ersten und zweiten externen Schaltungen. Die erste externe Schaltung kann ausgeschaltet sein (wodurch ihre Verbindung zu dem Debug-Programm entfernt wird), ohne Auswirkungen auf die Verbindung zwischen dem Debug-Programm und der zweiten externen Schaltung oder alle anderen Verbindungen (z. B. zwischen dem Debug-Programm und dem DIB über die Debug-Steuerschaltung).
-
In einer Ausführungsform kann der DIB in einem anderen Leistungsbereich als die Debug-Steuerschaltung sein, wobei der DIB leistungsschaltbar ist. Verbindungen zwischen dem Debug-Programm und einer oder mehreren externen Schaltungen kann durch die Debug-Steuerschaltung eingerichtet werden. Danach können Kommunikationen den DIB umgehen, selbst wenn der DIB ausgeschaltet ist.
-
Kurze Beschreibung der Figuren
-
Die folgende detaillierte Beschreibung nimmt Bezug auf die begleitenden Figuren, welche nun kurz beschrieben werden.
-
1 ist ein Blockdiagramm einer Ausführungsform eines Systems, welches einen SoC aufweist, das eingerichtet ist, um an ein externes Debug-Programm gekoppelt zu werden.
-
2 ist ein Blockdiagramm einer Ausführungsform des SoC, welches in dem System von 1 implementiert werden kann.
-
3 ist ein Flussdiagramm, welches eine Ausführungsform eines Verfahrens zum Betreiben einer Schaltung veranschaulicht, welche eingerichtet ist, um eine Brückenfunktion zwischen einem Debug-Programm und einer Anzahl von externen Schaltungen bereitzustellen.
-
4 ist ein Blockdiagramm einer Ausführungsform eines beispielhaften Systems.
-
Während der offenbarte Gegenstand empfänglich gegenüber verschiedenen Modifikationen und alternativen Formen ist, sind spezifische Ausführungsformen davon über Beispiele und Figuren gezeigt und hierin im Detail beschrieben. Es sollte allerdings selbstverständlich sein, dass die Figuren die detaillierte Beschreibung dazu nicht beabsichtigt sind, den Gegenstand auf eine besondere offenbarte Form zu begrenzen, im Gegenteil, es ist die Absicht, alle Modifikationen, Äquivalente und Alternativen, welche in den Geist und Umfang des offenbarten Gegenstandes fallen, wie durch die angehängten Ansprüche definiert, abzudecken. Die hierin verwendeten Überschriften, dienen ausschließlich organisatorischen Zwecken und sind nicht so zu verstehen, als würden sie den Umfang der Beschreibung begrenzen. Der Begriff ”kann”, wie in dieser Anmeldung durchweg benutzt, wird in einem großzügigen Sinn (d. h. mit der Bedeutung, das Potenzial zu haben), vielmehr als im verpflichtenden Sinn (d. h. mit der Bedeutung von muss) verwendet. Ähnlich bedeuten die Begriffe ”beinhalten”, ”beinhaltend” und ”beinhaltet” beinhalten, aber nicht eingeschränkt auf.
-
Verschiedene Einheiten, Schaltungen oder andere Komponenten können beschrieben werden als ”eingerichtet zum” Durchführen einer Aufgabe oder von Aufgaben. In solchen Zusammenhängen ist ”eingerichtet zum” ein breiter Vortrag von Struktur, welche allgemein bedeutet ”Schaltkreise aufweisend, welche” die Aufgabe oder die Aufgaben während des Betriebs durchführen. Als solche kann die Einheit/Schaltung/Komponente eingerichtet sein zum Durchführen der Aufgabe, selbst wenn die Einheit/Schaltung/Komponente im Augenblick nicht eingeschaltet ist. Im Allgemeinen kann der Schaltkreis, welcher die Struktur entsprechend zu ”eingerichtet zum” bildet, Hardwareschaltungen und/oder Speicheraufbewahrungs-Programmanweisungen beinhalten, welche ausgeführt werden können, um die Operation zu implementieren. Der Speicher kann flüchtigen Speicher, wie z. B. statischen oder dynamischen Schreib-Lese-Speicher und/oder nichtflüchtigen Speicher, wie z. B. optischen oder magnetischen Diskettenspeicher, Flash-Speicher, programmierbaren Nur-Lese-Speicher usw. beinhalten. Ähnlich können verschiedene Einheiten/Schaltungen/Komponenten zur Annehmlichkeit der Beschreibung als Aufgabe oder Aufgaben durchführend beschrieben werden. Solche Beschreibungen sollten interpretiert werden als würden sie die Phrase ”eingerichtet zum” beinhalten. Das Rezitieren einer Einheit/Schaltung/Komponente, welche eingerichtet ist zum Durchführen einer oder mehrerer Aufgaben, beabsichtigt explizit nicht, sich auf die Interpretation nach 35 U.S.C. §112, Paragraph (f) für diese Einheit/Schaltung/Komponente zu berufen.
-
Detaillierte Beschreibung der Ausführungsformen
-
1 ist ein Blockdiagramm, welches eine Ausführungsform eines Systems veranschaulicht, welches ein SoC hat, das eingerichtet ist, um an ein externes Debug-Programm gekoppelt zu sein. In der gezeigten Ausführungsform beinhaltet ein System 5 eine IC 10, welche ein SoC ist. Das System 5 beinhaltet auch eine Anzahl von externen Schaltungen, welches einen Funkchip 22 beinhaltet, einen Audiochip 24, einen NAND-Chip 28 und zumindest einen anderen Chip 26. Der Funkchip 22 kann ein Funk-Sendeempfänger sein, welcher eingerichtet ist sowohl zum Senden als auch zum Empfangen von Funkkommunikationen. Der NAND-Chip 28 kann NAND-Flash-Speicher und verschiedene Schaltkreise beinhalten, um Lese- und Schreibzugang darauf zu unterstützen. Der andere Chip 26 kann von jedem anderen Typ von peripherem Chip sein, wie z. B. ein Anzeigeunterstützungschip oder ein Chip, um einen besonderen Busschnittstellentyp zu unterstützen (z. B. ein universell-serieller Bus, oder USB).
-
Die IC 10 in der gezeigten Ausführungsform beinhaltet einen Immer-Eingeschaltet-Prozessor (Always-On Processor, AOP) 15 und einen Debug-Schnittstellenblock (Debug Interface Block, DIB) 14. Der AOP 15 und der DIB 14 sind in verschiedenen Leistungsbereichen implementiert. Der AOP 15 kann in einem Leistungsbereich implementiert sein, welcher immer eingeschaltet bleibt, wenn IC 10 selbst Leistung empfängt. Im Gegensatz ist der Leistungsbereich, in welchem der DIB implementiert ist, einer von einem oder mehreren Leistungsbereichen auf der IC 10, welcher leistungsgeschaltet ist, d. h. Leistung kann davon entfernt werden, selbst wenn die IC 10 anderweitig Leistung empfingt. Dies kann es dem DIB 14 (und anderen Schaltkreisen in leistungsgesteuerten Bereichen) ermöglichen, in einen Schlafmodus gestellt zu werden. Wie nachfolgend erklärt können Kommunikationen zwischen einem Debug-Programm 11 und jeder der verschiedenen, oben beschriebenen Schaltungen, sobald eingerichtet, den DIB 14 umgehen, einschließlich der Zeiten, wenn der DIB 14 ausgeschaltet wird.
-
Der AOP 15 in der gezeigten Ausführungsform beinhaltet eine Debug-Steuerschaltung 20. Unter den Funktionen, welche durch die Debug-Steuerschaltung 20 bereitgestellt sind, ist die Steuerung verschiedener Operationen, welche mit Debugging zusammenhängen. Debugging kann in der Hardware-Designphase durchgeführt werden, um die Hardwarefunktionalität der IC 10 zu testen, sowie um jegliche Fehler, die anwesend sein könnten, aufzufinden. Debugging kann auch durchgeführt werden um sicherzustellen, dass die Software ordnungsgemäß auf dem System ausgeführt wird und um jegliche Softwarefehler, die vorhanden sein könnten, zu finden.
-
Eine andere Funktion, welche durch die Debug-Steuerschaltung 20 durchgeführt werden kann, ist als eine Brücke zwischen einem externen Debug-Programm 11 und dem DIB 14 zu wirken, und weiterhin zwischen dem Debug-Programm 11 und den verschiedenen externen Schnittstellen (Chips), wie in der Zeichnung gezeigt. Durch die Wirkung als eine Brücke kann die Debug-Steuerschaltung 20 Kommunikationen zwischen dem Debug-Programm 11 und den verschiedenen externen Schaltungen ermöglichen, um den DIB 14 nach deren initialen Einrichtung zu umgehen.
-
Die Debug-Steuerschaltung 20 in der gezeigten Ausführungsform kann an ein externes Debug-Programm 11 über eine Debug-Schnittstelle 33 gekoppelt werden. Das Debut-Programm 11 kann dazu verwendet werden, um Testimpulse in die verschiedenen Komponenten des Systems 5 einzugeben, wie hier gezeigt, sowie um Daten zur Analyse zu empfangen. Durch die Debug-Steuerschaltung 20 und den DIB 14 kann das Debug-Programm 11 Zugang zu anderen funktionalen Schaltungen innerhalb der IC 10 erlangen. Das Debug-Programm 11 kann auch Zugriff auf funktionale Einheiten innerhalb der anderen externen Schaltungen über die Debug-Steuerschaltung 20 über externe Schnittstellen 34 erlangen.
-
Verschiedene Typen von Schnittstellenprotokollen können verwendet werden, um Debug-Programmschnittstellen 33 und externe Schnittstellen 34 zu implementieren. In einer Ausführungsform können diese Schnittstellen als eine Zwei-Draht-Schnittstelle (2WI) implementiert sein. Wie es der Name andeutet, verwendet die 2WI-Schnittstelle nur zwei Kontakte. Ein erster Kontakt wird verwendet, um vom Testmodus ausgewählte(2WIIO)-Signale zu übermitteln, während ein zweiter Kontakt verwendet wird, um ein Testtakt-(2WICLK)-Signal zu übermitteln. Die Debug-Steuerschaltung 20 kann ein gemeinsames 2WICLK-Signal zu dem DIB 14 und zu jeder der externen Schaltungen, welche in der Zeichnung gezeigt sind, übermitteln. Zusätzlich kann die Debug-Steuerschaltung 20 Kommunikationen über separate und unabhängige Versionen des 2WIIO-Signals (z. B. 2WIIO1, 2WIIO2, usw.) zu und von der DIB 14 und den verschiedenen externen Schaltungen übermitteln.
-
Wenn Kommunikationen zwischen dem Debug-Programm 11 und einer weiteren Vorrichtung (DIB 14 oder irgendeine der externen Schaltungen, wie z. B. der Funkchip 22) eingerichtet werden sollen, kann die anfängliche Konfiguration der Verbindung durch die Debug-Steuerschaltung 20 durchgeführt werden. Während Kommunikationen zwischen dem Debug-Programm 11 und einer der externen Schaltungen, kann der DIB 14 umgangen werden. Daher, im Gegensatz zu Ausführungsformen des Standes der Technik, in welchen ein DIB in jegliche Kommunikation zwischen einem Debug-Programm und anderen Vorrichtungen (intern oder extern zum Chip) einbezogen ist, ermöglicht die Anwesenheit einer Debug-Steuerschaltung 20, welche als Brücke operiert, Kommunikationen zwischen dem Debug-Programm 11 und anderen Vorrichtungen, ohne irgendeine Einbeziehung des DIB 14 zu benötigen.
-
Wie oben angemerkt sind der DIB 14 und die Debug-Steuerschaltung 20 in getrennten Leistungsbereichen implementiert. Wie ebenfalls angemerkt kann die Debug-Steuerschaltung 20 dennoch als eine Brücke zwischen dem Debug-Programm 11 und jeder der externen Schaltungen (z. B. Funkchip 22, Audiochip 24, usw.) wirken, selbst wenn der DIB 14 ausgeschaltet ist. Das heißt, zusätzlich zur Fähigkeit, den DIB 14 während Kommunikationen zwischen dem Debug-Programm 11 und einer externen Schaltung zu umgehen, wenn der DIB 14 ausgeschaltet ist, können Kommunikationen andauern, wenn sie einmal eingerichtet sind, wenn der DIB 14 ausgeschaltet ist. Allgemein betrachtet kann der Netzstatus irgendeiner Vorrichtung (DIB oder externe Schaltung) während des Betriebs ändern ohne Kommunikationen zwischen dem Debug-Programm und irgendeiner anderen Vorrichtung zu beeinflussen. Beispielsweise können Kommunikationen, welche zwischen dem Debug-Programm 11 und irgendeiner der externen Schaltungen eingerichtet sind, geführt werden, während der DIB 14 umgangenen wird, und weitergeführt werden, selbst wenn der DIB 14 nachträglich ausgeschaltet wird.
-
Weiterhin können einige der externen Schaltungen während Kommunikationen zwischen dem Debug-Programm 11 und einer anderen externen Schaltung auch ausgeschaltet sein. Zum Beispiel kann die Debug-Steuerschaltung 20 Kommunikationen zwischen dem Debug-Programm 11 und dem Funkchip 22 erleichtern, obwohl der DIB 14 und jede der verbleibenden externen Schaltungen (z. B. Audiochip 24 usw.) ausgeschaltet sind. Dies steht im Kontrast zu Ausführungsformen des Standes der Technik, in denen alle Debug-Programmkommunikationen durch einen DIB geleitet werden und/oder in welchen alle Vorrichtungen eingeschaltet werden müssen. Weiterhin können verschiedene der externen Schaltungen ausgeschaltet werden im Nachgang zur Einrichtung von Kommunikationen, ohne andere Verbindungen zu beeinflussen. Man betrachte beispielsweise ein Szenario, in welchem das Debug-Programm 11 mit dem Funkchip 22 und Audiochip 24 durch eingerichtete Verbindungen kommuniziert. Nach einer gewissen Zeit, nachdem die Kommunikationen begonnen haben, kann der Audiochip 24 ausgeschaltet werden. Die Verbindung zwischen dem Debug-Programm 11 und dem Funkchip 22 kann allerdings den Betrieb unbeeinflusst durch die Änderung des Status des Audiochips 24 fortführen, wobei Kommunikationen fortgeführt werden, die durch die Debug-Steuerschaltung 20 geführt werden, während der DIB 14 umgangen wird. Dies steht in Kontrast zu Ausführungsformen des Standes der Technik, in welchen Änderungen am Netzstatus einer Verbindung nicht durchgeführt werden könnten, ohne die anderen Verbindungen zu beeinflussen. In solchen Ausführungsformen des Standes der Technik würde eine Statusänderung eine Wiedereinrichtung von jeder der verbleibenden Verbindungen erfordern. Entsprechend stellt die Anwesenheit der Debug-Steuerschaltung 20 Flexibilität bereit, die in Ausführungsformen des Standes der Technik nicht gefunden werden.
-
2 ist ein Blockdiagramm einer Ausführungsform des SoC, welche in dem System von 1 implementiert werden kann. In der gezeigten Ausführungsform beinhaltet die IC 10 vier verschiedene Leistungsbereiche. Der Leistungsbereich #1 beinhaltet den DIB 14 und eine funktionale Einheit 16. Der Leistungsbereich #2 beinhaltet den AOP 15, wobei die Debug-Steuerschaltung 20 und eine Leistungsverwaltungsschaltung 25 darin implementiert sind. Der Leistungsbereich #2 ist der einzige Leistungsbereich in dieser Ausführungsform der IC 10, welcher nicht leistungsschaltbar ist und folglich bleibt der Schaltkreis darin jederzeit eingeschaltet, wenn die IC 10 Leistung durch Vdd2 empfingt. Der Leistungsbereich #3 beinhaltet eine funktionale Einheit 17, während der Leistungsbereich #4 eine funktionale Einheit 18 beinhaltet. Die funktionalen Einheiten können verschiedene Schaltkreise umfassen, um den Betrieb der IC 10 durchzuführen. Diese Einheiten beinhalten, sind aber nicht eingeschränkt auf Prozessorkerne, Grafikprozessoren, I/O-Schaltungen usw.
-
Wie oben angemerkt ist die Leistungsverwaltungsschaltung 25 als Teil des AOP 15 beinhaltet. Unter den Funktionen, welche durch die Leistungsverwaltungsschaltung 25 durchgeführt werden, ist das Steuern, ob den Schaltungen in den Leistungsbereichen #1, #3 und #4 Leistung bereitgestellt wird. In einigen Ausführungsformen kann die Leistungsverwaltungsschaltung 25 die funktionalen Einheiten in diesen und anderen Leistungsbereichen hinsichtlich von Anzeichen eines Leerlaufs oder eines generellen Aktivitätsniveaus überwachen. Es sind auch Ausführungsformen möglich und beabsichtigt, in welchen Anzeichen von Schaltkreisen innerhalb dieser Leistungsbereiche der Leistungsverwaltungsschaltung 25 bereitgestellt werden. Wenn die Leistungsverwaltungsschaltung 25 bestimmt, dass Schaltkreise innerhalb eines Leistungsbereichs im Leerlauf sind, entweder durch eine empfangene Anzeige oder von ihrer eigenen Überwachung, kann sie einen entsprechenden Leistungsschalter deaktivieren, um Leistung davon zu entfernen (d. h. den Schaltkreis in einen ”Schlafmodus” zu setzen). Jeder der Leistungsbereiche beinhaltet zumindest einen Leistungsschalter (z. B. S1 im Leistungsbereich #1), der deaktiviert werden kann, um Leistung von dem Schaltkreis innerhalb dieses Bereiches zu entfernen.
-
Ungeachtet der aktuellen Leistungszustände (aktiv oder im Schlafmodus) der anderen Leistungsbereiche, kann die Debug-Steuerschaltung 20 damit fortfahren, Kommunikationen mit einem externen Debug-Programm 11 sowie mit externen Schaltungen, wie z. B. die in 1 gezeigten externen Chips, zu unterstützen. Dies trifft zu, nachdem ein Kommunikationslink oder eine Verbindung zwischen dem Debug-Programm 11 und einer externen Schaltung eingerichtet wurde, und kann wahr bleiben, selbst wenn der DIB 14 ausgeschaltet wird im Nachgang zur Einrichtung einer Verbindung.
-
3 ist ein Flussdiagramm, welches eine Ausführungsform eines Verfahrens zum Betrieb einer Schaltung, eingerichtet zum Bereitstellen einer Brückenfunktion zwischen einem Debug-Programm und einer Anzahl von externen Schaltungen, veranschaulicht. Das Verfahren 300, wie in 3 gezeigt, kann unter Verwendung von verschiedenen Ausführungsformen der Hardware, wie oben mit Bezug zu i und 2 diskutiert, durchgeführt werden. Es ist auch möglich und beabsichtigt, dass das Verfahren 300 durch Ausführungsformen der Hardware durchgeführt werden kann, welche nicht explizit hierin diskutiert wurden.
-
Das Verfahren 300 beginnt mit der Durchführung von Kommunikationen zwischen einer Debug-Steuerschaltung und einem DIB einer IC und einer oder mehrerer Schaltungen außerhalb der IC (Block 305). Die Debug-Steuerschaltung kann als eine Brücke zwischen einem externen Debug-Programm und dem DIB wirken und folglich Kommunikationen dazwischen erleichtern. An gewissen Punkten während des Betriebs kann der DIB inaktiv sein und folglich nicht in irgendeine Kommunikation mit der Debug-Steuerschaltung einbezogen sein. In solchen Fällen kann der DIB umgangen werden (Block 315, ja). Während des Betriebs mit dem umgangenen DIB können trotzdem Kommunikationen zwischen dem DIB und den Schaltungen außerhalb der IC (Block 315) geführt werden. Die externen Schaltungen können andere ICs sein, wie z. B. ein Funkchip, ein Audiochip oder jeder andere Chip gekoppelt an die IC, in welcher der DIB und die Debug-Steuerschaltung implementiert sind. Wenn inaktiv, kann der DIB in einen Schlafmodus gesetzt werden (z. B. Takt-geschaltet, und in einigen Fällen auch leistungsgeschaltet).
-
Wenn der DIB nicht umgangen ist (Block 310, nein), können Kommunikationen mit der Debug-Steuerschaltung fortgeführt werden (Block 305). Kommunikationen zwischen den externen Schaltungen und der Debug-Steuerschaltung können auch gleichzeitig mit Kommunikationen zwischen der Debug-Steuerschaltung und dem DIB geführt werden.
-
Wenn der DIB momentan umgangen wird, aber im Begriff ist, Kommunikationen wiederaufzunehmen (Block 320, ja), dann kann das Verfahren zum Block 305 zurückkehren. Dies kann beinhalten, den DIB aus einem Schlafmodus aufzuwecken, wenn er leistungsgeschaltet und/oder Taktgeschaltet gewesen ist. Ansonsten, wenn der DIB weiter umgangen werden kann (Block 320, nein), kann das Verfahren zum Block 315 zurückkehren, wobei Kommunikationen zwischen der Debug-Steuerschaltung und einer oder mehrerer der externen Schaltungen weitergeführt werden.
-
Verschiedene Ausführungsformen des oben beschriebenen Verfahrens und der Vorrichtung können gewisse Vorteile über frühere Ausführungsformen bereitstellen. Zum Beispiel müssen in früheren Ausführungsformen, welche einen Debug-Zugangsport (Debug Access Port, DAP) mit einer SWD-Schnittstelle verwenden, alle Vorrichtungen, einschließlich des DAP, eingeschaltet bleiben. Folglich waren in solchen Ausführungsformen Kommunikationen mit externen Vorrichtungen nicht möglich, wenn der DAP im Schlafmodus war. Im Gegensatz dazu können verschiedene, mit Bezug auf 1 bis 3 diskutierte Ausführungsformen des Verfahrens und der Vorrichtungen Kommunikationen zwischen der IC, welche die Debug-Steuerschaltung und den DIB aufweisen, zulassen, selbst wenn der DIB selbst ausgeschaltet oder anderweitig inaktiv ist. Außerdem muss das Debug-Programm nicht gesondert zu jeder der externen Schaltungen verbunden sein, aber es kann stattdessen zu jeder durch die Debug-Steuerschaltung verbunden sein. Drittens können externe Vorrichtungen jederzeit während des Betriebs an- und/oder abgeschaltet werden, unabhängig von dem Status des DIB.
-
In 4 ist ein Blockdiagramm einer Ausführungsform eines Systems 150 gezeigt. In der veranschaulichten Ausführungsform beinhaltet das System 150 zumindest ein Exemplar der integrierten Schaltung 10 gekoppelt an einen externen Speicher 158. Die integrierte Schaltung 10 ist an eines oder mehrere Peripheriegeräte 154 und den externen Speicher 158 gekoppelt. Eine Stromversorgung 156 ist auch bereitgestellt, welche die Betriebsspannungen an die integrierte Schaltung 10 sowie eine oder mehrere Betriebsspannungen zu dem Speicher 158 und/oder den Peripheriegeräten 154 liefert. In einigen Ausführungsformen können mehr als ein Exemplar der integrierten Schaltung 10 beinhaltet sein (und auch mehr als ein externer Speicher 158 kann beinhaltet sein).
-
Die Peripheriegeräte 154 können jeden gewünschten Schaltkreis beinhalten, abhängig vom Typ des Systems 150. In einer Ausführungsform kann das System 150 z. B. eine mobile Vorrichtung (z. B. Persönlicher Digitaler Assistent, PDA), ein Smartphone, usw.) sein und die Peripheriegeräte 154 können verschiedene Vorrichtungen für verschiedene Typen von drahtlosen Kommunikationen beinhalten, wie z. B. WiFi, Bluetooth, Mobiltelefon, globales Positionsbestimmungssystem usw. Die Peripheriegeräte 154 können auch zusätzlichen Speicher beinhalten, einschließlich RAM-Speicher, Festkörperspeicher oder Festplattenspeicher. Die Peripheriegeräte 154 können Schnittstellenvorrichtungen beinhalten, wie z. B. einen Anzeigebildschirm, einschließlich berührungsempfindlicher Anzeigebildschirme oder Mehrfachberührungs-Anzeigebildschirme, Tastatur oder andere Eingabevorrichtungen, Mikrofone, Lautsprecher usw. In anderen Ausführungsformen kann das System 150 jeden Typ von Computersystem (z. B. Arbeitsplatzcomputer, Laptop, Arbeitsstation, Tablet usw.) sein.
-
Der externe Speicher 158 kann jeden Typ von Speicher beinhalten. Beispielsweise kann der externe Speicher 158 ein SRAM, dynamischer RAM (DRAM), wie beispielsweise synchroner DRAM (SDRAM), doppelte Datenraten (DDR, DDR2, DDR3, LPDDR1, LPDDR2 usw.), SDRAM, RAMBUS DRAM usw. sein. Der externe Speicher 158 kann ein oder mehrere Speichermodule beinhalten, an welche die Speichervorrichtungen angebracht sind, wie z. B. Single Inline Speichermodule (Single Inline Memory Modules, SIMMs), Dual Inline Speichermodule (Dual Inline Memory Modules, DIMMs) usw.
-
Dem Fachmann werden zahlreiche Variationen und Modifikationen offensichtlich, wenn er die obige Offenbarung vollständig verstanden hat. Es ist beabsichtigt, dass die nachfolgenden Ansprüche dahingehend interpretiert werden, dass sie alle solche Variationen und Modifikationen erfassen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- IEEE 1149.1 [0002]
- IEEE 1149.1 [0003]