[go: up one dir, main page]

DE10244922B4 - Programmgesteuerte Einheit und Verfahren zum Debuggen von einer programmgesteuerten Einheit ausgeführten Programmen - Google Patents

Programmgesteuerte Einheit und Verfahren zum Debuggen von einer programmgesteuerten Einheit ausgeführten Programmen Download PDF

Info

Publication number
DE10244922B4
DE10244922B4 DE10244922A DE10244922A DE10244922B4 DE 10244922 B4 DE10244922 B4 DE 10244922B4 DE 10244922 A DE10244922 A DE 10244922A DE 10244922 A DE10244922 A DE 10244922A DE 10244922 B4 DE10244922 B4 DE 10244922B4
Authority
DE
Germany
Prior art keywords
program
controlled unit
control information
ocds module
supply voltage
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
Application number
DE10244922A
Other languages
English (en)
Other versions
DE10244922A1 (de
Inventor
Albrecht Dr. Mayer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10244922A priority Critical patent/DE10244922B4/de
Priority to US10/670,664 priority patent/US7210064B2/en
Publication of DE10244922A1 publication Critical patent/DE10244922A1/de
Application granted granted Critical
Publication of DE10244922B4 publication Critical patent/DE10244922B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/362Debugging of software
    • G06F11/3648Debugging of software using additional hardware
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/263Arrangements for using multiple switchable power supplies, e.g. battery and AC
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/362Debugging of software
    • G06F11/3648Debugging of software using additional hardware
    • G06F11/3656Debugging of software using additional hardware using a specific debug interface

Landscapes

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

Abstract

Programmgesteuerte Einheit (1) mit einem OCDS-Modul (11), dadurch gekennzeichnet, daß die programmgesteuerte Einheit erste Versorgungsspannungsanschlüsse zum Anlegen einer ersten Versorgungsspannung an die programmgesteuerte Einheit, und zweite Versorgungsspannungsanschlüsse zum Anlegen einer zweiten Versorgungsspannung an die programmgesteuerte Einheit aufweist, und daß das komplette OCDS-Modul oder ein Teil des OCDS-Moduls durch die zweite Versorgungsspannung mit Energie versorgt wird, und die restlichen Komponenten der programmgesteuerten Einheit durch die erste Versorgungsspannung mit Energie versorgt werden.

Description

  • Die vorliegende Erfindung betrifft eine Vorrichtung gemäß dem Oberbegriff des Patentanspruchs 1 und ein Verfahren gemäß dem Oberbegriff des Patentanspruchs 19, d. h. eine programmgesteuerte Einheit mit einem OCDS-Modul, und ein Verfahren zum Debuggen von Programmen, die durch eine programmgesteuerte Einheit ausgeführt werden, welche ein OCDS-Modul enthält und mit einem externen Debugger verbunden ist, wobei das OCDS-Modul durch den Debugger steuerbar ist, und wobei es von der Ansteuerung des OCDS-Moduls durch den Debugger abhängt, welche Aktionen das OCDS-Modul ausführt.
  • Die in Rede stehenden programmgesteuerten Einheiten sind beispielsweise Mikroprozessoren, Mikrocontroller und dergleichen; sie sind seit vielen Jahren in den unterschiedlichsten Ausführungsformen bekannt und bedürfen keiner näheren Erläuterung.
  • Die besagten OCDS-Module sind die sogenannten On-Chip-Debug-Support-Module, die mittlerweile in fast allen neueren programmgesteuerten Einheiten integriert werden. Über derartige Einrichtungen können externe Debugger während des "normalen" Betriebes der betreffenden programmgesteuerten Einheiten in mannigfaltiger Weise auf diese zugreifen und Einfluß nehmen.
  • Der Aufbau einer Anordnung bei welcher ein ein OCDS-Modul enthaltender Mikrocontroller mit einem externen Debugger verbunden ist, ist in 3 veranschaulicht.
  • In der in der 3 gezeigten Anordnung sind der Mikrocontroller mit dem Bezugszeichen PGE, und der externe Debugger mit dem Bezugszeichen D bezeichnet.
  • Der Mikrocontroller PGE enthält einen Core C, ein mit dem Core C und gegebenenfalls weiteren Mikrocontroller-Komponenten verbundenes OCDS-Modul OCDS, Speichereinrichtungen S1 bis Sn, Peripherieeinheiten P1 bis Pm, und interne Busse BUS1 und BUS2, von welchen der erste Bus BUS1 den Core C und die Speichereinrichtungen S1 bis Sn miteinander verbindet, und der zweite Bus BUS2 den Core C und die Peripherieeinheiten P1 bis Pm miteinander verbindet.
  • Der Mikrocontroller PGE weist darüber hinaus eine Vielzahl von Ein- und/oder Ausgabeanschlüssen IO auf, über welche die programmgesteuerte Einheit mit Strom versorgt wird, und über welche von den Mikrocontroller-Komponenten an externe Systemkomponenten auszugebende Daten, und dem Mikrocontroller von externen Systemkomponenten zugeführte Daten transferiert werden.
  • Die Ein- und/oder Ausgabeanschlüsse IO sind über interne Leitungen oder Busse mit jeweils zugeordneten Mikrocontroller-Komponenten verbunden. Von diesen Leitungen sind in der 3 nur die Leitungen gezeigt, über welche das OCDS-Modul OCDS mit den Ein- und/oder Ausgabeanschlüssen verbunden ist, an die der externe Debugger D angeschlossen ist.
  • Der Mikrocontroller PGE, genauer gesagt das OCDS-Modul OCDS desselben ist im betrachteten Beispiel über vier Ein- und/oder Ausgabeanschlüsse IO und vier Leitungen DL1 bis DL4 mit dem Debugger verbunden.
  • Die Schnittstelle, über welche der Mikrocontroller PGE mit dem Debugger verbunden ist, ist beispielsweise ein JTAG-Interface, kann aber auch ein beliebiges anderes Interface sein, beispielsweise ein USB-Interface, ein Ethernet-Interface, eine "normale" serielle oder parallele Schnittstelle, etc. Dementsprechend kann auch die Anzahl der Ein- und/oder Ausgabeanschlüsse IO sowie die Anzahl der externen Verbindungsleitungen zum Debugger D variieren.
  • Der Debugger D wird beispielsweise durch einen Personal Computer gebildet.
  • Der Debugger sendet über die Leitungen DL1 bis DL4 und die damit verbundenen Ein- und/oder Ausgabeanschlüsse IO im folgenden als Steuerinformationen bezeichnete Daten und/oder Steuerbefehle an das OCDS-Modul, und erhält vom OCDS-Modul angeforderte Daten zurück.
  • Durch die zum OCDS-Modul übertragenen Steuerinformationen wird das OCDS-Modul in den Zustand versetzt, den es innehaben muß, damit es die von ihm erwarteten Aktionen ausführt; die vom OCDS-Modul auszuführenden Aktionen werden vom Benutzer des Systems durch entsprechende Eingaben in den Debugger festgelegt.
  • Das OCDS-Modul kann durch den Debugger beispielsweise, aber bei weitem nicht ausschließlich dazu veranlaßt werden, daß es den Mikrocontroller beim Eintreten einer durch den Benutzer vorgegebenen Bedingung anhält und/oder durch den Benutzer vorgegebene Lese- und/oder Schreibzugriffe auf die internen und externen Register, Speicher und/oder andere Komponenten des Mikrocontrollers und/oder des diesen enthaltenden Systems durchführt.
  • Dadurch können während des Betriebes der programmgesteuerten Einheit auftretende Fehler lokalisert und behoben werden.
  • Obgleich durch das Debuggen in erster Linie Fehler in von der programmgesteuerten Einheit ausgeführten Programmen lokalisiert und behoben werden können, also genau genommen ein Debuggen von durch die programmgesteuerte Einheit ausgeführten Programmen erfolgt, wird im folgenden der Einfachheit halber immer von einem Debuggen der programmgesteuerten Einheit gesprochen.
  • Sowohl OCDS-Module als auch externe Debugger sind seit langem und in einer großen Vielzahl von Ausführungsformen bekannte Einrichtungen für die Suche nach vorhandenen Software- und/oder Hardwarefehlern in programmgesteuerten Einheiten, so daß auf eine detailliertere Beschreibung verzichtet werden kann.
  • Durch die OCDS-Module werden die (relativ einfach aufgebauten) externen Debugger zu sehr mächtigen Werkzeugen, durch welche selbst sehr kompliziert aufgebaute und/oder sehr schnell arbeitende programmgesteuerte Einheiten effizient und umfassend überwacht und überprüft werden können.
  • Durch Anordnungen der in der 3 gezeigten Art können jedoch nicht alle Fehler lokalisiert und behoben werden, die in programmgesteuerten Einheiten oder programmgesteuerte Einheiten enthaltenden Systemen auftreten können. Insbesondere ist es nicht möglich, Fehler zu lokalisieren und zu beheben, die unmittelbar nach der Inbetriebnahme der programmgesteuerten Einheit auftreten, weil es einige Zeit dauert, bis das OCDS-Modul zurückgesetzt ist und vom Debugger wunschgemäß angesteuert werden kann.
  • Programmgesteuerte Einheiten gemäß dem Oberbegriff des Patentanspruchs 1 und Verfahren gemäß dem Oberbegriff des Patentanspruchs 17 sind beispielsweise in der EP 0 720 092 A1 und der DE 198 35 610 A1 beschrieben. Diesen Dokumenten sind jedoch keine Anregungen zur Lösung der vorstehend genannten Probleme entnehmbar.
  • Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, eine Möglichkeit zu finden, durch welche unter Verwendung einer Anordnung der in der 3 gezeigten Art auch solche Fehler in programmgesteuerten Einheiten oder programmgesteuerte Einheiten enthaltenden Systemen lokalisierbar und behebbar sind, die unmittelbar nach der Inbetriebnahme der programmgesteuerten Einheit auftreten.
  • Diese Aufgabe wird erfindungsgemäß durch die in Patentanspruch 1 beanspruchte programmgesteuerte Einheit bzw. durch das in Patentanspruch 17 beanspruchte Verfahren gelöst.
  • Die erfindungsgemäße programmgesteuerte Einheit zeichnet sich dadurch aus, daß sie erste Versorgungsspannungsanschlüsse zum Anlegen einer ersten Versorgungsspannung an die programmgesteuerte Einheit, und zweite Versorgungsspannungsanschlüsse zum Anlegen einer zweiten Versorgungsspannung an die programmgesteuerte Einheit aufweist, und daß das komplette OCDS-Modul oder ein Teil des OCDS-Moduls durch die zweite Versorgungsspannung mit Energie versorgt wird, und die restlichen Komponenten der programmgesteuerten Einheit durch die erste Versorgungsspannung mit Energie versorgt werden; das erfindungsgemäße Verfahren zeichnet sich dadurch aus, daß das komplette OCDS-Modul oder ein Teil des OCDS-Moduls bereits vor dem Zeitpunkt, zu welchem die restlichen Teile der programmgesteuerten Einheit mit Energie versorgt werden, mit Energie versorgt wird und vom Debugger einen bestimmten Zustand des OCDS-Moduls vorgebende Steuerinformationen zugeführt bekommt.
  • Dadurch ist es möglich, daß sich das OCDS-Modul bereits bei der Inbetriebnahme der programmgesteuerten Einheit oder äußerst kurze Zeit danach in dem Zustand befindet, in welchem es sich befinden muß, um die programmgesteuerte Einheit im Zusammenwirken mit dem externen Debugger debuggen zu können. Folglich kann bereits bei der Inbetriebnahme der programmgesteuerten Einheit mit dem Debuggen derselben begonnen werden.
  • Vorteilhafte Weiterbildungen der Erfindung sind den Unteransprüchen, der folgenden Beschreibung und den Figuren entnehmbar.
  • Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen unter Bezugnahme auf die Figuren näher erläutert. Es zeigen
  • 1 den Aufbau der im folgenden näher beschriebenen Anordnung zum Debuggen einer programmgesteuerten Einheit,
  • 2 den Aufbau eines OCDS-Moduls, dessen Verwendung eine besonders einfache Realisierung der zu debuggenden programmgesteuerten Einheit ermöglicht, und
  • 3 den Aufbau der eingangs beschriebenen herkömmlichen Anordnung zum Debuggen einer programmgesteuerten Einheit.
  • Die im folgenden beschriebene Anordnung weist den selben prinzipiellen Aufbau auf wie die eingangs unter Bezugnahme auf die 3 beschriebene herkömmliche Anordnung. Sofern im folgenden nicht ausdrücklich etwas anderes erwähnt wird, gelten die zur Anordnung gemäß 3 gemachten Ausführungen auch für die im folgenden beschriebenen Anordnungen.
  • Die zu debuggende programmgesteuerte Einheit ist im betrachteten Beispiel ein Mikrocontroller. Es könnte sich aber ebenso um eine beliebige andere programmgesteuerte Einheit wie beispielsweise einen Mikroprozessor oder einen Signalprozessor handeln.
  • Die 1 zeigt den prinzipiellen Aufbau der im folgenden beschriebenen Anordnung. Die Komponenten der in der 1 gezeigten Anordnung, die mit in der 3 verwendeten Bezugszeichen bezeichnet sind, sind Komponenten, der den mit diesen Bezugszeichen bezeichneten Komponenten der in der 3 gezeigten Anordnung entsprechen.
  • Demzufolge unterscheidet sich die in der 1 gezeigte Anordnung "nur" durch den Mikrocontroller von der in der 3 gezeigten herkömmlichen Anordnung.
  • Der Mikrocontroller PGEN der in der 1 gezeigten Anordnung weist die Besonderheit auf, daß zumindest Teile des OCDS-Moduls durch eine andere Stromquelle mit Energie versorgt werden als der Rest des Mikrocontrollers.
  • Der Mikrocontroller PGEN weist hierzu erste Versorgungsspannungsanschlüsse IO1 und IO2 zum Anlegen einer ersten Versorgungsspannung an den Mikrocontroller auf, und zweite Versorgungsspannungsanschlüsse IO3 und IO4 zum Anlegen einer zweiten Versorgungsspannung an den Mikrocontroller, wobei durch die zweite Versorgungsspannung das OCDS-Modul oder bestimmte Teile desselben mit Energie versorgt werden, und wobei durch die erste Versorgungsspannung die restlichen, Komponenten des Mikrocontrollers mit Energie versorgt werden.
  • Dadurch, daß das OCDS-Modul und die restlichen Komponenten des Mikrocontrollers über verschiedene Versorgungsspannungsanschlüsse mit Energie versorgt werden, ist es möglich, daß wahlweise
    • – sowohl das OCDS-Modul als auch die restlichen Komponenten des Mikrocontrollers mit Energie versorgt werden (Betreiben des Mikrocontrollers in einem ersten Modus M1), oder
    • – nur das OCDS-Modul mit Energie versorgt wird (Betreiben des Mikrocontrollers in einem zweiten Modus M2), oder
    • – nur die restlichen Komponenten des Mikrocontrollers mit Energie versorgt werden (Betreiben des Mikrocontrollers in einem dritten Modus M3), oder
    • – weder das OCDS-Modul noch die restlichen Komponenten des Mikrocontrollers mit Energie versorgt werden (Betreiben des Mikrocontrollers in einem vierten Modus M4).
  • Bei der normalen Verwendung des Mikrocontrollers, d. h. wenn kein Debugger D angeschlossen ist, wird der Mikrocontroller durch Nicht-Anlegen der zweiten Versorgungsspannung an den Mikrocontroller im dritten Modus M3 betrieben (wenn die erste Versorgungsspannung anliegt), oder im vierten Modus M4 betrieben (wenn auch die erste Versorgungsspannung nicht anliegt).
  • Wenn ein Debuggen des Mikrocontrollers erfolgen soll, wird dieser durch Anlegen der zweiten Versorgungsspannung an den Mikrocontroller im ersten Modus M1 betrieben (wenn auch die erste Versorgungsspannung anliegt), oder im zweiten Modus M2 betrieben (wenn die erste Versorgungsspannung nicht anliegt).
  • Vorzugsweise ist es so, daß der Teil des Mikrocontrollers, der durch die erste Versorgungsspannung mit Energie versorgt wird, nicht auch durch die zweite Versorgungsspannung mit Energie versorgt werden kann, und daß der Teil des Mikrocontrollers, der durch die zweite Versorgungsspannung mit Energie versorgt wird, nicht auch durch die erste Versorgungsspannung mit Energie versorgt werden kann.
  • Die Möglichkeit, den Mikrocontroller wahlweise in einem der vorstehend erwähnten vier Modi zu betreiben, erweist sich in mehrfacher Hinsicht als vorteilhaft.
  • Einer dieser Vorteile besteht darin, daß das OCDS-Modul im normalen Betrieb des Mikrocontrollers, d. h. wenn kein Debugger angeschlossen ist, in einem Modus (Modus M3) betrieben werden kann, in welchem das OCDS-Modul nicht mit Energie versorgt wird, und in welchem der Mikrocontroller folglich einen minimalen Energieverbrauch aufweist.
  • Der zweite, mindestens ebenso wichtige Vorteil besteht darin, daß der Mikrocontroller so betreibbar ist, daß sich das OCDS-Modul beim Anlegen der ersten Versorgungsspannung an den Mikrocontroller bereits in einem vom Benutzer des Systems vorgegebenen Zustand befinden kann, und folglich unmittelbar nach der Inbetriebnahme des Mikrocontrollers (unmittelbar nach dem Anlegen der ersten Versorgungsspannung) mit dem Debuggen begonnen werden kann. Das Versetzen des OCDS-Moduls in den Zustand, den es innehaben muß, damit im wesentlichen zeitgleich mit dem Anlegen der ersten Versorgungsspannung mit dem Debuggen des Mikrocontrollers begonnen werden kann, wird im folgenden als Sofortstarteinstellung bezeichnet. Daß sich das OCDS-Modul bereits beim Anlegen der ersten Versorgungsspannung in dem vom Benutzer vorgegebenen Zustand befindet, läßt sich erreichen, indem die Sofortstarteinstellung bereits vor dem Anlegen der ersten Versorgungsspannung erfolgt. Wie lange vor dem Anlegen der ersten Versorgungsspannung die Sofortstarteinstellung erfolgt, spielt keine Rolle. Wichtig ist nur, daß das OCDS-Modul zwischen der Sofortstarteinstellung und dem Anlegen der ersten Versorgungsspannung (und selbstverständlich auch noch danach) über die zweite Versorgungsspannung ununterbrochen mit Energie versorgt wird. Es spielt auch keine Rolle, ob die Sofortstarteinstellung in einer Phase erfolgt, in welcher der Mikrocontroller im Modus M1 betrieben wird, oder in einer Phase erfolgt, in welcher der Mikrocontroller im Modus M2 betrieben wird.
  • Der Vollständigkeit halber sei angemerkt, daß die Teile des Mikrocontrollers, die durch die erste Versorgungsspannung mit Energie versorgt werden, und die Teile des Mikrocontrollers, die durch die zweite Versorgungsspannung mit Energie versorgt werden, unabhängig voneinander rücksetzbar sind. Genauer gesagt darf ein Rücksetzen der mit der ersten Versorgungsspannung mit Energie versorgten Teile des Mikrocontrollers nicht auch ein Rücksetzen der mit der zweiten Versorgungsspannung mit Energie versorgten Teile des Mikrocontrollers bewirken, und darf ein Rücksetzen der mit der zweiten Versorgungsspannung mit Energie versorgten Teile des Mikrocontrollers nicht auch ein Rücksetzen der mit der ersten Versorgungsspannung mit Energie versorgten Teile des Mikrocontrollers bewirken.
  • Vorzugsweise wird das komplette OCDS-Modul durch die zweite Versorgungsspannung mit Energie versorgt. Insbesondere wenn die einzelnen Komponenten des OCDS-Moduls weit über die den Mikrocontroller bildende Schaltung verstreut sind, kann es sich jedoch als vorteilhaft erweisen, wenn nur bestimmte Teile des OCDS-Moduls über die zweite Versorgungsspannung mit Energie versorgt werden.
  • Es ist sogar möglich, daß nur ein im folgenden als Steuerinformationsspeicher bezeichneter Speicher des OCDS-Moduls über die zweite Versorgungsspannung mit Energie versorgt wird.
  • Ein OCDS-Modul, bei welchem dies der Fall ist, ist in 2 gezeigt.
  • Das in der 2 gezeigte OCDS-Modul ist mit dem Bezugszeichen OCDSN bezeichnet und enthält ein herkömmliches OCDS-Modul OCDS und eine Konfigurationseinrichtung CU zur automatischen und selbständigen Konfigurierung des OCDS-Moduls OCDS. Die Konfigurationseinrichtung CU enthält im betrachteten Beispiel eine Steuereinrichtung CTRL sowie einen Steuerinformationsspeicher CM.
  • Der Steuerinformationsspeicher CM wird im betrachteten Beispiel durch ein RAM gebildet oder ist Bestandteil eines RAM. Er könnte aber auch durch einen beliebigen anderen Speicher gebildet werden.
  • Als Steuerinformationsspeicher CM könnte auch ein Speicher oder ein Teil eines Speichers des OCDS-Moduls OCDS verwendet werden. Insbesondere wenn dafür gesorgt wird, daß der Steuerinformationsspeicher nur in Phasen beschrieben werden kann oder darf, in welchen der Mikrocontroller im Modus M2 betrieben wird, kann als Steuerinformationsspeicher ein Speicher verwendet werden, der während des Debuggens, also in Modus-M1-Phasen, für andere Zwecke verwendet wird. Die zusätzliche Verwendung eines im OCDS-Modul ohnehin vorhandenen Speichers als Steuerinformationsspeicher hat den positiven Effekt, daß zur Realisierung des Steuerinformationspeichers kein zusätzlicher Speicher oder Speicherbereich vorgesehen werden muß.
  • Im Steuerinformationsspeicher CM werden Steuerinformationen gespeichert, unter Verwendung welcher das OCDS-Modul OCDS beim Übergang vom Modus-M2-Betrieb des Mikrocontrollers auf den Modus-M1-Betrieb in den Zustand versetzt wird, den es innehaben muß, damit im wesentlichen zeitgleich mit der Inbetriebnahme des Mikrocontrollers mit dem Debuggen desselben begonnen werden kann.
  • Die im Steuerinformationsspeicher CM gespeicherten Steuerinformationen werden durch den Debugger in den Steuerinformationsspeicher geschrieben.
  • Das Einschreiben der Steuerinformationen in den Steuerinformationsspeicher CM bewirkt kein sofortiges Versetzen des OCDS-Moduls in den durch die Steuerinformationen vorgegebenen Zustand.
  • Das Versetzen des OCDS-Moduls in den durch die Steuerinformationen vorgegebenen Zustand erfolgt erst zu einem späteren Zeitpunkt, genauer gesagt erst zu dem Zeitpunkt, zu dem der Mikrocontroller von einem Zustand, in welchem ihm keine erste Versorgungsspannung zugeführt wurde, in einen Zustand gelangt, in welchem ihm die erste Versorgungsspannung zugeführt wird.
  • Dadurch ist es möglich, daß vom OCDS-Modul OCDSN nur der Steuerinformationsspeicher CM durch die zweite Versorgungsspannung mit Energie versorgt wird, und daß die restlichen Komponenten des OCDS-Moduls OCDSN durch die erste Versorgungsspannung mit Energie versorgt werden.
  • In diesem Fall befindet sich das OCDS-Modul OCDSN zwar noch nicht schon beim Anlegen der ersten Versorgungsspannung an den Mikrocontroller in dem durch die Steuerinformationen vorgegebenen Zustand, doch kann im wesentlichen zeitgleich mit dem Anlegen der ersten Versorgungsspannung mit dem Versetzen des OCDS-Moduls in diesen Zustand begonnen werden, wodurch äußerst kurze Zeit nach dem Anlegen der ersten Versorgungsspannung mit dem Debuggen begonnen werden kann.
  • Genau genommen ist es so, daß mit dem Versetzen des OCDS-Moduls in den durch die Steuerinformationen vorgegebenen Zustand nicht schon mit dem Anlegen der ersten Versorgungsspannung an den Mikrocontroller begonnen wird, sondern erst kurz danach, genauer gesagt erst nach dem Rücksetzen (Power On Reset) des durch die erste Versorgungsspannung mit Energie versorgten Teils des Mikrocontrollers. Der Einfachheit halber wird der Zeitpunkt, zu dem mit dem Versetzen des OCDS-Moduls in den durch die Steuerinformationen vorgegebenen Zustand begonnen wird, im folgenden aber dennoch als der Zeitpunkt des Anlegens der ersten Verorgungsspannung an den Mikrocontroller bezeichnet.
  • Das Versetzen des OCDS-Moduls in den durch die Steuerinformationen vorgegebenen Zustand wird wie folgt durchgeführt:
    Zunächst, d. h. bereits vor dem Anlegen der ersten Versorgungsspannung schreibt der Debugger die Steuerinformationen, unter Verwendung welcher das OCDS-Modul beim Anlegen der ersten Versorgungsspannung zu konfigurieren ist, in den Steuerinformationsspeicher. Wie lange vor dem Anlegen der ersten Versorgungsspannung dies geschieht, spielt keine Rolle. Wichtig ist nur, daß der Steuerinformationsspeicher CM zwischen dem Beginn des Einschreibens der Steuerinformationen in den Steuerinformationspeicher und dem Ende der Konfiguration des OCDS-Moduls unter Verwendung dieser Daten (und selbstverständlich auch noch danach) über die zweite Versorgungsspannung ununterbrochen mit Energie versorgt wird. Es spielt auch keine Rolle, ob das Einschreiben der Steuerinformationen in den Steuerinformationspeicher in einer Phase erfolgt, in welcher der Mikrocontroller im Modus M1 betrieben wird, oder in einer Phase erfolgt, in welcher der Mikrocontroller im Modus M2 betrieben wird.
  • Wie vorstehend bereits erwähnt wurde, wird durch das Einschreiben der Steuerinformationen in den Steuerinformationsspeicher noch keine Konfiguration des OCDS-Moduls bewirkt. Die Konfiguration des OCDS-Moduls unter Verwendung dieser Daten erfolgt erst bei der nächsten Inbetriebnahme der Steuereinrichtung CTRL, also dann, wenn das nächste Mal die erste Versorgungsspannung an den Mikrocontroller angelegt wird, genauer gesagt beim nächsten Übergang vom Modus-M2-Betrieb in den Modus-M1-Betrieb des Mikrocontrollers.
  • Das Versetzen des OCDS-Moduls in den durch die Steuerinformationen vorgegebenen Zustand wird durch die vorstehend bereits erwähnte Steuereinrichtung CTRL der Konfigurationseinrichtung CU durchgeführt.
  • Beim Anlegen der ersten Versorgungsspannung an den Mikrocontroller werden auch die bis dahin noch nicht mit Energie versorgten Teile des Mikrocontroller, unter anderem also auch die Steuereinrichtung CTRL mit Energie versorgt.
  • Die Steuereinrichtung CTRL überprüft daraufhin, genauer gesagt nach dem Power an Reset der durch die erste Versorgungsspannung mit Energie versorgten Teile des Mikrocontrollers, ob im Steuerinformationsspeicher Steuerinformationen gespeichert sind, unter Verwendung welcher das OCDS-Modul zu konfigurieren ist. Diese Überprüfung erfolgt dadurch, daß die Steuereinrichtung überprüft, ob an einer bestimmten Stelle innerhalb des Steuerinformationsspeichers ein bestimmter Wert gespeichert ist. Wenn dies nicht der Fall ist, nimmt die Steuereinrichtung keine Konfiguration des OCDS-Moduls vor. Anderenfalls konfiguriert die Steuereinrichtung das OCDS-Modul unter Verwendung der im Steuerinformationsspeicher gespeicherten Steuerinformationen.
  • Da sämtliche Daten, die zur Konfiguration des OCDS-Moduls benötigt werden, im Steuerinformationsspeicher gespeichert sind, ist während der Konfiguration kein Datenaustausch zwischen dem Mikrocontroller und dem Debugger erforderlich, so daß die Konfiguration des OCDS-Moduls im wesentlichen zeitgleich mit dem Anlegen der ersten Versorgungsspannung an den Mikrocontroller begonnen und innerhalb kürzester Zeit abgeschlossen werden kann.
  • Die Steuereinrichtung CTRL kann durch eine Logik, genauer gesagt durch eine state machine gebildet werden, welche nach der vorstehend erwähnten Überprüfung die im Steuerinformationsspeicher gespeicherten Daten an zugeordnete Stellen innerhalb des OCDS-Moduls transferiert.
  • Bei der Steuereinrichtung CTRL kann es sich aber auch um eine CPU handeln, welche ein Programm ausführt, durch das die im Steuerinformationsspeicher gespeicherten Daten an zugeordnete Stellen innerhalb des OCDS-Moduls transferiert werden.
  • Bei der Steuereinrichtung CTRL kann es sich aber auch um eine CPU handeln, welche den Steuerinformationsspeicher als Programmspeicher verwendet und das durch die Steuerinformationen repräsentierte Programm ausführt.
  • Sofern das OCDS-Modul eine CPU enthält, kann auch diese CPU als die Steuereinrichtung CTRL verwendet werden.
  • Die vorstehend beschriebene programmgesteuerte Einheit ermöglicht es unabhängig von den Einzelheiten der praktischen Realisierung, daß bereits unmittelbar nach der Inbetriebnahme der programmgesteuerten Einheit oder sehr kurze Zeit danach mit dem Debuggen der programmgesteuerten Einheit begonnen werden kann.

Claims (23)

  1. Programmgesteuerte Einheit (1) mit einem OCDS-Modul (11), dadurch gekennzeichnet, daß die programmgesteuerte Einheit erste Versorgungsspannungsanschlüsse zum Anlegen einer ersten Versorgungsspannung an die programmgesteuerte Einheit, und zweite Versorgungsspannungsanschlüsse zum Anlegen einer zweiten Versorgungsspannung an die programmgesteuerte Einheit aufweist, und daß das komplette OCDS-Modul oder ein Teil des OCDS-Moduls durch die zweite Versorgungsspannung mit Energie versorgt wird, und die restlichen Komponenten der programmgesteuerten Einheit durch die erste Versorgungsspannung mit Energie versorgt werden.
  2. Programmgesteuerte Einheit nach Anspruch 1, dadurch gekennzeichnet, daß an die programmgesteuerte Einheit ein externer Debugger anschließbar ist, und daß der Debugger im Zusammenwirken mit dem OCDS-Modul in der Lage ist, von der programmgesteuerten Einheit ausgeführte Programme zu debuggen.
  3. Programmgesteuerte Einheit nach Anspruch 2, dadurch gekennzeichnet, daß das OCDS-Modul durch den Debugger steuerbar ist, und daß es von der Ansteuerung des OCDS-Moduls durch den Debugger abhängt, welche Aktionen das OCDS-Modul ausführt.
  4. Programmgesteuerte Einheit nach Anspruch 3, dadurch gekennzeichnet, daß der Teil der programmgesteuerten Einheit, der durch die zweite Versorgungsspannung mit Energie versorgt wird, die Komponenten des OCDS-Moduls umfaßt, deren Zustand von der Ansteuerung durch den Debugger abhängt.
  5. Programmgesteuerte Einheit nach Anspruch 4, dadurch gekennzeichnet, daß der Teil der programmgesteuerten Einheit, der durch die zweite Versorgungsspannung mit Energie versorgt wird, ausschließlich Komponenten des OCDS-Moduls umfaßt, deren Zustand von der Ansteuerung durch den Debugger abhängt.
  6. Programmgesteuerte Einheit nach Anspruch 3, dadurch gekennzeichnet, daß die programmgesteuerte Einheit eine Steuereinrichtung enthält, durch welche das OCDS-Modul in einen vom Debugger vorgegebenen Zustand versetzbar ist.
  7. Programmgesteuerte Einheit nach Anspruch 6, dadurch gekennzeichnet, daß das durch die Steuereinrichtung erfolgende Versetzen des OCDS-Moduls in den vom Debugger vorgegebenen Zustand unter Berücksichtigung von in einem Steuerinformationsspeicher gespeicherten Steuerinformationen erfolgt.
  8. Programmgesteuerte Einheit nach Anspruch 7, dadurch gekennzeichnet, daß der Steuerinformationsspeicher durch den Debugger beschreibbar ist.
  9. Programmgesteuerte Einheit nach Anspruch 8, dadurch gekennzeichnet, daß die Teile der programmgesteuerten Einheit, die durch die zweite Versorgungsspannung mit Energie versorgt werden, den Steuerinformationsspeicher umfassen.
  10. Programmgesteuerte Einheit nach Anspruch 9, dadurch gekennzeichnet, daß die Teile der programmgesteuerten Einheit, die durch die zweite Versorgungsspannung mit Energie versorgt werden, ausschließlich den Steuerinformationsspeicher umfassen.
  11. Programmgesteuerte Einheit nach Anspruch 6, dadurch gekennzeichnet, daß die Steuereinrichtung nach dem Anlegen der ersten Versorgungsspannung an die programmgesteuerte Einheit überprüft, ob der Steuerinformationsspeicher Daten enthält, unter Verwendung welcher das OCDS-Modul in einen anderen Zustand zu versetzen ist.
  12. Programmgesteuerte Einheit nach Anspruch 11, dadurch gekennzeichnet, daß die Überprüfung dadurch erfolgt, daß die Steuereinrichtung überprüft, ob an einer bestimmten Stelle innerhalb der Steuerinformationsspeichers ein bestimmter Wert gespeichert ist.
  13. Programmgesteuerte Einheit nach Anspruch 11, dadurch gekennzeichnet, daß die Steuereinrichtung dann, wenn die Überprüfung ergibt, daß das OCDS-Modul in einen anderen Zustand zu versetzen ist, das OCDS-Modul in den durch den Inhalt des Steuerinformationsspeichers vorgegebenen Zustand versetzt.
  14. Programmgesteuerte Einheit nach Anspruch 6, dadurch gekennzeichnet, daß die Steuereinrichtung durch eine State Machine oder eine CPU gebildet wird, welche die im Steuerinformationsspeicher gespeicherten Daten an zugeordnete Stellen innerhalb des OCDS-Moduls transferiert.
  15. Programmgesteuerte Einheit nach Anspruch 6, dadurch gekennzeichnet, daß die Steuereinrichtung durch eine CPU gebildet wird, welche den Steuerinformationsspeicher als Programmspeicher verwendet und das durch den Inhalt des Steuerinformationsspeichers repräsentierte Programm ausführt.
  16. Programmgesteuerte Einheit nach Anspruch 7, dadurch gekennzeichnet, daß der Steuerinformationspeicher durch einen flüchtigen Speicher gebildet wird.
  17. Verfahren zum Debuggen von Programmen, die durch eine programmgesteuerte Einheit ausgeführt werden, welche ein OCDS-Modul enthält und mit einem externen Debugger verbunden ist, wobei das OCDS-Modul durch den Debugger steuerbar ist, und wobei es von der Ansteuerung des OCDS-Moduls durch den Debugger abhängt, welche Aktionen das OCDS-Modul ausführt, dadurch gekennzeichnet, daß das komplette OCDS-Modul oder ein Teil des OCDS-Moduls bereits vor dem Zeitpunkt, zu welchem die restlichen Teile der programmgesteuerten Einheit mit Energie versorgt werden, mit Energie versorgt wird und vom Debugger einen bestimmten Zustand des OCDS-Moduls vorgebende Steuerinformationen zugeführt bekommt.
  18. Verfahren nach Anspruch 17, dadurch gekennzeichnet, daß das OCDS-Modul noch vor dem Versorgen der restlichen Teile der programmgesteuerten Einheit mit Energie in den durch die Steuerinformationen vorgegebenen Zustand versetzt wird.
  19. Verfahren nach Anspruch 17, dadurch gekennzeichnet, daß die Steuerinformationen in einen im OCDS-Modul vorhandenen Steuerinformationsspeicher geschrieben werden, und daß das OCDS-Modul erst nach dem Versorgen der restlichen Teile der programmgesteuerten Einheit mit Energie in den durch die Steuerinformationen vorgegebenen Zustand versetzt wird.
  20. Verfahren nach Anspruch 17, dadurch gekennzeichnet, daß das Versetzen des OCDS-Moduls in den durch die Steuerinformationen vorgegebenen Zustand automatisch unmittelbar nach dem Beginn der Versorgung der restlichen Teile der programmgesteuerten Einheit mit Energie durchgeführt wird.
  21. Verfahren nach Anspruch 19, dadurch gekennzeichnet, daß vor dem Versetzen des OCDS-Moduls in einen anderen Zustand überprüft wird, ob im Steuerinformationsspeicher gültige Steuerinformationen gespeichert sind.
  22. Verfahren nach Anspruch 21, dadurch gekennzeichnet, daß die Überprüfung dadurch erfolgt, daß überprüft wird, ob an einer bestimmten Stelle innerhalb des Steuerinformationsspeichers ein bestimmter Wert gespeichert ist.
  23. Verfahren nach Anspruch 19, dadurch gekennzeichnet, daß der Steuerinformationsspeicher der Teil des OCDS-Moduls ist, der bereits vor dem Zeitpunkt, zu welchem die restlichen Teile der programmgesteuerten Einheit mit Energie versorgt werden, mit Energie versorgt wird.
DE10244922A 2002-09-25 2002-09-25 Programmgesteuerte Einheit und Verfahren zum Debuggen von einer programmgesteuerten Einheit ausgeführten Programmen Expired - Fee Related DE10244922B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10244922A DE10244922B4 (de) 2002-09-25 2002-09-25 Programmgesteuerte Einheit und Verfahren zum Debuggen von einer programmgesteuerten Einheit ausgeführten Programmen
US10/670,664 US7210064B2 (en) 2002-09-25 2003-09-25 Program controlled unit and method for debugging programs executed by a program controlled unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10244922A DE10244922B4 (de) 2002-09-25 2002-09-25 Programmgesteuerte Einheit und Verfahren zum Debuggen von einer programmgesteuerten Einheit ausgeführten Programmen

Publications (2)

Publication Number Publication Date
DE10244922A1 DE10244922A1 (de) 2004-04-08
DE10244922B4 true DE10244922B4 (de) 2009-08-13

Family

ID=31984105

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10244922A Expired - Fee Related DE10244922B4 (de) 2002-09-25 2002-09-25 Programmgesteuerte Einheit und Verfahren zum Debuggen von einer programmgesteuerten Einheit ausgeführten Programmen

Country Status (2)

Country Link
US (1) US7210064B2 (de)
DE (1) DE10244922B4 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1553495B1 (de) * 2004-01-06 2015-11-18 Infineon Technologies AG Programmgesteuerte Einheit
JP4409349B2 (ja) * 2004-04-27 2010-02-03 Okiセミコンダクタ株式会社 デバッグ回路およびデバッグ制御方法
WO2006109105A1 (en) * 2005-04-12 2006-10-19 Stmicroelectronics S.R.L. Method and system for controlling transmission of multicast packets over a local area network, related network and computer program product therefor
US8380966B2 (en) 2006-11-15 2013-02-19 Qualcomm Incorporated Method and system for instruction stuffing operations during non-intrusive digital signal processor debugging
US8370806B2 (en) * 2006-11-15 2013-02-05 Qualcomm Incorporated Non-intrusive, thread-selective, debugging method and system for a multi-thread digital signal processor
US8341604B2 (en) 2006-11-15 2012-12-25 Qualcomm Incorporated Embedded trace macrocell for enhanced digital signal processor debugging operations
US7657791B2 (en) * 2006-11-15 2010-02-02 Qualcomm Incorporated Method and system for a digital signal processor debugging during power transitions
US8533530B2 (en) * 2006-11-15 2013-09-10 Qualcomm Incorporated Method and system for trusted/untrusted digital signal processor debugging operations
US8484516B2 (en) * 2007-04-11 2013-07-09 Qualcomm Incorporated Inter-thread trace alignment method and system for a multi-threaded processor
JP5996177B2 (ja) * 2011-10-21 2016-09-21 ルネサスエレクトロニクス株式会社 デバッグシステム、電子制御装置、情報処理装置、半導体パッケージおよびトランシーバ回路
CN110806879B (zh) * 2019-10-17 2024-03-22 长沙市博芯微电子科技有限公司 烧录调试电路及烧录调试器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0720092A1 (de) * 1994-12-28 1996-07-03 Hewlett-Packard Company Mikroprozessor mit Fehlersuchsystem
DE19835610A1 (de) * 1998-08-06 2000-02-10 Siemens Ag Programmgesteuerte Einheit und Verfahren zum Debuggen derselben

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319727A (ja) * 1996-05-31 1997-12-12 Hitachi Ltd データプロセッサ及びデータ処理システム
US5935266A (en) * 1996-11-15 1999-08-10 Lucent Technologies Inc. Method for powering-up a microprocessor under debugger control
JPH11102305A (ja) * 1997-09-29 1999-04-13 Oki Electric Ind Co Ltd インサーキットエミュレータ
DE19835609C2 (de) * 1998-08-06 2000-06-08 Siemens Ag Programmgesteuerte Einheit
JP4321976B2 (ja) * 2001-05-31 2009-08-26 富士通マイクロエレクトロニクス株式会社 デバッグ支援機能付きマイコン
JP4437881B2 (ja) * 2001-06-22 2010-03-24 富士通マイクロエレクトロニクス株式会社 デバッグサポートユニットを有するマイクロコントローラ
JP4024026B2 (ja) * 2001-10-12 2007-12-19 富士通株式会社 半導体装置および評価装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0720092A1 (de) * 1994-12-28 1996-07-03 Hewlett-Packard Company Mikroprozessor mit Fehlersuchsystem
DE19835610A1 (de) * 1998-08-06 2000-02-10 Siemens Ag Programmgesteuerte Einheit und Verfahren zum Debuggen derselben

Also Published As

Publication number Publication date
US7210064B2 (en) 2007-04-24
US20040153760A1 (en) 2004-08-05
DE10244922A1 (de) 2004-04-08

Similar Documents

Publication Publication Date Title
EP1040420B1 (de) Verfahren zur reparatur von integrierten schaltkreisen
EP0057756B1 (de) Anordnung zum Datenaustausch in parallel arbeitenden Multi-Mikrorechnersystemen
CH654943A5 (de) Pruefeinrichtung fuer mikroprogramme.
EP1720100B1 (de) Verfahren und Vorrichtung zur Emulation einer programmierbaren Einheit
EP0254247A2 (de) Einrichtung zur Rettung des Rechnerzustandes
DE10244922B4 (de) Programmgesteuerte Einheit und Verfahren zum Debuggen von einer programmgesteuerten Einheit ausgeführten Programmen
DE19839680B4 (de) Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
EP1019819B1 (de) Programmgesteuerte einheit und verfahren zum debuggen derselben
EP0500973B1 (de) EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM
DE3037475A1 (de) Schnittstellenschaltungsanordnung fuer eine datenverarbeitungsanlage
DE112011106017B4 (de) Energiemanagement in einem diskreten Speicherabschnitt
DE10213009A1 (de) Verfahren zum elektronischen Testen von Speichermodulen
DE69122001T2 (de) Integrierte Schaltung mit einer Standardzelle, einer Anwendungszelle und einer Prüfzelle
DE10139660A1 (de) Programmgesteuerte Einheit
DE2823457C2 (de) Schaltungsanordnung zur Fehlerüberwachung eines Speichers einer digitalen Rechenanlage
DE2242009C2 (de) Verfahren und Anordnung zum Erkennen, ob im Mikroprogramm einer Datenverarbeitungsanlage vorgesehene Verzweigungsoperationen ausgeführt werden
DE10062404A1 (de) Vorrichtung und Verfahren zum Reduzieren der Anzahl von Adressen fehlerhafter Speicherzellen
EP2287742B1 (de) Programmgesteuerte Einheit
DE2622140C3 (de) Einrichtung zur Steuerung manueller Operationen
DE19903302B4 (de) Verfahren und Vorrichtung zur Überprüfung der Funktion eines Rechners
EP1224480B1 (de) Programmgesteuerte einheit und verfahren zum erkennen und/oder analysieren von fehlern in programmgesteuerten einheiten
DE3302902A1 (de) Speicherprogrammierbare steuerung
EP0613077B1 (de) Verfahren zur Reset-Erzeugung in Datenverarbeitungsanlagen
DE3643560A1 (de) Flexible korrektur von firmware
DE102008010556A1 (de) Verfahren und Vorrichtung zum Speichern von Informationsdaten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee