DE69031936T2 - System und Verfahren zur Speicherung von Firmware in einem adressunabhängigen Format - Google Patents
System und Verfahren zur Speicherung von Firmware in einem adressunabhängigen FormatInfo
- Publication number
- DE69031936T2 DE69031936T2 DE69031936T DE69031936T DE69031936T2 DE 69031936 T2 DE69031936 T2 DE 69031936T2 DE 69031936 T DE69031936 T DE 69031936T DE 69031936 T DE69031936 T DE 69031936T DE 69031936 T2 DE69031936 T2 DE 69031936T2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- object code
- data
- relocation
- code programs
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 17
- 230000015654 memory Effects 0.000 claims description 55
- 238000006073 displacement reaction Methods 0.000 claims 3
- 238000012986 modification Methods 0.000 claims 2
- 230000004048 modification Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
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
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
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)
- Stored Programmes (AREA)
- Memory System (AREA)
Description
- Die vorliegende Erfindung betrifft allgemein ein System und ein Verfahren, welches zuläßt, daß Untersystem-Module modulspezifische Firmware in Festwertspeichern (ROMs) enthalten, die in unterschiedlichen Konfigurationen zu verbinden sind. Insbesondere betrifft sie ein derartiges System und ein derartiges Verfahren, welches zulassen wird, daß die Firmware zu System-Speicherstellen kopiert wird, die sich in Abhängigkeit von einer Systemkonfiguration für eine Ausführung ändern.
- Computersysteme sind oft aus mehreren Modulen zusammengesetzt, die in unterschiedlichen Konfigurationen verbunden sein können. Diese Vielfalt von Konfigurationen läßt zu, daß die Systeme auf das spezielle vorhandene Problem zugeschnitten werden. Bei vielen Systementwicklungen ist eine modulspezifische Firmware auf jedem Modul in ROMs gespeichert. Diese Firmware wird für eine Vielzahl von Zwecken verwendet, wobei eine Diagnose-Software und eine Bootstrap-Software am gebräuchlichsten sind.
- Firmware auf ROM-Basis ist normalerweise in einer Form gespeichert, die entweder direkt ausgeführt wird, oder zuerst zu einer festen Stelle im Speicher kopiert wird und dort ausgeführt wird. In Systemarchitekturen, wie beispielsweise dem MIPS R2000/R3000, ist die Adresse, wo dieser Code ausgeführt werden muß, fest, wenn sie im ROM angeordnet ist. Da Systeme später mit einer beliebigen Ansammlung von Modulen konfiguriert werden können, ist es sehr schwierig, sicherzustellen, daß der Code von unterschiedlichen Modulen keine ihm zugeordneten überlappenden Adressenbereiche hat. Wenn die Adressenbereiche überlappen, wird das System nicht arbeiten. Nichtsdestoweniger ist ein gleichzeitiger Zugriff auf den Code von vielen Optionen nötig, um einige Firmware-Aufgaben durchzuführen. Das Problem besteht im Vorsehen einer Einrichtung zum Laden und Ausführen eines in ROMs mit mehreren Optionsmodulen gespeicherten Codes. Dieses Problem ist insbesondere dann ernstzunehmen, wenn ein Anwender bzw. eine Anwenderin sein oder ihr System mit sich voneinander unterscheidenden Optionsmodulen entsprechend einer Notwendigkeit nach einer anfänglichen Installation des Systems rekonfigurieren kann.
- Es könnte möglich sein, einen derartigen Code in einem absoluten Format zu speichern, ihn aber in einen Speicher mit wahlfreiem Zugriff (RAM) zu kopieren, und den kopierten Code zu untersuchen, um festzustellen, welche Speicherstellen, auf die im Code Bezug genommen wird, geändert (verschoben) werden müssen, um sich überlagernde Adressenbereiche zu vermeiden, und zwar lediglich basierend auf eine Untersuchung des Codes selbst. Jedoch neigt jeder einfache Algorithmus zum Untersuchen und zum Verschieben dazu, Fehler zu machen. Daher kann man mit diesem Ansatz solange nicht in der Praxis arbeiten, bis der Code in Assemblersprache geschrieben ist. Ein Codieren in Assemblersprache ist arbeitsintensiv und zeitaufwendig. Es ist erwünscht, daß es möglich ist, eine Sprache auf höherer Ebene zu verwenden, wie beispielsweise C.
- Ein anderer bekannter Ansatz besteht im Speichern eines Codes im ROM in einer Sprache auf höherer Ebene, wie beispielsweise in FORTH, und im Anwenden eines FORTH-Interpreters auf einem Basismodul des Systems zum Interpretieren des Codes. Dieser lnterpretationsansatz vermeidet das Problem durch Speichern des FORTH-Codes in Zeichenformat, und er muß keinerlei adressenspezifische Informationen enthalten. Jedoch sind die FORTH-Sprache und FORTH-ähnliche Sprachen arme Sprachen zur Verwendung für große Software-Projekte. Für große Projekte ist FORTH schwierig zu verstehen und zu warten.
- Einige Computersysteme, wie beispielsweise VAX-Systeme von Digital Equipment Corporation, können dann, wenn sie durch die geeigneten Software-Tools unterstützt werden, einen positionsunabhängigen Code erzeugen. Dies ist ein Code, der direkt vom Computer ausgeführt werden kann, der aber wenig oder keine Information bezüglich einer absoluten Adresse enthält. Bei solchen Systemen können die obigen Probleme vermieden werden. Jedoch sind derartige Software-Tools nicht für alle Systeme verfügbar, und zwar insbesondere nicht für neuere Systeme.
- Ein System, wie es im Anspruch 1 gezeigt ist, zum Speichern von Firmware in einem Format, das verschoben werden kann, gemäß dieser Erfindung hat einen Host-Datenprozessor. Ein Systemspeicher ist mit dem Host-Datenprozessor durch einen Bus verbunden, und eine Vielzahl von Options-Untersystemmodulen ist mit dem Bus verbunden. Jedes der Vielzahl von Options-Untersystemmodulen hat einen Optionsmodul-Festwertspeicher, der Firmware enthält, die für dasjenige der Vielzahl von Options-Untersystemmodulen spezifisch ist. Ein Grundmodul- Festwertspeicher ist mit dem Bus verbunden. Der Grundmodul-Festwertspeicher enthält Firmware zum Lokalisieren aller Optionsmodul-Festwertspeicher und durch Verwenden von Informationen in ihnen zum Verschieben einer adressenunabhängigen Version der Firmware in den Optionsmodul-Festwertspeichern im Systemspeicher.
- Ein Verfahren, wie es im Anspruch 8 aufgezeigt ist, zum Speichern in einem verschiebbaren Format gemäß dieser Erfindung enthält ein Schreiben eines Software- Quellencodes. Der Software-Quellencode wird kompiliert, um kompilierte Objektcodedateien zu erzeugen. Die kompilierten Objektcodedateien werden in ein umgewandeltes kompiliertes Objektcodeformat umgewandelt, das ausreichende Information enthält, um eine automatische Verschiebung des umgewandelten Objektcodes zuzulassen, um an irgendeiner Adresse in einem Speicher des Computers zu arbeiten. Der umgewandelte Objektcode wird in einem Festwertspeicher gespeichert.
- Die Errungenschaften der vorangehenden und zugehörigen Vorteile und Merkmale der Erfindung sollten Fachleuten auf dem technischen Gebiet nach einer Durchsicht der folgenden detaillierteren Beschreibung der Erfindung in Zusammenhang mit den Zeichnungen schneller klar werden, wobei:
- Fig. 1 ein Blockdiagramm eines Computersystems ist, bei welchem die vorliegende Erfindung verwendet wird.
- Fig. 2 ein Flußdiagramm kombiniert mit einem Blockdiagramm ist, die die Erfindung darstellen.
- Fig. 3 ein detaillierteres Blockdiagramm eines Teils des Blockdiagramms in Fig. 2 ist.
- Wendet man sich nun den Zeichnungen zu, und zwar insbesondere der Fig. 1, ist dort ein System 30 gezeigt, das mit einer Vielzahl von Untersystem-Modulen 45a bis 45n konfiguriert sein kann, um das System 30 auf unterschiedliche Anforderungen zuzuschneiden. Eine CPU 32 ist mit einem Gleitkommaprozessor (FPU) 34 durch einen Bus 36 verbunden. Die CPU 32 ist durch einen 32-Bit-Systembus 38 mit einem Direktzugriffsspeicher (RAM) 40, einem Cache 42 und einer Schnittstelle 44a in einem Graphik-Untersystem-Modul 45a verbunden. Das Graphik- Untersystem-Modul 45a ist detailliert anhand eines Beispiels gezeigt. Die Untersystem-Module 45a-45n sind in bekannten Konfigurationen implementiert, außer wie es zur Verwendung der vorliegenden Erfindung erforderlich ist, wie es unten erklärt ist. Die Schnittstelle 44a ist durch einen Bus 46 mit einem Graphikprozessor 48 verbunden. Die Schnittstelle 44a enthält einen Modul-ROM 47a, der eine Firmware enthält, die für derartige Graphik-Untersystem-Module spezifisch ist. Gleichermaßen enthält jedes der anderen Untersystem-Module 45b-45n Schnittstellen 44b, 44n, die eine Firmware enthalten, die für den bestimmten Typ des Moduls 45b-45n spezifisch ist. Der Graphikprozessor 48 ist durch einen 120-Bit-Graphikbus 50 mit einem Frame-Pufferspeicher 52 verbunden. Der Frame-Pufferspeicher 52 ist durch einen Bus 56 mit einem Digital/Analog-Videokonverter (DAC) 54 verbunden. Der DAC 54 ist durch eine Leitung 60 mit einer Videoanzeige 58 verbunden.
- Die Elemente 32-42 des Systems 30 weisen ein Basis-Modul 43 auf, welches für alle Systemkonfigurationen dasselbe ist. Ein ROM 49 ist im Basis-Modul 43 vorgesehen und mit dem Bus 38 verbunden. Das Basis-Modul-ROM 49 enthält ein Softwareprogramm, das alle Optionsmodul-ROMs 47a-47n lokalisiert und unter Verwendung der Informationen in ihnen eine neu lokalisierte bzw. verschobene Version des Codes in den Optionsmodul-ROMs 47a-47n im Hauptspeicher 40 des Computersystems erzeugt. Wenn die Module 45b-45n jene des Typs enthalten, der zum Laden einer anderen Software verwendet werden könnte, wie beispielsweise ein Festplattensteuermodul, dann enthält sein ROM 47b-47n auch eine Treibersoftware, die zum Betreiben des Moduls 45b45n für jenen Zweck verwendet wird.
- Die Konfiguration des Systems 30 läßt zu, daß der Anwender das System mit sich unterscheidenden Optionsmodulen 45a-45n gemäß Notwendigkeiten rekonfiguriert. Die Hardware- und Software-Charakteristiken des Systems 30 würden normalerweise erfordern, daß die Inhalte der ROMs 47a-47n in einem absoluten Format sind, wie es oben beschrieben ist. Jedoch ist dies nicht akzeptabel, da die Rekonfigurierbarkeit des Systems 30 bedeutet, daß es keinen Weg dahin gibt, im voraus zu wissen, welche Module 45a-45n im System sein werden. Es gibt daher keinen Weg dahin, absolute Adressenbereiche zuzuordnen, so daß irgendeine mögliche Kombination von Modul-ROMs 47a-47n niemals in Konflikt geraten würden.
- Die Art zum Speichern von Firmware in einem verschobenen Format dieser Erfindung läßt zu, daß das System 30 irgendeine mögliche Kombination von Modul- ROMs annimmt. Diese Technik vermeidet die Verwendung einer zusätzlichen Komplexität der Hardware und übernimmt den Vorteil anderer Software-Tools, die schon verfügbar sind. Die ROMs 47a-47n enthalten nicht den aktuellen Code, der durch das System 30 ausgeführt wird, sondern eine speziell formatierte Form des Codes, der nicht nur den Code selbst enthält, sondern genügend Information zum Zulassen, daß die automatische Verschiebung des Codes bei irgendeiner Adresse im Adressenraum des Systems im Speicher 40 arbeitet. Zum Vereinfachen des Verfahrens wird ein Repräsentationsformat verwendet, das bereits vom Ultrix- Betriebssystem von Digital Equipment Corporation unterstützt wird, nämlich das Format "a.out", das für viele UNIX-Systeme gebräuchlich ist. Die Verwendung eines bekannten Repräsentationsformats läßt zu, daß existierende Software-Tools zum Vorbereiten des ROM-Codes verwendet werden.
- Die zum Vorbereiten der codierten ROMs 47a-47n für das System 30 und ihre Verwendung im System verwendeten Schritte sind in Fig. 2 jeweils bei 70 und 72 gezeigt. Die ROM-Software ist in C geschrieben, wie es in den Entwicklungsschritten 70 bei 74 gezeigt ist. Der C-Code wird bei 76 kompiliert, um Objekt-Dateien 78 zu ergeben. Die Objekt-Dateien 78 werden einem Lastmodul-Generator 80 zugeführt, der ein Lastmodul 82 im Format a.out zur Verfügung stellt. Das Lastmodul 82 wird einem Musterdateiengenerator 84 zugeführt, der ROM-Musterdateien 86 erzeugt. Die ROM-Musterdateien werden zum Programmieren der ROMs 47a-47n bei 88 verwendet. Die ROMs 47a-47n werden dann in dem System 30 basierend auf der anfangs gewünschten Konfiguration für das System 30 installiert. Beim Einschalten bzw. Hochfahren des Systems 30 werden die Inhalte der ROMs 47a-47n kopiert und bei 90 in einen RAM 40 verschoben.
- Details des verschiebbaren Formats a.out für den ROM-Code sind in Fig. 3 gezeigt. Das Format enthält einen Datei-Anfangsblock 100, optionale Anfangsblöcke 102 und Auswahl-Anfangsblöcke 104. Abschnittsdaten 106 werden unter Verwendung von Abschnitts-Verschiebungsinformation 108 mit der Verschiebungs-Routine im Basis-Modul-ROM 49 kopiert und im RAM 40 verschoben. Das zum Kopieren und Verschieben des in den ROMs 47a-47n gespeicherten Codes verwendete Verfahren ist nachfolgend in Tabelle I gezeigt. Tabelle I
- Das Verfahren zum Verschieben einer Speicherzelle im System 30 ist nachfolgend in Tabelle II angegeben. Tabelle II
- Diese Verfahren wird auf einfache Weise für andere Typen von Computersystemen verallgemeinert. Die Adresse der zu verschiebenden Speicherzelle und der Typ der Verschiebung werden aus dem Datenteil für eine Verschiebung der Datei erhalten. Die Adresse der zu verschiebenden Speicherzelle ist relativ zum Anfang des Abschnitts.
- Es sollte Fachleuten auf dem technischen Gebiet weiterhin klar sein, daß verschiedene Änderungen bezüglich der Form und der Details der Erfindung, wie sie gezeigt und beschrieben ist, durchgeführt werden können. Es ist beabsichtigt, daß solche Änderungen innerhalb des Schutzumfangs der hierzu beigefügten Ansprüche enthalten sind.
Claims (14)
1.Computersystem, das folgendes aufweist:
einen Host-Datenprozessor (32);
einen ersten Speicher (40), der einen Direktzugriffsspeicher aufweist, und
der mit dem Host-Datenprozessor (32) durch einen Bus (38) gekoppelt ist;
eine Vielzahl von Untersystem-Modulen (45a-45b), die mit dem Bus
verbunden sind, wobei jedes der Vielzahl von Untersystem-Modulen einen
jeweiligen Festwertspeicher (ROM) (47a-47n) enthält, der Firmware speichert, die
für jenes der Vielzahl von Untersystem-Modulen (45a-45n) spezifisch ist; und
einen zweiten Speicher (49), der einen Festwertspeicher aufweist, und
der mit dem Host-Datenprozessor (32) gekoppelt ist;
dadurch gekennzeichnet, daß
die gespeicherte Firmware in jedem Untersystem-Modul-ROM
verschiebbare Objektcode-Programme (106) enthält, und Verschiebungsdaten (108),
die Teile der verschiebbaren Objektcode-Programme (106) identifizieren, die
auf eine Verschiebung der Firmware zum ersten Speicher (40) hin eine
Modifikation benötigen; und
der zweite Speicher (49) eine Firmware zur automatischen
Rekonfiguration speichert, die eine verschiebbare Version jeder der gespeicherten
Firmware in jedem Untersystem-Modul-ROM (47a-47n) unter Verwendung der
Verschiebungsdaten (108) erzeugt, wobei die verschiebbaren Versionen im
ersten Speicher (40) gespeichert werden.
2. Computersystem nach Anspruch 1, das weiterhin dadurch gekennzeichnet ist,
daß
die Vielzahl von Untersystemen-Modulen (45a-45n) mit dem Bus in vielen
unterschiedlichen Konfigurationen verbindbar ist.
3. Computersystem nach Anspruch 2, das weiterhin dadurch gekennzeichnet ist,
daß
die Verschiebungsdaten (108) Speicherzellen in den verschiebbaren
Objektcode-Programmen (106) identifizieren, deren Wert auf eine Verschiebung
der verschiebbaren Objektcode-Programme (106) hin eine Einstellung
benötigt,
wobei die Verschiebungsdaten (108) Daten enthalten, die spezifizieren,
welcher von wenigstens zwei vorbestimmten unterschiedlichen Typen von
Speicherzellenwert-Einstellungen auf jede der identifizierten Speicherzellen
anwendbar ist.
4. Computersystem nach Anspruch 3, das weiterhin dadurch gekennzeichnet ist,
daß
die Firmware zur automatischen Rekonfiguration dann, wenn sie durch den
Host-Datenprozessor (32) ausgeführt wird, den verschiebbaren Objektcode-
Programmen (106) in jedem der ROMs (47a-47n) einen Bereich des ersten
Speichers (40) zuordnet, die verschiebbaren Objektcode-Programme (106)
von jedem der ROMs (47a-47n) im zugeordneten Bereich des ersten
Speichers (40) kopiert, die Verschiebungsdaten (108) aus jedem der ROMs (47a-
47n) in jedem der Untersystem-Module (45a-45n) ausliest, und den Wert
jeder Speicherzelle in den durch die Verschiebungsdaten (108) identifizierten
kopierten verschiebbaren Objektcode-Programmen gemäß dem zuvor
definierten durch die ausgelesenen Verschiebungsdaten spezifizierten
Einstellungstyp einstellt.
5. Computersystem nach Anspruch 4, das weiterhin dadurch gekennzeichnet ist,
daß
die Firmware zur automatischen Rekonfiguration durch den Host-
Datenprozessor (32) automatisch ausgeführt wird, wann immer das
Computersystem eingeschaltet oder rückgesetzt wird.
6. Computersystem nach Anspruch 4, das weiterhin dadurch gekennzeichnet ist,
daß
die Verschiebungsdaten (108) Daten vom Verschiebungstyp enthalten, die
wenigstens erste, zweite und dritte Typen von Werteinstellungen für jeweilige
der identifizierten Speicherzellen in den verschiebbaren Objektcode-
Programmen spezifizieren; und
die Firmware zur automatischen Rekonfiguration Mittel enthält, die bei
Ausführung durch den Host-Datenprozessor (32) den Wert jeder der
identifizierten Speicherzellen in den kopierten verschiebbaren Objektcode-
Programmen durch Durchführen von einer von wenigstens ersten, zweiten
und dritten unterschiedlichen zuvor definierten mathematischen Operationen
einstellt, die jede der identifizierten Speicherzellen mit einem
Verschiebungs-Versatzwert
kombiniert, wobei durch die Daten vom Verschiebungstyp
spezifiziert wird, welche der wenigstens ersten, zweiten und dritten
unterschiedlichen zuvor definierten mathematischen Operationen jeweils an der
identifizierten Speicherzelle durchgeführt wird.
7. Computersystem nach Anspruch 6, das weiterhin dadurch gekennzeichnet ist,
daß
die ersten, zweiten und dritten unterschiedlichen zuvor definierten
mathematischen Operationen jeweils ein Hinzufügen des Verschiebungs-
Versatzwerts zur identifizierten Speicherzelle, ein Hinzufügen eines ersten
Teils des Verschiebungs-Versatzwerts zur identifizierten Speicherzelle und
ein Hinzufügen eines zweiten Teils des Verschiebungs-Versatzwerts zur
identifizierten Speicherzelle aufweisen.
8. Verfahren zum Konfigurieren von verschiebbaren Objektcode-Programmen
zum Steuern einer Vielzahl von Untersystem-Modulen in einem
Computersystem mit einem Host-Datenprozessor (32), einem ersten Speicher (40), der
einen Direktzugriffsspeicher aufweist, und der mit dem Host-Datenprozessor
(32) durch einen Bus (38) gekoppelt ist, einer Vielzahl von Untersystem-
Modulen (45a-45n), die mit dem Bus verbunden sind, einem zweiten Speicher
(49), der einen Festwertspeicher aufweist, und der mit dem Host-
Datenprozessor (32) gekoppelt ist, wobei das Verfahren folgende Schritte
aufweist:
Speichern von Firmware in einem Festwertspeicher (ROM) (47a-47n) in
jedem der Vielzahl von Untersystem-Modulen (45a-45n), die für jenes der
Vielzahl von Untersystem-Modulen (45a-45n) spezifisch ist;
dadurch gekennzeichnet, daß
die gespeicherte Firmware in jedem Untersystem-Modul ROM (47a-47n)
verschiebbare Objektcode-Programme (106) enthält, und
Verschiebungsdaten (108), die Teile der gespeicherten Firmware identifizieren, die auf eine
Verschiebung der Firmware zum ersten Speicher (40) hin eine Modifikation
benötigen; und
ein Programm zur automatischen Rekonfiguration ausgeführt wird, das im
zweiten Speicher (49) gespeichert ist, um verschiebbare Versionen jedes der
verschiebbaren Objektcode-Programme (106) in jedem Untersystem-Modul
ROM (47a-47n) unter Verwendung der Verschiebungsdaten (108) zu
erzeugen,
wobei jede der verschiebbaren Versionen im ersten Speicher (40)
gespeichert wird.
9. Verfahren nach Anspruch 8, das weiterhin dadurch gekennzeichnet ist, daß
die Vielzahl von Untersystem-Modulen (45a-45n) mit dem Bus in vielen
unterschiedlichen Konfigurationen verbindbar ist.
10. Verfahren nach Anspruch 8, das weiterhin dadurch gekennzeichnet ist, daß
der Ausführungsschritt automatisch durchgeführt wird, wann immer das
Computersystem eingeschaltet oder rückgesetzt wird.
11. Verfahren nach Anspruch 8, das weiterhin dadurch gekennzeichnet ist, daß
die Verschiebungsdaten (108) Speicherzellen in den verschiebbaren
Objektcode-Programmen (106) identifizieren, deren Wert auf eine Verschiebung
der verschiebbaren Objektcode-Programme (106) hin eine Einstellung
benötigt, die Verschiebungsdaten (108) Daten enthalten, die spezifizieren, welche
von wenigstens zwei zuvor definierten unterschiedlichen mathematischen
Operationen an jeder der identifizierten Speicherzellen durchzuführen ist, um
jeden Wert einer identifizierten Speicherzelle einzustellen.
12. Verfahren nach Anspruch 11, das weiterhin dadurch gekennzeichnet ist, daß
der Ausführungsschritt folgendes enthält:
Zuordnen eines Bereichs des ersten Speichers (40) zu den
verschiebbaren Objektcode-Programmen (106) in jedem der ROMs (47a-47n);
Kopieren der verschiebbaren Objektcode-Programme (106) von jedem
der ROMs (47a-47n) in den zugeordneten Bereich des ersten Speichers (40);
Auslesen der Verschiebungsdaten aus jedem der ROMs (47a-47n) in
jedem der Untersystem-Module (45a-45n); und
Einstellen des Werts jeder Speicherzelle in den durch die
Verschiebungsdaten identifizierten kopierten verschiebbaren Objektcode-Programmen durch
Durchführen an jeder der Speicherzellen der durch die ausgelesenen
Verschiebungsdaten spezifizierten einen der wenigstens zwei zuvor definierten
unterschiedlichen mathematischen Operationen.
13. Verfahren nach Anspruch 12, das weiterhin dadurch gekennzeichnet ist, daß
die Verschiebungsdaten (108) Daten vom Verschiebungstyp enthalten, die
wenigstens erste, zweite und dritte Typen von Werteinstellungen für jeweilige
der identifizierten Speicherzellen in den verschiebbaren Objektcode-
Programmen (106) spezifizieren.
14. Verfahren nach Anspruch 13, das weiterhin dadurch gekennzeichnet ist, daß
der Einstellungsschritt ein Durchführen einer von wenigstens ersten,
zweiten und dritten unterschiedlichen zuvor definierten mathematischen
Operationen enthält, die jede der identifizierten Speicherzelle mit einem
Verschiebungs-Versatzwert kombiniert, wobei durch die Daten vom Verschiebungstyp
spezifiziert wird, welche der wenigstens ersten, zweiten und dritten
unterschiedlichen zuvor definierten mathematischen Operationen an jeder der
identifizierten Speicherzellen durchgeführt wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US43871789A | 1989-11-17 | 1989-11-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69031936D1 DE69031936D1 (de) | 1998-02-19 |
DE69031936T2 true DE69031936T2 (de) | 1998-06-10 |
Family
ID=23741738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69031936T Expired - Lifetime DE69031936T2 (de) | 1989-11-17 | 1990-11-15 | System und Verfahren zur Speicherung von Firmware in einem adressunabhängigen Format |
Country Status (5)
Country | Link |
---|---|
US (1) | US5317723A (de) |
EP (1) | EP0429252B1 (de) |
JP (1) | JPH03219331A (de) |
CA (1) | CA2030184A1 (de) |
DE (1) | DE69031936T2 (de) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL96808A (en) * | 1990-04-18 | 1996-03-31 | Rambus Inc | Introductory / Origin Circuit Agreed Using High-Performance Brokerage |
US5325532A (en) * | 1992-09-25 | 1994-06-28 | Compaq Computer Corporation | Automatic development of operating system boot image |
US5781797A (en) * | 1992-09-30 | 1998-07-14 | Microsoft Corporation | Method and system for configuring device driver by selecting a plurality of component drivers to be included in the device driver |
US5598540A (en) * | 1992-09-30 | 1997-01-28 | Texas Instruments Incorporated | Memory module including read-write memory and read-only configuration memory accessed only sequentially and computer system using at least one such module |
US5452201A (en) * | 1993-08-24 | 1995-09-19 | Allen-Bradley Company, Inc. | Industrial controller with highly distributed processing |
JP3168552B2 (ja) * | 1993-12-17 | 2001-05-21 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | メモリ・アクセス制御システム及びその方法 |
FI99238C (fi) * | 1994-02-14 | 1997-11-10 | Nokia Telecommunications Oy | Menetelmä laiteasetusten varmentamiseksi |
US5835760A (en) * | 1995-10-13 | 1998-11-10 | Texas Instruments Incorporated | Method and arrangement for providing BIOS to a host computer |
US6094600A (en) * | 1996-02-06 | 2000-07-25 | Fisher-Rosemount Systems, Inc. | System and method for managing a transaction database of records of changes to field device configurations |
US5732281A (en) * | 1996-02-08 | 1998-03-24 | Ncr Corporation | Programmable power management circuit for a power supply in a computer system |
US5815718A (en) * | 1996-05-30 | 1998-09-29 | Sun Microsystems, Inc. | Method and system for loading classes in read-only memory |
US5987568A (en) * | 1997-01-10 | 1999-11-16 | 3Com Corporation | Apparatus and method for operably connecting a processor cache and a cache controller to a digital signal processor |
US6131127A (en) * | 1997-09-24 | 2000-10-10 | Intel Corporation | I/O transactions on a low pin count bus |
US6119189A (en) * | 1997-09-24 | 2000-09-12 | Intel Corporation | Bus master transactions on a low pin count bus |
US5991841A (en) * | 1997-09-24 | 1999-11-23 | Intel Corporation | Memory transactions on a low pin count bus |
US6157970A (en) * | 1997-09-24 | 2000-12-05 | Intel Corporation | Direct memory access system using time-multiplexing for transferring address, data, and control and a separate control line for serially transmitting encoded DMA channel number |
US6237091B1 (en) | 1998-10-29 | 2001-05-22 | Hewlett-Packard Company | Method of updating firmware without affecting initialization information |
US6618630B1 (en) | 1999-07-08 | 2003-09-09 | Fisher-Rosemount Systems, Inc. | User interface that integrates a process control configuration system and a field device management system |
US6725323B2 (en) * | 2001-12-06 | 2004-04-20 | Kabushiki Kaisha Toshiba | Apparatus and method for updating flash ROM in an electronic apparatus having a plurality of boards |
KR100617698B1 (ko) * | 2004-06-07 | 2006-08-28 | 삼성전자주식회사 | 기능별 데이터 저장을 위한 바이너리 파일 생성 장치 및방법과 그 방법이 저장된 컴퓨터 판독 가능한 저장 매체 |
US7503040B2 (en) * | 2004-09-30 | 2009-03-10 | International Business Machines Corporation | Configuring a shared library to accommodate relocatable data in a pervasive device |
KR101036675B1 (ko) * | 2006-07-18 | 2011-05-24 | 인텔 코오퍼레이션 | Efi 기반 펌웨어에서의 프리 efi 초기화 모듈의 전역변수 사용법 |
US7886138B2 (en) | 2007-03-16 | 2011-02-08 | Sharp Laboratories Of America, Inc. | Methods and systems for firmware access and modification |
CN107861719A (zh) * | 2017-12-18 | 2018-03-30 | 广东阿拉丁网络科技服务有限公司 | 一种模块化的软件开发方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4302809A (en) * | 1978-06-29 | 1981-11-24 | Burroughs Corporation | External data store memory device |
US4138738A (en) * | 1978-07-24 | 1979-02-06 | Drogichen Daniel P | Self-contained relocatable memory subsystem |
US4636940A (en) * | 1983-03-31 | 1987-01-13 | Hewlett-Packard Company | Logic analyzer using source program or other user defined symbols in the trace specification and the trace listing |
US4589063A (en) * | 1983-08-04 | 1986-05-13 | Fortune Systems Corporation | Data processing system having automatic configuration |
JPS6073682A (ja) * | 1983-09-30 | 1985-04-25 | 株式会社東芝 | グラフイツクメモリ内デ−タ転送方式 |
US4839852A (en) * | 1985-09-27 | 1989-06-13 | Allen-Bradley Company, Inc. | Programmable controller with self testing I/O structure |
US4734854A (en) * | 1985-10-08 | 1988-03-29 | American Telephone And Telegraph Company | System for generating software source code components |
US4833604A (en) * | 1986-01-13 | 1989-05-23 | International Business Machines Corporation | Method for the relocation of linked control blocks |
EP0265575B1 (de) * | 1986-10-30 | 1992-01-29 | International Business Machines Corporation | Datenverarbeitungsanordnung mit Vorrichtungen zur automatischen Adresszuordnung zur Adressierung von Schnittstellenmodulen |
US4914576A (en) * | 1986-12-18 | 1990-04-03 | Bull Hn Information Systems Inc. | Apparatus and method of loading a control store memory of a central subsystem |
US4791558A (en) * | 1987-02-13 | 1988-12-13 | International Business Machines Corporation | System and method for generating an object module in a first format and then converting the first format into a format which is loadable into a selected computer |
JPS63226762A (ja) * | 1987-03-16 | 1988-09-21 | Hitachi Ltd | デ−タ処理方式 |
JP2681929B2 (ja) * | 1987-06-22 | 1997-11-26 | 三菱電機株式会社 | プログラム起動方式 |
US5182807A (en) * | 1987-12-18 | 1993-01-26 | Nec Corporation | Assembler system for determining when to compile source code modules |
US5050068A (en) * | 1988-10-03 | 1991-09-17 | Duke University | Method and apparatus for using extracted program flow information to prepare for execution multiple instruction streams |
-
1990
- 1990-11-15 EP EP90312470A patent/EP0429252B1/de not_active Expired - Lifetime
- 1990-11-15 DE DE69031936T patent/DE69031936T2/de not_active Expired - Lifetime
- 1990-11-16 CA CA002030184A patent/CA2030184A1/en not_active Abandoned
- 1990-11-16 JP JP2311222A patent/JPH03219331A/ja active Pending
-
1993
- 1993-03-29 US US08/039,503 patent/US5317723A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0429252A3 (en) | 1992-09-30 |
JPH03219331A (ja) | 1991-09-26 |
EP0429252B1 (de) | 1998-01-14 |
EP0429252A2 (de) | 1991-05-29 |
DE69031936D1 (de) | 1998-02-19 |
US5317723A (en) | 1994-05-31 |
CA2030184A1 (en) | 1991-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69031936T2 (de) | System und Verfahren zur Speicherung von Firmware in einem adressunabhängigen Format | |
DE69821844T2 (de) | Verfahren zur automatischen Installierung und übertragung von Daten auf ein Rechnerplattenlaufwerk | |
DE60006779T2 (de) | Verfahren zum schreiben eines geänderten bios codes in den rompeicherchip einer hostschnittstelle | |
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE69326719T2 (de) | Verfahren und System zur Organisation der internen Struktur einer Datei | |
DE60010420T2 (de) | Automatisches Regressionstesten von Arbeitsplatz-Software | |
DE69530050T2 (de) | Gerät mit automatischer Betriebssystemauswahl | |
DE19681256C2 (de) | Ausführung von Anwendungen am Platz vom Speicher | |
DE69425222T2 (de) | Dynamisch ausbaubares Speichereinheitsmatrixsystem | |
DE69819188T2 (de) | Programmschnittstellenumsetzer für rechner mit mehreren umgebungen | |
DE69309486T2 (de) | Mehrsprachiges computerprogramm | |
DE69819686T2 (de) | Objekt und verfahren zum bereitstellen eines effizienten mehrbenutzerzugriff auf verteilten betriebssystemkernkode durch instanzierung | |
DE69600794T2 (de) | Graphische entwicklungs- und verwaltungsumgebung für anwendungsprogramme | |
DE69132209T2 (de) | Anzeigeadapter | |
DE69408601T2 (de) | System und Verfahren zur Emulierung von Vielfachprozess-Pipelines in einer Einprozessumgebung | |
DE60025749T2 (de) | Dateisystemabbildübertragung zwischen ungleichen dateisystemen | |
DE69031494T2 (de) | Verfahren zum lesen und schreiben von dateien auf nichtlöschbaren speichermedien | |
DE69428396T2 (de) | Bildverarbeitungssystem mit Fliessbandarbeitsprinzip für Einzelanwendungsumgebung | |
DE69801824T2 (de) | Speicher für informationsteurung eines mehrhostrechnerspeichers | |
DE69534867T2 (de) | Verfahren und System zur Lieferung geschützter Gerätetreiber | |
DE69626962T2 (de) | Verfahren und anordnung zum betrieb eines mit einem hauptrechner verbundenen massenspeicher-computerperipheriegerätes | |
DE69600754T2 (de) | Aufteilung einer Teilung in einem Plattenspeichersystem | |
DE68916853T2 (de) | Unabhängige Programmlader für virtuelle Maschinenarchitektur. | |
DE68915847T2 (de) | Tastatur-Umbelegung. | |
DE19615177C2 (de) | Verfahren zum Ändern einer Funktion eines Druckertreibers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Free format text: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUSSER, 80538 MUENCHEN |