DE10064025A1 - Verfahren mit einem bedingten deterministischen Rücksetzvektor für einen Mikroprozessor - Google Patents
Verfahren mit einem bedingten deterministischen Rücksetzvektor für einen MikroprozessorInfo
- Publication number
- DE10064025A1 DE10064025A1 DE10064025A DE10064025A DE10064025A1 DE 10064025 A1 DE10064025 A1 DE 10064025A1 DE 10064025 A DE10064025 A DE 10064025A DE 10064025 A DE10064025 A DE 10064025A DE 10064025 A1 DE10064025 A1 DE 10064025A1
- Authority
- DE
- Germany
- Prior art keywords
- reset vector
- memory
- microprocessor
- application
- valid
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
- Stored Programmes (AREA)
Abstract
Die Erfindung betrifft ein Verfahren (200, 300, 400) zum Einarbeiten eines bedingten Rücksetzvektors in ein Boot-System eines Mikroprozessors, um einen Speicher nach einem Rücksetzvektorlokalisierer auszutasten und somit gültige Boot-Software durch den gesamten Speicherraum des Mikroprozessors hindurch zu finden. Das Verfahren mit einem bedingten Rücksetzvektor (200, 300, 400) der vorliegenden Erfindung enthält eine bedingte Logik (204, 306, 406), die feststellt, wo der Rücksetzvektorlokalisierer im Speicher gefunden werden kann.
Description
Die vorliegende Erfindung betrifft ein Verfahren zum Booten einer Anwen
dungssoftware eines Mikroprozessors, und insbesondere ein Boot-Verfah
ren mit einem bedingten deterministischen Rücksetzvektor.
Im allgemeinen umfaßt der Betrieb eines Mikroprozessors einen Prozeß
zum Initialisieren oder Starten seiner eigenen internen Logik und/oder
beabsichtigten Software-Anwendung, der auch als Boot-Verfahren be
kannt ist. Innerhalb der internen Initialisierungslogik des Mikroprozessors
gibt es einen Rücksetzvektor, der dazu verwendet wird, auf die Stelle der
Ausführungsanweisungen für das Betriebssystem oder die andere Anwen
dungs-Software zu zeigen.
Typischerweise springen existierende Boot-Verfahren für Anwendungs
software zu einer festen Adresse in einem Speicherraum und beginnen
dann, die Software-Anwendung an der festen Speicherstelle auszuführen.
Eines der üblichsten Verfahren, um dieses Ziel zu erreichen, ist die Ver
wendung eines Einschaltrücksetzvektors. Der Rücksetzvektor befindet
sich an einer festen Speicherstelle. Der Mikroprozessor liest die Daten an
der Rücksetzvektorstelle, die einen Zeiger für die Stelle der Speicheradres
se enthält, um die Ausführung der Anwendungs-Software zu beginnen.
Dem Verfahren mit einem festem Rücksetzvektor ist eine unkomplizierte
Logik zugeordnet. Beim Einschalten wird ein Mikroprozessor seinen Programmzähler,
der ein Register umfaßt, das die gegenwärtige Adresse zur
Ausführung der Software-Anwendung enthält, mit den Dateninhalten la
den, die bei der Speicheradresse des Rücksetzvektors gespeichert sind. So
weist der Rücksetzvektor beispielsweise Adressen $FFFE und $FFFF auf,
die die Daten 0F und 2E enthalten. Während des Einschaltrücksetzens
wird der Mikroprozessor die Dateninhalte von $FFFE und $FFFF in das
Programmzählerregister des Mikroprozessors laden. An diesem Punkt ent
hält das Programmzählerregister das Datenelement $0F2E, welches eine
Adresse im Speicherraum ist, die die Boot-Software für die beabsichtigte
Software-Anwendung enthält. Der Dateninhalt des festen Rücksetzvektors
ist die erste Adresse für die ausführbare Software. So muß die ausführba
re Software immer an dieser festen Speicheradreßstelle bleiben.
Ein Problem, auf das man oft bei diesem Verfahren nach dem Stand der
Technik trifft, ist, daß die Rücksetzvektorlogik Probleme schafft, wenn der
programmierbare Speicher der Anwendung gelöscht wird. Das Löschen
des programmierbaren Speichers, das manchmal vorgenommen wird,
wenn der Mikroprozessor neu programmiert wird, wird den Rücksetzvek
tor und die Anwendungs-Boot-Software in einen gelöschten oder leeren
Zustand zurücklassen, der schwerwiegende, wenn nicht sogar nicht wie
derherstellbare Fehler bewirken kann.
Bevor ein Mikroprozessor neu programmiert werden kann, muß beispiels
weise der Speicherraum gelöscht werden. Wenn der Rücksetzvektor ge
löscht wird oder leer gelassen wird, hat der Mikroprozessor keine Möglich
keit, entweder die Boot- oder die Ausführungs-Software für die Anwen
dungs-Software beim Einschaltrücksetzen zu lokalisieren. Das Ergebnis
ist, daß der Mikroprozessor nicht neu gebootet werden kann, um ein erneutes
Programmieren zu ermöglichen. Diese Situation wird manchmal
als "hirntoter" Prozessor bezeichnet. Ein "hirntoter" Prozessor kann nicht
kommunizieren, um das Programmieren seines Speicherraums zu ermög
lichen.
Eine Möglichkeit, dieses Problem zu überwinden, ist es, einen Mikropro
zessor zu konstruieren, der eine nichtlöschbare, dem Boot-Speicher dedi
zierte Adresse aufweist. Bei dieser Konstruktion sind der Rücksetzvektor
und seine Daten bei der dem Boot-Speicher dedizidierten, nicht löschba
ren Adresse angeordnet. Deshalb sind der Rücksetzvektor und die Boot-
Software für den Mikroprozessor verfügbar, wenn ein Einschaltrücksetzen
während eines Ereignisses eines erneuten Programmierens auftritt. Es
können dem nichtlöschbaren Boot-Speicher auch Kommunikationsrouti
nen hinzugefügt werden, um ein Programmieren des Anwendungsspei
chers zu gestatten. Jedoch kann die Verwendung des dedizierten, nicht
löschbaren Boot-Speicherraumes sehr teuer und schwierig zu verändern
sein, wodurch dieser unflexibel gemacht wird.
In der Automobilindustrie im besonderen ist Flexibilität der Schlüssel für
die kleinen Controller, die bei vielen Kraftfahrzeuganwendungen verwen
det werden. Aufgrund der Größen- und Gewichtsbeschränkungen wenden
Kraftfahrzeuganwendungen diese kleinen Controller häufig an, und die
Controller werden oft für Aufrüstungen neu programmiert, was es nötig
macht, den Speicher zu löschen. Dedizidierter, nichtlöschbarer Speicher
raum steht bei diesen kleinen Controllern im Gegensatz zur Notwendigkeit
für Flexibilität.
Die vorliegende Erfindung ist ein Verfahren mit einem bedingten Rück
setzvektor. Gemäß der vorliegenden Erfindung wird der Mikroprozessor
immer eine Boot-Software im Speicherraum aufweisen, die lokalisiert und
ausgeführt werden kann.
Gemäß der vorliegenden Erfindung enthält der Rücksetzvektor eine be
dingte Logik, die die Speicherstelle der ausführbaren Software bestimmt.
Die Software der bedingten Logik des Mikroprozessors wird dazu verwen
det, bedingt zu bestimmen, wo sich die ausführbare Software im Speicher
raum befindet. Beispielsweise sind eine IF, THEN, ELSE-Anweisung, eine
DO WHILE-Schleife oder eine DO UNTIL-Schleife alle Wahlmöglichkeiten,
die in einem Mikroprozessor verfügbar sind, der derart gehandhabt wer
den kann, daß er eine Logik bereitstellt, um die Stelle eines Speicher
raums, die die ausführbare Software enthält, bedingt zu bestimmen. Die
tatsächlichen Bedingungen für die Logikanweisungen werden von der be
sonderen Anwendung abhängen.
Es ist ein Ziel der vorliegenden Erfindung, ein störungssicheres Verfahren
zum Booten eines Mikroprozessors zu schaffen. Es ist ein anderes Ziel der
vorliegenden Erfindung, ein störungssicheres Verfahren zum Booten von
Anwendungssoftware in einem Mikroprozessor zu schaffen. Es ist ein
weiteres Ziel der vorliegenden Erfindung, ein Boot-System für einen Mi
kroprozessor bereitzustellen, das einen "Hirntod" des Mikroprozessors
vermeidet, wenn der programmierbare Speicher zur erneuten Programmie
rung des Mikroprozessors gelöscht wird.
Die Erfindung wird im folgenden beispielhaft anhand der Zeichnung be
schrieben. In dieser ist:
Fig. 1a ein Blockdiagramm eines Mikrocontrollers mit partitionier
ten Speicherblöcken,
Fig. 1b ein Flußdiagramm des allgemeinen Verfahrens des Verfah
rens mit einem bedingten Rücksetzvektor der vorliegenden
Erfindung,
Fig. 2 ein Flußdiagramm einer Ausführungsform der vorliegenden
Erfindung, die eine IF, THEN, ELSE-Anweisung verwendet,
Fig. 3 ein Flußdiagramm einer anderen Ausführungsform der vor
liegenden Erfindung, die eine DO-Schleife verwendet, und
Fig. 4 ein Flußdiagramm einer weiteren Ausführungsform der vor
liegenden Erfindung, die eine UNTIL-Schleife verwendet.
Die vorliegende Erfindung schafft einen störungssicheren Zustand für ein
Boot-System für einen Mikroprozessor. Bei der vorliegenden Erfindung
wird beim Boot-Prozeß ein bedingter Rücksetzvektor verwendet, so daß
der Boot-Prozeß im Fall eines Einschaltrücksetzens während des Löschens
des Speichers dennoch stattfinden wird.
Bei der vorliegenden Erfindung ist ein Mikroprozessor derart verändert,
daß er eine Logik für den bedingten Rücksetzvektor umfaßt. Die Logik
wird den Speicher des Mikroprozessors nach gültigen Boot-Daten durch
suchen, wodurch jeder Verlust von kritischen Boot-Daten vermieden wird.
Eine Veränderung des Mikroprozessors kann mit irgendeinem auf dem
Gebiet bekannten Verfahren erfolgen. Es ist beispielsweise möglich, die
Änderungen, die für die zusätzliche Logik notwendig sind, während der
Herstellung des Mikroprozessors auf Substratebene vorzunehmen. Es ist
auch möglich, die Logik der Software des Mikroprozessors in der Boot-
Strategie hinzuzufügen, die bereits im Mikroprozessor vorhanden ist. Ein
Fachmann ist in der Lage, viele Alternativen zu bestimmen, um den be
dingten Rücksetzvektor der vorliegenden Erfindung erfolgreich in existie
rende Mikroprozessortechnologien einzuarbeiten.
Das Verfahren mit einem bedingten deterministischen Rücksetzvektor der
vorliegenden Erfindung sucht in anderen Teilen des Speichers, statt je
desmal an der gleichen Stelle, wie es gegenwärtig auf dem Gebiet bekannt
ist. Der bedingte deterministische Rücksetzvektor tastet den Speicher aus,
wobei er im Speicher nach einem gültigen Boot-Rücksetzvektor sucht.
Nun kann die Adresse des Rücksetzvektors durch den gesamten Speicher
des Mikroprozessors hindurch bewegt werden. Der bedingte deterministi
sche Rücksetzvektor sucht nach einem bekannten Lokalisierer im Spei
cher, um festzustellen, wo sich der Rücksetzvektor im Speicher befindet.
Dieser Lokalisierer ist ein bekannter Datenwert, der zu dem Zeitpunkt in
den Speicher einprogrammiert wird, zu dem die Dateninhalte des Rück
setzvektors programmiert werden. Sobald der Rücksetzvektorlokalisierer
durch die interne Logik des Mikroprozessors gefunden wird, ist der näch
ste Speicheradreßraum der Rücksetzvektor, der die Daten enthält, die zu
den ersten ausführbaren Daten für die beabsichtigte Anwendung zeigen.
Die ersten ausführbaren Daten sind oft als Anwendungs-Boot-Code be
kannt. Der bedingte deterministische Rücksetzvektor beschränkt die Ver
wendung einer einzigen dedizierten Adresse zur Aufnahme des Rücksetzvektors
weniger als der, der bei dem Verfahren mit einem festen Rücksetz
vektor nach dem Stand der Technik verwendet wird.
In der gegenwärtigen Mikroprozessortechnologie ist der Speicher typi
scherweise in Blöcke partitioniert. Während der erneuten Programmierung
des Anwendungsspeichers des Mikroprozessors ist es möglich, auszu
wählen, welche Blöcke durch Löschen beeinflußt werden und welche
nicht. Es ist daher möglich, mehr als einen Block zu besitzen, der eine
Adresse aufweist, die die Boot-Daten für die Anwendung enthält. In die
sem Fall erlaubt es die vorliegende Erfindung dem Mikroprozessor, sollte
einer der Blöcke gelöscht sein, den Speicher auszutasten und eine Adres
se, vorzugsweise in einem anderen Speicherblock, zu lokalisieren, die
funktionelle Boot-Daten enthält. Gemäß der vorliegenden Erfindung wird
der Mikroprozessor immer mindestens einen gültigen, sich im Speicher
befindenden Boot-Speicherraum aufweisen, den die Logik finden wird.
Für jede Ausführungsform des Verfahrens der vorliegenden Erfindung
wird empfohlen, daß Boot-Daten immer in zumindest zwei separaten Spei
cherblöcken enthalten sind oder zwischen diesen bewegt werden. Die Grö
ße der Speicherblöcke kann abhängig vom Mikroprozessor und von der
speziellen Anwendung stark schwanken. In Fig. 1a ist ein Beispiel gezeigt.
Ein Mikrocontroller 10 weist einen Mikroprozessor 12, Anschlüsse nach
außen 13 und einen Anwendungsspeicher 14 auf. Der Anwendungsspei
cher 14 enthält die Adreßstellen 16 mit Daten 18 darin. Speicherblock A
im Anwendungsspeicher 14 weist den Rücksetzvektorlokalisierer bei
Adresse $0000, den Rücksetzvektor bei Adresse $0003 und den Haupt-
Boot-Code bei Adresse $0100 auf. Speicherblock B im Anwendungsspei
cher 14 enthält den Sicherheitsrücksetzvektor bei Adresse $10003 und
den Sicherheits-Boot-Code bei Adresse $10100. Ein Fachmann ist auf der
Grundlage eines besonderen Mikroprozessors und einer beabsichtigten
Anwendung in der Lage, zu bestimmen, welche Blockgrößen anwendbar
sind und wie die Blöcke auszutasten sind. Daher werden diese Gegen
stände hierin nicht diskutiert.
Bei jeder Ausführungsform des Verfahrens mit einem bedingten Rücksetz
vektor der vorliegenden Erfindung umfaßt das Verfahren eine Störsicher
heitslogik zum Auffinden eines gültigen Anwendungs-Boot-Blocks in ei
nem Anwendungsspeicher. Es gibt mehrere Möglichkeiten, mit denen dies
vorgenommen werden kann, aber für jedes Verfahren sollte der Mikropro
zessor gültige Boot-Daten umfassen, die in zwei separaten Speicherblöc
ken, etwa beispielsweise A und B, enthalten sind oder zwischen diesen
bewegt werden. Es wird angenommen, daß bei dem vorliegenden Beispiel
angestrebt wird, Block A des Speichers des Mikroprozessors neu zu pro
grammieren. Das allgemeine Verfahren 100 ist in Fig. 1b gezeigt und wird
anhand von dieser beschrieben. Für das vorliegende Beispiel eines Neu
programmierungsereignisses wird zuerst Block B vollständig gelöscht 102,
und der Sicherheitsrücksetzvektor und der Boot-Code werden in Block B
einprogrammiert 104. Als nächstes wird Speicherblock A vollständig ge
löscht 106 und dann mit dem neuen Rücksetzvektor, dem Haupt-Boot-
Code und Anwendungsdaten programmiert 108. Block B wird gelöscht
110 und mit irgendwelchen gewünschten Daten programmiert 112. Das in
Fig. 1b gezeigte Flußdiagramm ist lediglich ein Beispiel. Es sind viele Al
ternativen verfügbar, die dennoch dazu führen werden, daß immer Mikro
prozessor-Boot-Code im Anwendungsspeicher sein wird, wenn der ge
samte Anwendungsspeicherraum gelöscht und programmiert wird.
Wie es früher diskutiert wurde, gibt es zahlreiche Alternativen für die Lo
gik, die dazu verwendet wird, den bedingten Rücksetzvektor der vorliegen
den Erfindung zu verwirklichen, wie beispielsweise eine IF, THEN, ELSE-
Anweisung, eine DO-Schleife oder/und UNTIL-Schleife, um nur einige zu
nennen.
Ein Beispiel einer Ausführungsform des bedingten deterministischen
Rücksetzvektors, der ein IF, THEN, ELSE-Anweisung verwendet, ist in Fig.
2 gezeigt. Das Verfahren 200 beginnt, indem die Rücksetzvektorlokali
siererdaten X bei einer besonderen Adresse Y in die bedingte deterministi
sche Rücksetzvektorlogik des Mikroprozessors geladen werden 202. Bei
dem vorliegenden Beispiel werden die Daten X bei Adresse Y mit einem
bekannten Rücksetzvektorlokalisiererwert für die angestrebte, besondere
Anwendung verglichen 204. Wenn die Dateninhalte passen, führt der Mi
kroprozessor die Daten aus, auf die die Daten bei Adresse Y + A zeigen 206.
Y ist die Adresse des Rücksetzvektorlokalisierers, und A ist die Datenlänge
des Rücksetzvektorlokalisierers. Wenn die Dateninhalte nicht passen,
führt der Mikroprozessor die Daten aus, auf die die Daten bei Adresse Y + B
zeigen 208. B ist entweder die Datenlänge des Rücksetzvektors plus ein
Offset zum Sicherheitsrücksetzvektor oder lediglich ein Offset zum Sicher
heitsrücksetzvektor.
Weitere mögliche Prüfungen auf gültigen Boot-Speicherraum umfassen,
sind aber nicht darauf begrenzt: Durchführen einer Überprüfung (Prüf
summe) des Speicherraums, Mustervergleich oder Signaturanpassung,
Speicherung eines Gültigkeitsprüfwertes im EEPROM "Speicher von der
nichtflüchtigen Art" oder Umlenken des Rücksetzvektors zu einer gültigen
Boot-Speicherstelle während des erneuten Programmierens. Der Rücksetzvektorlokalisierer
ist eine Festwertimplementierung in dem Mikropro
zessor. Seine Dateninhalte werden während des ersten anfänglichen Pro
grammierereignisses in den Speicher einprogrammiert. Das erste anfängli
che Programmierereignis kann entweder über das interne Boot-Ladepro
gramm oder durch ein externes Herstellungswerkzeug vorgenommen wer
den. Der Rücksetzvektorlokalisierer besitzt eine Adresse und einen Daten
wert im Anwendungsspeicherraum, und sein Datenwert ist fest codiert
oder wird durch die bedingte Rücksetzvektorlogik des Mikroprozessors in
itialisiert.
Fig. 3 ist ein Flußdiagramm einer anderen Ausführungsform des Verfah
rens der vorliegenden Erfindung, die eine DO WHILE-Schleife verwendet.
Das Verfahren 300 beginnt, indem die Dateninhalte X in eine Speicher
adresse Y geladen werden 302. Die Daten werden mit einem bekannten
Rücksetzvektor 306 verglichen. Wenn die Daten X bei Adresse Y nicht
gleich dem bekannten Rücksetzvektorlokalisierer sind, wird dann die
Adresse Y auf die kombinierte Adresse Y + B gesetzt 308, und das Pro
gramm setzt das Austasten und den Vergleich in einer DO WHILE-Schleife
fort 304. Sobald ein gültiger Boot-Speicherraum gefunden ist, führt ande
rerseits der Prozessor die Daten aus, auf die diese Adresse, d. h. Y + A, zeigt
310.
Fig. 4 ist ein Flußdiagramm einer weiteren Ausführungsform des Verfah
rens der vorliegenden Erfindung, die eine UNTIL-Schleife verwendet. Bei
dem in Fig. 4 gezeigten Verfahren 400 werden die Daten X in Adresse Y
geladen 402. Die Daten X werden mit dem bekannten Rücksetzvektorlo
kalisierer verglichen 406, und wenn es eine Übereinstimmung gibt, führt
der Prozessor dann die Daten aus 408, auf die die Daten bei Adresse Y + A
zeigen. Wenn es keine Übereinstimmung gibt, setzt der Prozessor Y gleich
Y + B 410 und wiederholt die Schleife.
Zusammengefaßt betrifft die Erfindung ein Verfahren 200, 300, 400 zum
Einarbeiten eines bedingten Rücksetzvektors in ein Boot-System eines Mi
kroprozessors, um einen Speicher nach einem Rücksetzvektorlokalisierer
auszutasten und somit gültige Boot-Software durch den gesamten Spei
cherraum des Mikroprozessors hindurch zu finden. Das Verfahren mit ei
nem bedingten Rücksetzvektor 200, 300, 400 der vorliegenden Erfindung
enthält eine bedingte Logik 204, 306, 406, die feststellt, wo der Rücksetz
vektorlokalisierer im Speicher gefunden werden kann.
Claims (11)
1. Verfahren (200, 300, 400) zum Booten eines Mikroprozessors, wobei
der Mikroprozessor partitionierte Speicherblöcke (A, B) aufweist, wo
bei das Verfahren die Schritte umfaßt, daß:
gültige Boot-Daten (X) bei mindestens zwei Speicherstellen in se paraten Speicherblöcken (A, B) vorhanden sind,
der Speicher ausgetastet wird (204, 306, 406), um einen Rück setzvektorlokalisierer zu lokalisieren, und
eine Anwendung in dem gültigen Boot-Speicherraum ausgeführt wird (206, 208, 310, 408), auf den der Rücksetzvektorlokalisierer zeigt.
gültige Boot-Daten (X) bei mindestens zwei Speicherstellen in se paraten Speicherblöcken (A, B) vorhanden sind,
der Speicher ausgetastet wird (204, 306, 406), um einen Rück setzvektorlokalisierer zu lokalisieren, und
eine Anwendung in dem gültigen Boot-Speicherraum ausgeführt wird (206, 208, 310, 408), auf den der Rücksetzvektorlokalisierer zeigt.
2. Verfahren (200, 300, 400) nach Anspruch 1,
dadurch gekennzeichnet, daß
der Speicheraustastschritt eine IF, THEN, ELSE-Anweisung (204,
306, 406) zum Lokalisieren des Rücksetzvektorlokalisierers umfaßt.
3. Verfahren (200) nach Anspruch 2,
dadurch gekennzeichnet, daß
die IF, THEN, ELSE-Anweisung umfaßt:
IF (Rücksetzvektorlokalisierer bei gegenwärtiger Adresse in ge genwärtigem Speicherblock (204)),
THEN (Führe den Rücksetzvektor in gegenwärtigem Speicherblock aus (206)),
ELSE (Führe den Rücksetzvektor in einem anderen Speicherblock aus (208)).
IF (Rücksetzvektorlokalisierer bei gegenwärtiger Adresse in ge genwärtigem Speicherblock (204)),
THEN (Führe den Rücksetzvektor in gegenwärtigem Speicherblock aus (206)),
ELSE (Führe den Rücksetzvektor in einem anderen Speicherblock aus (208)).
4. Verfahren (300) nach Anspruch 1,
dadurch gekennzeichnet, daß
der Speicheraustastschritt eine DO WHILE-Schleife (304) umfaßt.
5. Verfahren (300) nach Anspruch 4,
dadurch gekennzeichnet, daß
die DO WHILE-Schleife (304) umfaßt:
DO WHILE (Rücksetzvektorlokalisierer befindet sich nicht in gegenwärtigem Speicherblock (302)),
(Suche bei nächstem Speicherblock (308)) END WHILE
(Führe den Rücksetzvektor in gegenwärtigem Speicherblock aus (310)).
DO WHILE (Rücksetzvektorlokalisierer befindet sich nicht in gegenwärtigem Speicherblock (302)),
(Suche bei nächstem Speicherblock (308)) END WHILE
(Führe den Rücksetzvektor in gegenwärtigem Speicherblock aus (310)).
6. Verfahren (400) nach Anspruch 1,
dadurch gekennzeichnet, daß
der Speicheraustastschritt eine DO UNTIL-Schleife umfaßt.
7. Verfahren (400) nach Anspruch 6,
dadurch gekennzeichnet, daß
die DO UNTIL-Schleife umfaßt, daß:
der Speicher ausgetastet wird (406), bis ein gültiger Rücksetz vektorlokalisierer gefunden wird, und
der Rücksetzvektor ausgeführt wird (408).
der Speicher ausgetastet wird (406), bis ein gültiger Rücksetz vektorlokalisierer gefunden wird, und
der Rücksetzvektor ausgeführt wird (408).
8. Bedingter deterministischer Rücksetzvektor für einen Mikroprozessor
mit partitionierten Speicherblöcken, wobei der bedingte deterministi
sche Rücksetzvektor umfaßt:
einen ersten Anwendungsspeicherblock (A) mit einem Rücksetz vektorlokalisierer, einem Rücksetzvektor und Haupt-Boot-Anwen dungsdaten,
einen zweiten Anwendungsspeicherblock (B) mit einem Rücksetz vektorlokalisierer, einem Rücksetzvektor und Sicherheits-Boot-An wendungsdaten,
mehrere logische Befehle (204, 306, 406), um den Rücksetzvektor im ersten und im zweiten Anwendungsspeicherblock (A, B) zu su chen, und
mehrere logische Befehle (206, 208, 310, 408), um den Rücksetz vektor auszuführen.
einen ersten Anwendungsspeicherblock (A) mit einem Rücksetz vektorlokalisierer, einem Rücksetzvektor und Haupt-Boot-Anwen dungsdaten,
einen zweiten Anwendungsspeicherblock (B) mit einem Rücksetz vektorlokalisierer, einem Rücksetzvektor und Sicherheits-Boot-An wendungsdaten,
mehrere logische Befehle (204, 306, 406), um den Rücksetzvektor im ersten und im zweiten Anwendungsspeicherblock (A, B) zu su chen, und
mehrere logische Befehle (206, 208, 310, 408), um den Rücksetz vektor auszuführen.
9. Mikroprozessor nach Anspruch 8,
dadurch gekennzeichnet, daß
die logischen Befehle eine IF, THEN ELSE-Anweisung (204, 306, 406)
umfassen.
10. Mikroprozessor nach Anspruch 8,
dadurch gekennzeichnet, daß
die logischen Befehle eine DO WHILE-Anweisung (304) umfassen.
11. Mikroprozessor nach Anspruch 8,
dadurch gekennzeichnet, daß
die logischen Befehle ferner eine DO UNTIL-Anweisung (400) umfas
sen.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/470,742 US6704865B1 (en) | 1999-12-23 | 1999-12-23 | Microprocessor conditional deterministic reset vector method |
US09/470,742 | 1999-12-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10064025A1 true DE10064025A1 (de) | 2001-06-28 |
DE10064025B4 DE10064025B4 (de) | 2007-04-19 |
Family
ID=23868853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10064025A Expired - Lifetime DE10064025B4 (de) | 1999-12-23 | 2000-12-21 | Verfahren zum Booten eines Mikroprozessors sowie Mikroprozessor mit einem bedingten deterministischen Rücksetzvektor |
Country Status (2)
Country | Link |
---|---|
US (1) | US6704865B1 (de) |
DE (1) | DE10064025B4 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7191323B2 (en) | 2001-11-28 | 2007-03-13 | Renesas Technology Corp. | Information processing unit selecting one of reset vector addresses |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7246222B2 (en) * | 2003-04-21 | 2007-07-17 | Hewlett-Packard Development Company, L.P. | Processor type determination based on reset vector characteristics |
US7962681B2 (en) * | 2008-01-09 | 2011-06-14 | Qualcomm Incorporated | System and method of conditional control of latch circuit devices |
US8578362B2 (en) * | 2011-03-18 | 2013-11-05 | Hamilton Sundstrand Corporation | Method for downloading software to an electronics product |
JP2013004036A (ja) * | 2011-06-21 | 2013-01-07 | Fuji Xerox Co Ltd | 情報処理装置および画像形成装置 |
US9465755B2 (en) | 2011-07-18 | 2016-10-11 | Hewlett Packard Enterprise Development Lp | Security parameter zeroization |
US9959120B2 (en) * | 2013-01-25 | 2018-05-01 | Apple Inc. | Persistent relocatable reset vector for processor |
EP3338180B1 (de) * | 2015-08-20 | 2024-05-08 | Micron Technology, Inc. | Festkörperspeichervorrichtung mit schnellstart für nand-medien |
US20180275731A1 (en) * | 2017-03-21 | 2018-09-27 | Hewlett Packard Enterprise Development Lp | Processor reset vectors |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4562495A (en) * | 1984-07-02 | 1985-12-31 | Verbatim Corporation | Multiple system disk |
US5263168A (en) * | 1991-06-03 | 1993-11-16 | Motorola, Inc. | Circuitry for automatically entering and terminating an initialization mode in a data processing system in response to a control signal |
US5432927A (en) * | 1992-06-17 | 1995-07-11 | Eaton Corporation | Fail-safe EEPROM based rewritable boot system |
US5327531A (en) * | 1992-09-21 | 1994-07-05 | International Business Machines Corp. | Data processing system including corrupt flash ROM recovery |
US5418918A (en) * | 1993-09-10 | 1995-05-23 | Compaq Computer Corp. | Scanning initial CD-ROM sectors for a boot record and executing said boot record to load and execute floppy disk image corresponding to the existing floppy drive |
US5938764A (en) * | 1996-10-23 | 1999-08-17 | Micron Electronics, Inc. | Apparatus for improved storage of computer system configuration information |
US6003130A (en) * | 1996-10-28 | 1999-12-14 | Micron Electronics, Inc. | Apparatus for selecting, detecting and/or reprogramming system bios in a computer system |
EP0934563A1 (de) * | 1997-05-30 | 1999-08-11 | Koninklijke Philips Electronics N.V. | Fehlersicheres verfahren zum verbessern von set-top-system softwarevon einem netzwerksystem |
JP2914360B2 (ja) * | 1997-09-30 | 1999-06-28 | ソニー株式会社 | 外部記憶装置及びデータ処理方法 |
US6202091B1 (en) * | 1997-12-08 | 2001-03-13 | Nortel Networks Limited | Process and apparatus for initializing a computer from power up |
US6289426B1 (en) * | 1998-02-24 | 2001-09-11 | Adaptec, Inc. | Drive preparation methods for intelligent backup systems |
US6425079B1 (en) * | 1999-03-31 | 2002-07-23 | Adaptec, Inc. | Universal option ROM BIOS including multiple option BIOS images for multichip support and boot sequence for use therewith |
-
1999
- 1999-12-23 US US09/470,742 patent/US6704865B1/en not_active Expired - Lifetime
-
2000
- 2000-12-21 DE DE10064025A patent/DE10064025B4/de not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7191323B2 (en) | 2001-11-28 | 2007-03-13 | Renesas Technology Corp. | Information processing unit selecting one of reset vector addresses |
Also Published As
Publication number | Publication date |
---|---|
US6704865B1 (en) | 2004-03-09 |
DE10064025B4 (de) | 2007-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10115729B4 (de) | Vielseitiges Boot-Verfahren für eine Anwendungs-Software eines Mikrocontrollers | |
DE102013014172B4 (de) | Schutz globaler register in einem multithreaded-prozessor | |
DE19633466C2 (de) | Nachinitialisierung von Chipkarten | |
DE4331703C2 (de) | Elektronische Einrichtung | |
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE2611892C2 (de) | Mikroprogramm-Steueranordnung | |
DE10308545A1 (de) | Verfahren und Vorrichtung zum Aktualisieren eines verteilten Programms | |
DE1285219B (de) | Steuerwerk zur Ausfuehrung von Unterprogrammen | |
DE2023354A1 (de) | Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit | |
DE10064025A1 (de) | Verfahren mit einem bedingten deterministischen Rücksetzvektor für einen Mikroprozessor | |
DE10216602A1 (de) | Optimierung von compilergeneriertem Programmcode | |
DE1949916B2 (de) | Verfahren zum betrieb einer programmgesteuerten datenverarbeitungsanlage und anordnung zur durchfuehrung des verfahrens | |
WO2015086357A1 (de) | Verfahren zur beeinflussung eines steuerprogramms eines steuergeräts | |
EP1709534B1 (de) | Ausführung eines programms durch eine virtuelle maschine | |
WO2007003573A2 (de) | Verfahren zur bestimmung der bearbeitungsreihenfolge von bausteinen eines funktionsplans sowie elektronische datenverarbeitungsanlage zur durchführung des verfahrens | |
DE19709975C2 (de) | Mikrocomputer | |
DE19751093A1 (de) | Programmgesteuerte Einheit | |
DE2519195A1 (de) | Assoziativspeicher | |
EP0748467B1 (de) | Selbstprogrammierende schaltungsanordnung | |
DE102004006308B4 (de) | Verfahren zum Verändern von Programmcode eines tragbaren Datenträgers mittels Patchdaten | |
DE2954533C2 (de) | ||
WO2018091334A1 (de) | Verfahren zur automatischen und dynamischen re-konfiguration einer speicherschutz-einheit sowie ein mikrocontroller mit einer speicherschutz-einheit | |
DE10303452B4 (de) | Verfahren zur Steuerung der Unterbrechung und/oder der Aufzeichnung von Ausführungsdaten eines Programms in einem Mikrocontroller und Mikrocontroller mit einer Anordnung zur Durchführung des Verfahrens | |
DE2735874C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8364 | No opposition during term of opposition | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06F0009445000 Ipc: G06F0009440100 |
|
R081 | Change of applicant/patentee |
Owner name: DELPHI TECHNOLOGIES IP LIMITED, BB Free format text: FORMER OWNER: DELPHI TECHNOLOGIES, INC., TROY, MICH., US |
|
R082 | Change of representative |
Representative=s name: MANITZ FINSTERWALD PATENT- UND RECHTSANWALTSPA, DE |
|
R071 | Expiry of right |