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 Format

Info

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
Application number
DE69031936T
Other languages
English (en)
Other versions
DE69031936D1 (de
Inventor
A Randall Heap
Eduardo Antonio Santiago
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
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 Digital Equipment Corp filed Critical Digital Equipment Corp
Application granted granted Critical
Publication of DE69031936D1 publication Critical patent/DE69031936D1/de
Publication of DE69031936T2 publication Critical patent/DE69031936T2/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
    • G06F9/4411Configuring 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

    HINTERGRUND DER ERFINDUNG 1. Gebiet der Erfindung:
  • 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.
  • 2. Beschreibung des Standes der Technik:
  • 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.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • 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.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 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.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • 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.
DE69031936T 1989-11-17 1990-11-15 System und Verfahren zur Speicherung von Firmware in einem adressunabhängigen Format Expired - Lifetime DE69031936T2 (de)

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)

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

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

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