DE10064025A1 - Verfahren mit einem bedingten deterministischen Rücksetzvektor für einen Mikroprozessor - Google Patents

Verfahren mit einem bedingten deterministischen Rücksetzvektor für einen Mikroprozessor

Info

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
Application number
DE10064025A
Other languages
English (en)
Other versions
DE10064025B4 (de
Inventor
Brentt C Duff
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.)
Delphi Technologies IP Ltd
Original Assignee
Delphi Technologies Inc
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 Delphi Technologies Inc filed Critical Delphi Technologies Inc
Publication of DE10064025A1 publication Critical patent/DE10064025A1/de
Application granted granted Critical
Publication of DE10064025B4 publication Critical patent/DE10064025B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

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.
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)).
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)).
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).
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.
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.
DE10064025A 1999-12-23 2000-12-21 Verfahren zum Booten eines Mikroprozessors sowie Mikroprozessor mit einem bedingten deterministischen Rücksetzvektor Expired - Lifetime DE10064025B4 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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