PatentDe  


Dokumentenidentifikation DE10064025B4 19.04.2007
Titel Verfahren zum Booten eines Mikroprozessors sowie Mikroprozessor mit einem bedingten deterministischen Rücksetzvektor
Anmelder Delphi Technologies, Inc., Troy, Mich., US
Erfinder Duff, Brentt C., Carmel, Indiana, US
Vertreter Manitz, Finsterwald & Partner GbR, 80336 München
DE-Anmeldedatum 21.12.2000
DE-Aktenzeichen 10064025
Offenlegungstag 28.06.2001
Veröffentlichungstag der Patenterteilung 19.04.2007
Veröffentlichungstag im Patentblatt 19.04.2007
IPC-Hauptklasse G06F 9/445(2006.01)A, F, I, 20051017, B, H, DE

Beschreibung[de]

Die vorliegende Erfindung betrifft ein Verfahren zum Booten eines Mikroprozessors, insbesondere ein Boot-Verfahren mit einem bedingten deterministischen Rücksetzvektor. Außerdem betrifft die Erfindung einen Mikroprozessor mit solch 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 bekannt 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 Anwendungs-Software zu zeigen.

Typischerweise springen existierende Boot-Verfahren für Anwendungssoftware 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 Verwendung 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 Speicheradresse 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 laden, 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 enthält das Programmzählerregister das Datenelement $OF2E, 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ührbare 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ücksetzvektor und die Anwendungs-Boot-Software in einen gelöschten oder leeren Zustand zurücklassen, der schwerwiegende, wenn nicht sogar nicht wiederherstellbare Fehler bewirken kann.

Ähnliche Probleme können beispielsweise bei einem Software-Download auftreten, wie dies in der WO 98/54642 beschrieben wird. Wenn beispielsweise eine TV-Set-Top-Box ein automatisches Software-Update durchführt, kann die Funktionalität der Set-Top-Box unter Umständen vollständig außer Kraft gesetzt werden, wenn das Update aus irgendwelchen Gründen gestört wird. Die WO 98/54642 schlägt daher eine Systemsoftware vor, welche aus einer ersten und einer zweiten Partition besteht. Dabei enthält die erste Partition die zum Download der zweiten Partition erforderliche Software, sowie die Software, um eine neue erste Partition herunterzuladen. Dafür befindet sich ständig eine abgesicherte Kopie einer neuen oder alten ersten Partition im Speicher, wodurch im Falle, dass der geplante Downloadvorgang gestört werden sollte, eine erneute Ausführung des Downloadvorgangs sichergestellt werden kann.

Bevor ein Mikroprozessor neu programmiert werden kann, muß beispielsweise der Speicherraum gelöscht werden. Wenn der Rücksetzvektor gelöscht wird oder leer gelassen wird, hat der Mikroprozessor keine Möglichkeit, entweder die Boot- oder die Ausführungs-Software für die Anwendungs-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öglichen.

Eine Möglichkeit, dieses Problem zu überwinden, ist es, einen Mikroprozessor zu konstruieren, der eine nichtlöschbare, dem Boot-Speicher dedizierte Adresse aufweist. Bei dieser Konstruktion sind der Rücksetzvektor und seine Daten bei der dem Boot-Speicher dedizidierten, nicht löschbaren 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 Kommunikationsroutinen hinzugefügt werden, um ein Programmieren des Anwendungsspeichers zu gestatten. Jedoch kann die Verwendung des dedizierten, nichtlö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 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. Dedizidierter, nichtlöschbarer Speicherraum steht bei diesen kleinen Controllern im Gegensatz zur Notwendigkeit für Flexibilität.

Es ist die Aufgabe der Erfindung eine ausfallsichere Realisierung anzugeben, welche es erlaubt, jederzeit eine zuverlässige Ausführung eines Bootvorgangs zu gewährleisten.

Diese Aufgabe wird durch ein Verfahren mit den Merkmalen das Anspruchs 1 und durch einen Mikriprozessor mit den Merkmalen des Anspruchs 8 gelöst. Erfindungsgemäß ist ein störungssicheres Verfahren zum Booten eines Mikroprozessors und von Anwendungssoftware in einem Mikroprozessor geschaffen. Es ist ein Boot-System für einen Mikroprozessor bereitgestellt, das einen "Hirntod" des Mikroprozessors vermeidet, wenn der programmierbare Speicher zur erneuten Programmierung des Mikroprozessors gelöscht wird.

Die vorliegende Erfindung umfasst ein Verfahren mit einem bedingten Rücksetzvektor. 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 bedingte Logik, die die Speicherstelle der ausführbaren Software bestimmt. Die Software der bedingten Logik des Mikroprozessors wird dazu verwendet, bedingt zu bestimmen, wo sich die ausführbare Software im Speicherraum 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 werden kann, daß er eine Logik bereitstellt, um die Stelle eines Speicherraums, die die ausführbare Software enthält, bedingt zu bestimmen. Die tatsächlichen Bedingungen für die Logikanweisungen werden von der besonderen Anwendung abhängen.

Die Erfindung wird im folgenden beispielhaft anhand der Zeichnung beschrieben. In dieser ist:

1a ein Blockdiagramm eines Mikrocontrollers mit partitionierten Speicherblöcken,

1b ein Flußdiagramm des allgemeinen Verfahrens des Verfahrens mit einem bedingten Rücksetzvektor der vorliegenden Erfindung,

2 ein Flußdiagramm einer Ausführungsform der vorliegenden Erfindung, die eine IF, THEN, ELSE-Anweisung verwendet,

3 ein Flußdiagramm einer anderen Ausführungsform der vorliegenden Erfindung, die eine DO-Schleife verwendet, und

4 ein Flußdiagramm einer weiteren Ausführungsform der vorliegenden 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 durchsuchen, 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 bedingten Rücksetzvektor der vorliegenden Erfindung erfolgreich in existierende Mikroprozessortechnologien einzuarbeiten.

Das Verfahren mit einem bedingten deterministischen Rücksetzvektor der vorliegenden Erfindung sucht in anderen Teilen des Speichers, statt jedesmal 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 deterministische Rücksetzvektor sucht nach einem bekannten Lokalisierer im Speicher, 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ücksetzvektors programmiert werden. Sobald der Rücksetzvektorlokalisierer durch die interne Logik des Mikroprozessors gefunden wird, ist der nächste 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 bekannt. Der bedingte deterministische Rücksetzvektor beschränkt die Verwendung einer einzigen dedizierten Adresse zur Aufnahme des Rücksetzvektors weniger als der, der bei dem Verfahren mit einem festen Rücksetzvektor nach dem Stand der Technik verwendet wird.

In der gegenwärtigen Mikroprozessortechnologie ist der Speicher typischerweise in Blöcke partitioniert. Während der erneuten Programmierung des Anwendungsspeichers des Mikroprozessors ist es möglich, auszuwä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 diesem Fall erlaubt es die vorliegende Erfindung dem Mikroprozessor, sollte einer der Blöcke gelöscht sein, den Speicher auszutasten und eine Adresse, 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 Speicherblö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 1a ist ein Beispiel gezeigt. Ein Mikrocontroller 10 weist einen Mikroprozessor 12, Anschlüsse nach außen 13 und einen Anwendungsspeicher 14 auf. Der Anwendungsspeicher 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 Anwendungsspeicher 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 Gegenstände hierin nicht diskutiert.

Bei jeder Ausführungsform des Verfahrens mit einem bedingten Rücksetzvektor der vorliegenden Erfindung umfaßt das Verfahren eine Störsicherheitslogik zum Auffinden eines gültigen Anwendungs-Boot-Blocks in einem Anwendungsspeicher. Es gibt mehrere Möglichkeiten, mit denen dies vorgenommen werden kann, aber für jedes Verfahren sollte der Mikroprozessor gültige Boot-Daten umfassen, die in zwei separaten Speicherblöcken, 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 programmieren. Das allgemeine Verfahren 100 ist in 1b gezeigt und wird anhand von dieser beschrieben. Für das vorliegende Beispiel eines Neuprogrammierungsereignisses 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 gelö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 1b gezeigte Flußdiagramm ist lediglich ein Beispiel. Es sind viele Alternativen verfügbar, die dennoch dazu führen werden, daß immer Mikroprozessor-Boot-Code im Anwendungsspeicher sein wird, wenn der gesamte Anwendungsspeicherraum gelöscht und programmiert wird.

Wie es früher diskutiert wurde, gibt es zahlreiche Alternativen für die Logik, die dazu verwendet wird, den bedingten Rücksetzvektor der vorliegenden 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 2 gezeigt. Das Verfahren 200 beginnt, indem die Rücksetzvektorlokalisiererdaten X bei einer besonderen Adresse Y in die bedingte deterministische 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 Mikroprozessor 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 Sicherheitsrücksetzvektor.

Weitere mögliche Prüfungen auf gültigen Boot-Speicherraum umfassen, sind aber nicht darauf begrenzt: Durchführen einer Überprüfung (Prüfsumme) 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 Mikroprozessor. Seine Dateninhalte werden während des ersten anfänglichen Programmierereignisses in den Speicher einprogrammiert. Das erste anfängliche Programmierereignis kann entweder über das interne Boot-Ladeprogramm oder durch ein externes Herstellungswerkzeug vorgenommen werden. Der Rücksetzvektorlokalisierer besitzt eine Adresse und einen Datenwert im Anwendungsspeicherraum, und sein Datenwert ist fest codiert oder wird durch die bedingte Rücksetzvektorlogik des Mikroprozessors initialisiert.

3 ist ein Flußdiagramm einer anderen Ausführungsform des Verfahrens der vorliegenden Erfindung, die eine DO WHILE-Schleife verwendet. Das Verfahren 300 beginnt, indem die Dateninhalte X in eine Speicheradresse 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 Programm setzt das Austasten und den Vergleich in einer DO WHILE-Schleife fort 304. Sobald ein gültiger Boot-Speicherraum gefunden ist, führt andererseits der Prozessor die Daten aus, auf die diese Adresse, d.h. Y+A, zeigt 310.

4 ist ein Flußdiagramm einer weiteren Ausführungsform des Verfahrens der vorliegenden Erfindung, die eine UNTIL-Schleife verwendet. Bei dem in 4 gezeigten Verfahren 400 werden die Daten X in Adresse Y geladen 402. Die Daten X werden mit dem bekannten Rücksetzvektorlokalisierer 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 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.


Anspruch[de]
Verfahren (200, 300, 400) zum Booten eines Mikroprozessors, wobei der Mikroprozessor partitionierte Speicherblöcke (A, B) aufweist, wobei das Verfahren die Schritte umfaßt, daß:

gültige Boot-Daten (X) bei mindestens zwei Speicherstellen in separaten Speicherblöcken (A, B) vorhanden sind,

der Speicher ausgetastet wird (204, 306, 406), um einen Rücksetzvektorlokalisierer zu lokalisieren, und

eine Anwendung in dem gültigen Boot-Speicherraum ausgeführt wird (206, 208, 310, 408), auf den der Rücksetzvektorlokalisierer zeigt.
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. Verfahren (200) nach Anspruch 2,

dadurch gekennzeichnet, daß

die IF, THEN, ELSE-Anweisung umfaßt:

IF (Rücksetzvektorlokalisierer bei gegenwärtiger Adresse in gegenwä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)).
Verfahren (300) nach Anspruch 1, dadurch gekennzeichnet, daß der Speicheraustastschritt eine DO WHILE-Schleife (304) umfaßt. 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)).
Verfahren (400) nach Anspruch 1, dadurch gekennzeichnet, daß der Speicheraustastschritt eine DO UNTIL-Schleife umfaßt. 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ücksetzvektorlokalisierer gefunden wird, und

der Rücksetzvektor ausgeführt wird (408).
Mikroprozessor mit partitionierten Speicherblöcken und einem bedingten deterministischen Rücksetzvektor, wobei der bedingte deterministische Rücksetzvektor umfaßt:

einen ersten Anwendungsspeicherblock (A) mit einem Rücksetzvektorlokalisierer, einem Rücksetzvektor und Haupt-Boot-Anwendungsdaten,

einen zweiten Anwendungsspeicherblock (B) mit einem Rücksetzvektorlokalisierer, einem Rücksetzvektor und Sicherheits-Boot-Anwendungsdaten,

mehrere logische Befehle (204, 306, 406), um den Rücksetzvektor im ersten und im zweiten Anwendungsspeicherblock (A, B) zu suchen, und

mehrere logische Befehle (206, 208, 310, 408), um den Rücksetzvektor auszuführen.
Mikroprozessor nach Anspruch 8, dadurch gekennzeichnet, daß die logischen Befehle eine IF, THEN ELSE-Anweisung (204, 306, 406) umfassen. Mikroprozessor nach Anspruch 8, dadurch gekennzeichnet, daß die logischen Befehle eine DO WHILE-Anweisung (304) umfassen. Mikroprozessor nach Anspruch 8, dadurch gekennzeichnet, daß die logischen Befehle ferner eine DO UNTIL-Anweisung (400) umfassen.






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