-
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.