PatentDe  


Dokumentenidentifikation DE10115729B4 30.09.2004
Titel Vielseitiges Boot-Verfahren für eine Anwendungs-Software eines Mikrocontrollers
Anmelder Delphi Technologies, Inc., Troy, Mich., US
Erfinder Duff, Brent C., Carmel, Ind., US
Vertreter Manitz, Finsterwald & Partner GbR, 80336 München
DE-Anmeldedatum 30.03.2001
DE-Aktenzeichen 10115729
Offenlegungstag 11.10.2001
Veröffentlichungstag der Patenterteilung 30.09.2004
Veröffentlichungstag im Patentblatt 30.09.2004
IPC-Hauptklasse G06F 9/445

Beschreibung[de]

Die vorliegende Erfindung betrifft ein Verfahren nach dem Oberbegriffder Ansprüche 1 und 5.

Im allgemeinen umfaßt ein Arbeitsablauf eines Mikrocontrollers einen Prozeß zum Initialisieren oder Starten seiner eigenen internen Logik und/oder vorgesehenen Software-Anwendung, der auch als ein Boot-Verfahren bekannt ist. Boot- oder Urlade-Verfahren nach dem Stand der Technik sind an sich nicht vielseitig, da die Boot-Software an einem besonderen Kommunikationsprotokoll und einer besonderen Hardware-Plattform festgemacht ist. Aufgrund dieser Beschränkungen ist die Boot-Software nicht immer in der Lage, für neuere Technologien aufgerüstet zu werden, und ist oft anfällig dafür, während eines Neuprogrammierens gelöscht zu werden. In vielen Fällen kann die Boot-Software nicht neu programmiert werden, und ein Neuprogrammierungsereignis kann zu einem irreparablen Fehler führen.

Typischerweise wird das Boot-Verfahren für eine Anwendungs-Software eines Mikrocontrollers durch die Verwendung einer Rücksetzvektorlogik, die in dem Mikroprozessor enthalten ist, Rücksetzvektoren im Anwendungs-Speicherraum, Anwendungs-Boot-Software und der Anwendungs-Software selbst bewerkstelligt. Die Rücksetzvektoren enthalten Daten, die auf die Startadresse von Anwendungs-Boot-Software und anderen Routinen zeigen, die sich in der Anwendungs-Software befinden. Die Anwendungs-Boot-Software bestimmt typischerweise, ob die Anwendungs-Software vorhanden ist, und liefert die geeigneten Kommunikationsalgorithmen zum Neuprogrammieren des Anwendungsspeichers. Die Anwendungs-Software steuert die Funktionalität des Mikrocontrollers, indem die Arbeitsabläufe des Mikroprozessors gesteuert werden. Bevor ein Mikrocontroller neu programmiert werden kann, muß beispielsweise der Anwendungs-Speicherraum gelöscht werden. Wenn der Rücksetzvektor gelöscht wird, oder leer bleibt, hat der Mikrocontroller keine Möglichkeit, beim Einschaltrücksetzen entweder Boot- oder Ausführungs-Software für die Anwendungs-Software zu lokalisieren. Das Ergebnis ist, daß der Mikrocontroller nicht neu gebootet werden kann, um ein Neuprogrammieren zuzulassen.

Eine Boot-ROM-Technologie umfaßt ein einmal programmierbares Bauteil. Es kann nicht neu programmiert werden. Ein Boot-ROM hat, wenn überhaupt, sehr begrenzte Tauglichkeit zur Aufrüstung, es sei denn, das Bauteil wird entfernt und durch eine neuere Version ersetzt. Schnelle Änderungen in der Technologie erfordern es, daß die Anwendungs-Boot-Software mit jeder Version der Software aufgerüstet wird, um Änderungen im Kommunikationsprotokoll und Aktualisierungen der Hardware-Plattform zu unterstützten oder bekannte Fehler in der Anwendungs-Boot-Software zu beheben. Wenn die Boot-ROM-Technologie verwendet wird, kann die Anwendungs-Boot-Software nicht aufgerüstet werden, wodurch die Flexibilität begrenzt wird und die Kosten des Mikrocontrollers erhöht werden.

Andere bekannte Boot-Verfahren umfassen einen neu programmierbaren Boot-Block, der Ausfallanfälligkeiten während eines Neuprogrammierungsereignisses enthalten kann. Während eines Rücksetzens eines Mikrocontrollers wird beispielsweise der Mikrocontroller einen Programmzähler mit der Startadresse des Boot-Blocks laden. Wenn der Boot-Block während des Neuprogrammierungsereignisses gelöscht wird, hat der Mikrocontroller keine Möglichkeit, die Anwendungs-Software zu booten oder den Speicherraum zu programmieren. In bestimmten Situationen kann der Mikrocontroller vollständig betriebsunfähig werden. Wenn beispielsweise ein Rücksetzen während eines Neuprogrammierungsereignisses auftritt und der Boot-Block gelöscht worden ist, hat der Mikrocontroller keine Möglichkeit, mit einem externen Werkzeug zu kommunizieren, das die Neuprogrammierung des Boot-Blocks und/oder der Anwendungs-Software erlaubt.

Die oben beschriebenen Verfahren erfordern teure Treiber, sind nicht ausfallsicher und sind in ihren Entwürfen sehr unflexibel. Die Anwendungs-Boot-Software benutzt große Mengen Speicherraum. Jede Aufrüstung erfordert neue Hardware oder führt eine unerwünschte Anfälligkeit gegenüber Ausfall des Mikrocontrollers ein. Zusätzlich sind diese Verfahren auf besonderen Kommunikationsprotokolle und eine besondere Hardware-Technologie begrenzt.

Aus der DE 196 42 737 C2 ist ein Verfahren zum Neuschreiben eines Steuerprogramms in einem Nur-Lese-Speicher bekannt, bei dem mittels eines von einer Speicher-Neuschreibungs-Einrichtung ausgegebenen Befehls ein Bootstrap-Programm aktiviert wird, um das Steuerprogramm neu zu schreiben. Zur Speicherung von Steuervariablen, die bei der Ausführung des Steuerprogramms verwendet werden, ist ein Sicherungsspeicher vorgesehen, der nach jeder Neuprogrammierung auf die neuen Steuervariablen initialisiert werden muss.

In der Automobilindustrie im besonderen ist Flexibilität der Schlüssel für die kleinen Controller, die bei vielen Kraftfahrzeuganwendungen verwendet 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. Ein Dedizieren von nicht löschbarem Speicherraum steht bei diesen kleinen Controllern im Gegensatz zur Notwendigkeit für Flexibilität.

Es ist die Aufgabe der vorliegenden Erfindung, ein ausfallsicheres Verfahren zum Neuprogrammieren von Anwendungs-Software in einem Mikroprozessor zu schaffen, das eine vollständige Aktualisierung von Anwendungs-Software, die Kommunikations-Software einschließt, zulässt und das ein Auftreten eines Rücksetzens eines Mikroprozessors während des, Neuprogrammierungs prozesses des Anwendungs-Boot-Speicherraums zulässt.

Die Lösung der Aufgabe erfolgt durch die Merkmale der Answprüche 1 und 5. Das Verfahren der vorliegenden Erfindung weist einen Raum in Anwendungsspeicher auf, der für Vor-Boot-Daten reserviert ist. Die Vor-Boot-Startadresse ist immer fest, und ihr Rücksetzvektorzeiger kann nicht gelöscht werden. Deshalb wird mit der Vor-Boot-Startadresse im Rücksetzvektor-Raum direkt ein Bezug hergestellt. Der Zweck des Vor-Boot-Raums ist es, gültige Anwendungs-Boot-Software im Speicherraum des Mikrocontrollers zu lokalisieren. Der Vor-Boot-Raum erlaubt es, daß die Anwendungs-Boot-Software während eines Neuprogrammierungsereignisses im gesamten Speicherraum verschoben werden kann, ohne den Mikrocontroller gegenüber Ausfall anfällig zumachen. Die vielen Stellen für die Anwendungs-Boot-Software gewähren ein ausfallsicheres Verfahren zur Neuprogrammierung.

Gemäß dem Verfahren der vorliegenden Erfindung unterteilt das vielseitige Boot-Verfahren einen Speicher in vier separate Speicherräume, und zwar einen Rücksetzvektor-Speicherraum, einen Vor-Boot-Logik-Raum, einen Hauptblock in dem Anwendungs-Software-Speicherraum und einen Sicherungsblock im Anwendungs-Software-Speicherraum. Bei dem Verfahren der vorliegenden Erfindung wird ein Block des Anwendungs-Software-Speicherraums gelöscht und mit einem Sicherungs-Anwendungs-Boot-Programm programmiert. Der Hauptblock des Anwendungsspeichers wird dann gelöscht und neu programmiert. Schließlich wird der Sicherungsblock gelöscht und mit Anwendungs-Software neu programmiert. Der Mikrocontroller weist nun aufgerüstete Anwendungs-Boot-Software, neu programmierte Kommunikations-Software und neu programmierte Anwendungs-Software auf, ohne Anfälligkeiten einzuführen.

Die Erfindung wird im folgenden beispielhaft anhand der Zeichnungen beschrieben, in diesen ist:

1 ein Schaubild der Architektur des Anwendungs-Boot-Speichers gemäß dem Verfahren der vorliegenden Erfindung,

2 ein Flußdiagramm einer Vor-Boot-Logik gemäß dem Verfahren der vorliegenden Erfindung,

3 ein Schaubild der Speicherarchitektur für den Anwendungs-Software-Raum der vorliegenden Erfindung,

4 eine Rücksetzvektor-Sprungtabelle gemäß einer Ausführungsform des Verfahrens der vorliegenden Erfindung, und

5 ein Flußdiagramm eines Neuprogrammierungsereignisses gemäß einer Ausführungsform des Verfahrens der vorliegenden Erfindung, das eine Rücksetzvektorlogik umfaßt.

Die vorliegende Erfindung ist ein vielseitiges Neuprogrammierungsverfahren für eine Anwendungs-Software eines Mikrocontrollers. Die vorliegende Erfindung läßt es immer zu, daß selbst im Falle eines Einschaltrücksetzens zu jedem Zeitpunkt während des Neuprogrammierungsereignisses eine Neuprogrammierungskommunikation stattfinden kann. 1 ist ein Schaubild der Architektur für den Speicher eines Mikrocontrollers 10. Der Mikrocontroller 10 weist mindestens einen Mikroprozessor 12 auf, dessen Speicher eine Rücksetzvektorlogik 14 enthält. Die Rücksetzvektorlogik 14 bleibt während eines Neuprogrammierungsereignisses unverändert. Bei einer Ausführungsform der vorliegenden Erfindung enthält die Rücksetzvektorlogik 14 eine Rücksetzvektor-Sprungtabelle, die später ausführlich diskutiert werden wird. Der Mikrocontroller 10 enthält auch Kommunikations-Hardware 16, die abhängig von der Machart und dem Modell des Mikrocontrollers variiert. In 1 ist auch ein externes Programmierwerkzeug 17 gezeigt, das dazu verwendet wird, Anweisungen während eines Neuprogrammierungsereignisses zum Mikrocontroller 10 zu übertragen. Es ist wichtig, daß das externe Programmierwerkzeug 17 während eines Neuprogrammierungsereignisses immer mit dem Mikrocontroller 10 kommunizieren kann.

Gemäß der vorliegenden Erfindung weist der in 1 gezeigte Mikrocontroller 10 einen Anwendungsspeicher 18 auf, der in vier separate Speicherräume unterteilt ist, die einen Rücksetzvektor-Raum 20 umfassen, der, wie die Rücksetzvektorlogik 14, während eines Neuprogrammierungsereignisses unverändert bleibt. Der Anwendungsspeicher 18 enthält auch einen Vor-Boot-Software-Raum 22 und einen Anwendungs-Software-Raum 24. Der Anwendungs-Software-Raum 24 ist ferner in einen Hauptblock 26 und einen Sicherungsblock 28 unterteilt. Es ist anzumerken, daß der Anwendungs-Speicherraum 18 nicht auf eine besondere Art einer Speichertechnologie, d.h. RAM, ROM usw., begrenzt ist. Es ist auch anzumerken, daß jeder Speicherabschnitt nicht notwendigerweise in der gleichen Art von Speichertechnologie enthalten sein muß.

Der Rücksetzvektor-Raum 20 enthält die Adressen, die auf die Startadressen von bestimmten Algorithmen zeigen, die sich jeweils in den Vor-Boot- und Anwendungs-Software-Räumen 22 bzw. 24 befinden. Der Rücksetzvektor-Raum 20 enthält auch die Startadresse für den Vor-Boot-Raum 22, die immer fest ist und mit der im Rücksetzvektor-Raum 20 direkt ein Bezug hergestellt werden kann. Der Rücksetzvektorzeiger für den Vor-Boot-Raum 22 kann nicht gelöscht werden.

Der Vor-Boot-Raum 22 ist derart entworfen, daß er gültige Anwendungs-Boot-Software im Anwendungsspeicher 18 lokalisiert. Die Bestimmung von "gültiger" Anwendungs-Boot-Software ist anwendungsspezifisch, und daher ist die Vor-Boot-Logik, die der Lokalisierung von gültiger Boot-Software zugeordnet ist, von der Anwendung abhängig und wird hierin nicht diskutiert werden. Da die Vor-Boot-Logik den Zweck hat, gültige Anwendungs-Boot-Software im Anwendungsspeicher 18 zu finden, ist es möglich, die Anwendungs-Boot-Software während des Neuprogrammierungsereignisses im gesamten Speicherraum 18 zu verschieben. Die Anwendungs-Boot-Software befindet sich an vielen Stellen, wodurch mehrere Wahlmöglichkeiten für einen ausfallsicheren Entwurf zugelassen werden.

2 ist ein Flußdiagramm 30, das eine mögliche Vor-Boot-Logik zeigt, die bei dem Verfahren der vorliegenden Erfindung verwendet werden kann. 2 veranschaulicht eine bedingte IF, THEN, ELSE-Bestimmung für die Vor-Boot-Logik 30. Es ist jedoch anzumerken, daß es möglich ist, andere Verfahren einer Verwendung bedingter Schleifen einzusetzen, um den Anwendungsspeicher bei der Suche nach einem gültigen Anwendungs-Boot-Programm auszutasten. Ein Fachmann ist in der Lage, die bedingte IF, THEN, ELSE-Schleife durch ein anderes Verfahren zu ersetzen, um ähnliche Ergebnisse wie die der vorliegenden Erfindung zu erzielen.

Der Boot-Prozeß des Mikrocontrollers beginnt 32, und ein Einschaltrücksetzvektor wird ausgeführt 34. Die Vor-Boot-Logik 36 sucht nach einem gültigen Anwendungs-Boot-Programm 38. In dem Fall, daß ein gültiges Boot-Programm gefunden wird, wird der Haupt-Anwendungs-Boot-Raum abgearbeitet 40. In dem Fall, daß kein gültiges Anwendungs-Boot-Programm gefunden wird, wird der Sicherungs-Anwendungs-Boot-Raum abgearbeitet 42. Sobald der geeignete Boot-Raum abgearbeitet worden wird, endet in jedem Fall der Vor-Boot-Prozeß 44.

Der Anwendungs-Software-Raum 24 ist in dem Schaubild von 3 ausführlicher gezeigt. Der Anwendungs-Software-Raum muß mindestens zwei separate und unabhängig löschbare Blöcke aufweisen. Es sind ein Hauptblock 26 und ein Sicherungsblock 28 gezeigt. Der Hauptblock 26 enthält das Anwendungs-Boot-Programm, das die Anwendung initialisiert. Er enthält auch Neuprogrammierungs-Kommunikationsroutinen und die Anwendungs-Software selbst. Der Sicherungsblock 28 erfüllt zwei Funktionen. Während des normalen Betriebs des Mikrocontrollers enthält der Sicherungsblock 28 die Anwendungs-Software. Während eines Neuprogrammierungsereignisses wird jedoch der Sicherungsblock das Sicherungs-Boot-Programm und enthält die Neuprogrammierung-Kommunikationsroutinen Dies stellt sicher, daß es immer ein Mittel gibt, um mit dem externen Programmierwerkzeug zu kommunizieren, wodurch verhindert wird, daß Ausfallanfälligkeiten ein Problem werden, sollte ein Rücksetzen des Mikrocontrollers während des Neuprogrammierens auftreten.

4 ist ein Rücksetzvektor-Schaubild 50, das eine optionale Rücksetzvektor-Sprungtabelle aufweist, gemäß einer Ausführungsform der vorliegenden Erfindung. Die optionale Rücksetzvektor-Sprungtabelle 52 befindet sich im Anwendungs-Speicherraum 24 zusammen mit dem Hauptblock 26 und dem Sicherungsblock 28. Die Rücksetzvektor-Sprungtabelle 52 hält den Rücksetzvektor-Raum 20 während des Neuprogrammierungsereignisses unverändert, bei dem der Rücksetzvektor-Raum 20 unlöschbar bleiben kann. Wie es oben diskutiert wurde, enthält der Rücksetzvektor-Raum 20 Rücksetzvektoren, die auf die Startadressen von Algorithmen in den Vor-Boot- und Anwendungs-Software-Räumen 26, 28 zeigen. Ein Löschen des Rücksetzvektor-Raums 20 kann Anfälligkeiten bewirken, sollte während des Neuprogrammierens ein unerwartetes Rücksetzen des Mikroprozessors auftreten. Während des Neuprogrammierens der Anwendungs-Software ändern sich diese Startadressen oft, was Änderungen an den Dateninhalten in dem Rücksetzvektor-Raum 20 erfordert. Die Rücksetzvektor-Sprungtabelle 52 erlaubt es, daß die Startadressen sich ändern, ohne daß der Rücksetzvektor-Raum 20 verändert wird. Jedoch wird die Rücksetzvektor-Sprungtabelle nicht die Startadresse für den Vor-Boot-Raum 22 enthalten. Die Startadresse für den Vor-Boot-Raum 22 ist immer fest, und ihr Rücksetzvektorzeiger kann nicht gelöscht werden. Es ist anzumerken, daß, wenn der Rücksetzvektor-Raum 20 eine byte-schreibbare / -löschbare Speichertechnologie ist, es dann keine Notwendigkeit für eine Rücksetzvektor-Sprungtabelle 52 gibt.

Bei dem in 4 gezeigten Beispiel weist der Einschaltrücksetzvektor bei Adresse $000000 den Dateninhalt $000100 auf, der auf die Startadresse für die Vor-Boot-Logik in dem Vor-Boot-Software-Raum 22 zeigt. Der Rücksetzvektor bei Adresse $000004 weist den Dateninhalt $500000 auf, der auf die Rücksetzvektor-Sprungtabelle 52 zeigt. Die Rücksetzvektor-Sprungtabelle 52 bei Adresse $500000 weist eine Sprunganweisung zur Startadresse einer Eingabeerfassungsroutine auf. Die Rücksetzvektor-Sprungtabelle 52 kann für alle Dateninhalte im Rücksetzvektor-Raum 20 verwendet werden, die während eines Neuprogrammierungsereignisses nicht gelöscht werden können.

5 ist ein Flußdiagramm 60, das veranschaulicht, wie der Anwendungs-Raum neu programmiert werden kann, während Anwendungs-Boot-Software im Speicher gehalten wird, gemäß dem Verfahren der vorliegenden Erfindung. Während des normalen Betriebes 62 enthält der Speicherraum 18 den Rücksetzvektor-Raum 20, den Vor-Boot-Raum 22 und den Anwendungs-Raum 24. Während des normalen Betriebes 62 enthält der Anwendungs-Raum 24 seine eigenen Boot-Routinen, Neuprogrammierungs-Kommunikationsroutinen und, wahlweise, eine Rücksetzvektor-Sprungtabelle. Während eines Neuprogrammierungsereignisses 64 wird ein Block des Anwendungs-Speicher-Raums gelöscht, und ein Sicherungs-Anwendungs-Boot-Programm 28 wird programmiert. Das Ergebnis ist ein Hauptblock 26 und ein Sicherungsblock 28. Der Sicherungsblock 28 enthält die notwendige Neuprogrammierungs-Kommunikationsroutine und die Boot-Logik für das Neuprogrammierungsereignis. Der Sicherungs-Anwendungs-Boot-Block 28 kann nicht gelöscht werden, wenn der Haupt-Anwendungs-Raum nicht gültig ist. Dies ist eine ausfallsichere Weise, um eine Kommunikation mit den externen Werkzeugen aufrechtzuerhalten. Eine Gültigkeitsprüfung kann mit jedem von vielen dem Fachmann bekannten Verfahren bewerkstelligt werden.

Sobald der Sicherungsblock 28 programmiert worden ist, wird der Haupt-Anwendung-Raum 26 gelöscht 66. Sollte an diesem Punkt im Neuprogrammierungsereignis ein Einschaltrücksetzen auftreten, wird der Haupt-Anwendungs-Raum in dem Sicherungsblock 28 gesichert, der, wie es oben diskutiert wurde, nicht gelöscht werden kann. Deshalb kann die Neuprogrammierung ohne einen Ausfall fortfahren.

Sobald der Haupt-Anwendungs-Raum gelöscht worden ist, kann er wie gewünscht programmiert werden 68. Der Haupt-Anwendungs-Raum 26 enthält nun das Anwendungs-Boot-Programm, die Neuprogrammierungs-Kommunikationsroutinen und die Logik, um zu bestimmen, ob die Sicherung vorhanden ist, oder der Haupt-Anwendungs-Raum enthält gültige Anwendungs-Software. Sobald die Neuprogrammierung des Haupt-Anwendungs-Raums abgeschlossen ist, kann der Sicherungs-Anwendungs-Raum gelöscht werden und mit Anwendungs-Software programmiert werden 70. Das Neuprogrammierungsereignis ist abgeschlossen und der Mikrocontroller ist vollständig mit gültiger Anwendungs-Software programmiert. Der Mikrocontroller enthält nun aufgerüstete Anwendungs-Boot- und Neuprogrammierungs-Kommunikationsroutinen und Anwendungs-Software. Es sind gemäß dem Verfahren der vorliegenden Erfindung keine Anfälligkeiten eingeführt worden.

Zusammengefaßt betrifft die Erfindung ein Verfahren 60 zum Neuprogrammieren von Anwendungs-Software in einem Mikrocontroller 10 ohne den Mikrocontroller gegenüber Ausfall anfällig zu machen. Das Verfahren 60 teilt den Anwendungs-Speicherraum 18 in fünf unterschiedliche Bereiche, die einen Rücksetzvektor-Raum 20, einen Vor-Boot-Software-Raum 22 und einen Anwendungs-Software-Raum 24 umfassen, der ferner in einen Haupt-Anwendungs-Boot-Raum 26 und einen Sicherungs-Anwendungs-Boot-Raum 28 unterteilt ist. Bei einer anderen Ausführungsform der vorliegenden Erfindung ist der Anwendungs-Software-Raum 24 derart programmiert, daß er eine Rücksetzvektor-Sprungtabelle 52 enthält. Der Sicherungs-Raum 28 ist derart programmiert 64, daß er Daten enthält, die notwendig sind, um den Mikrocontroller neu zu programmieren, bis der Haupt-Anwendungs-Raum 26 wie gewünscht neu programmiert worden ist 68. Der Sicherungs-Boot-Raum 28 kann nicht gelöscht werden, bis der Haupt-Anwendungs-Raum 26 richtig neu programmiert worden ist. Dann nach kann der Sicherungs-Boot-Raum 28 gelöscht werden 70 und wie gewünscht neu programmiert werden.


Anspruch[de]
  1. Verfahren (60) zum Neuprogrammieren von Anwendungs-Software in einem Mikrocontroller (10), der einen unterteilten Anwendungs-Speicherraum (18) aufweist, der einen Rücksetzvektor-Raum (20), einen Hauptblock (26) eines Anwendungs-Software-Raums (24) und einen Sicherungsblock (28) des Anwendungs-Software-Raums (24) umfasst, wobei dem Neuprogrammieren Löschvorgänge vorausgehen, dadurch gekennzeichnet, daß das Verfahren die Schritte umfasst, dass:

    der Anwendungs-Speicherraum (18) in den Rücksetzvektor-Raum (20), einen Vor-Boot-Software-Raum (22) und den Anwendungs-Software-Raum (24) unterteilt wird,

    der Anwendungs-Software-Raum (24) in den Hauptblock (26) und den Sicherungsblock (28) unterteilt wird,

    der Sicherungsblock (28) des Anwendungs-Software-Raums (24) gelöscht wird,

    der Sicherungsblock (28) des Anwendungs-Software-Raums (24) programmiert wird (64),

    der Hauptblock (26) des Anwendungs-Software-Raums (24) gelöscht wird (66),

    der Hauptblock (26) des Anwendungs-Software-Raums (24) programmiert wird (68),

    der Sicherungsblock (28) des Anwendungs-Software-Raums (24) gelöscht wird (70), und der Sicherungsblock (28) des Anwendungs-Software-Raums (24) neu programmiert wird.
  2. Verfahren (60) nach Anspruch 1, dadurch gekennzeichnet, daß der Schritt des Programmierens (64) des Sicherungsblocks (28) des Anwendungs-Software-Raums (24) ferner umfaßt, daß der Sicherungsblock (28) mit einer Logik-Routine programmiert wird (64), um ein Löschen des Sicherungsblocks (28) bei der Abwesenheit eines gültigen Hauptblocks (26) des Anwendungs-Software-Raums (24) zu verhindern.
  3. Verfahren (60) nach Anspruch 2, dadurch gekennzeichnet, daß es den Schritt umfaßt, daß bestimmt wird, ob der Hauptblock (28) des Anwendungs-Software-Raums (24) gültige Anwendungs-Software enthält, bevor der Sicherungsblock (28) des Anwendungs-Software-Raums (24) gelöscht wird (70).
  4. Verfahren (60) nach Anspruch 1, dadurch gekennzeichnet, daß es den Schritt umfaßt, daß eine Rücksetzvektor-Sprungtabelle (52) in den Anwendungs-Software-Raum (24) programmiert wird.
  5. Verfahren (60) zum Neuprogrammieren von Anwendungs-Software in einem Mikrocontroller (10), der einen unterteilten Anwendungs-Speicherraum (18) aufweist, der einen Rücksetzvektor-Raum (20), einen Hauptblock (26) eines Anwendungs-Software-Raums (24) und einen Sicherungsblock (28) des Anwendungs-Software-Raums (24) umfasst, wobei dem Neuprogrammieren Löschvorgänge vorausgehen,

    dadurch gekennzeichnet, daß das Verfahren die Schritte umfasst, dass:

    der Anwendungs-Speicherraum (18) in den Rücksetzvektor-Raum (20), einen Vor-Boot-Software-Raum (22) und den Anwendungs-Software-Raum (24) unterteilt wird,

    der Anwendungs-Software-Raum (24) in den Hauptblock (26) und den Sicherungsblock (28) unterteilt wird,

    der Sicherungsblock (28) des Anwendungs-Software-Raums (24) gelöscht wird,

    der Sicherungsblock (28) des Anwendungs-Software-Raums (24) mit einer Neuprogrammierungs-Kommunikationsroutine und einer Boot-Logik programmiert wird (64),

    der Hauptblock (26) des Anwendungs-Software-Raums (24) gelöscht wird (66),

    der Hauptblock (26) des Anwendungs-Software-Raums (24) mit einer gewünschten Anwendungs-Software, einer Neuprogrammierungs-Kommunikationsroutine und einer Boot-Logik programmiert wird (68),

    der Sicherungsblock (28) des Anwendungs-Software-Raums (24) gelöscht wird (70), und

    der Sicherungsblock (28) des Anwendungs-Software-Raums (24) mit einer gewünschten Anwendungs-Software neu programmiert wird.
  6. Verfahren (60) nach Anspruch 5, dadurch gekennzeichnet, daß der Schritt des Programmierens (64) des Sicherungsblocks (28) des Anwendungs-Software-Raums (24) mit einer Neuprogrammierungs-Kommunikationsroutine und einer Boot-Logik ferner umfaßt, daß der Sicherungsblock (28) mit einer Logik-Routine programmiert wird (64), um ein Löschen des Sicherungsblocks (28) bei der Abwesenheit eines gültigen Hauptblocks (26) des Anwendungs-Software-Raums (24) zu verhindern.
  7. Verfahren (60) nach Anspruch 6, dadurch gekennzeichnet, daß es den Schritt umfaßt, daß bestimmt wird, ob der Hauptblock (26) des Anwendungs-Software-Raums (24) gültige Anwendungs-Software enthält, bevor der Sicherungsblock (28) des Anwendungs-Software-Raums (24) gelöscht wird (70).
  8. Anwendungs-Speicherraum (18) in einem Mikrocontroller (10), der einen Vor-Boot-Logik-Raum (22) umfaßt, um eine gültige Anwendungs-Boot-Software in dem Anwendungs-Speicherraum (18) zu suchen und zu lokalisieren.
Es folgen 3 Blatt Zeichnungen






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com