JPH03219331A - ファームウエアを再配置可能なフォーマットで格納する装置及び方法 - Google Patents
ファームウエアを再配置可能なフォーマットで格納する装置及び方法Info
- Publication number
- JPH03219331A JPH03219331A JP2311222A JP31122290A JPH03219331A JP H03219331 A JPH03219331 A JP H03219331A JP 2311222 A JP2311222 A JP 2311222A JP 31122290 A JP31122290 A JP 31122290A JP H03219331 A JPH03219331 A JP H03219331A
- Authority
- JP
- Japan
- Prior art keywords
- module
- memory
- firmware
- format
- bus
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 13
- 230000015654 memory Effects 0.000 claims abstract description 34
- 230000008707 rearrangement Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000001154 acute effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012545 processing 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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野〕
本発明は、全体として、読出し専用メモリ(ROM)内
にモジュール式のファームウェアを含むサブシステムモ
ジュール群が異なる機器構成を取るよう接続することが
可能にされたシステムと方法に関する。殊に、本発明は
、ファームウェアが実行用のシステム機器構成に応じて
変化するシステムメモリ位置にコピー可能になったシス
テムと方法Gと関する。
にモジュール式のファームウェアを含むサブシステムモ
ジュール群が異なる機器構成を取るよう接続することが
可能にされたシステムと方法に関する。殊に、本発明は
、ファームウェアが実行用のシステム機器構成に応じて
変化するシステムメモリ位置にコピー可能になったシス
テムと方法Gと関する。
今日のコンピュータシステムは、異なる構成を有する様
接続することが可能な多数のモジュールより構成される
ことが多い。このように機器構成が多様であるためにシ
ステムを当面の問題Gこ適応させることが可能になる。
接続することが可能な多数のモジュールより構成される
ことが多い。このように機器構成が多様であるためにシ
ステムを当面の問題Gこ適応させることが可能になる。
多くのシステム設計では、モジュール志向ファームウェ
アはROM内の各モジュール上に格納される。このファ
ームウェアは種にの目的に使用され、そのうち診断用・
ノットウェアとブートスドラ・ノブソフトウェアが最も
一般的である。
アはROM内の各モジュール上に格納される。このファ
ームウェアは種にの目的に使用され、そのうち診断用・
ノットウェアとブートスドラ・ノブソフトウェアが最も
一般的である。
ROMをベースにしたファームウェアは直接実行される
か、まづ、メモリ内の一定位置にコピーされ、そこで実
行されるかの何れかの形で格納されるのが菅通である。
か、まづ、メモリ内の一定位置にコピーされ、そこで実
行されるかの何れかの形で格納されるのが菅通である。
MIPS、R200,0/R3000の如きシステムア
ーキテクチャにおいては、このコードを実行するための
アドレスは、それがROM中にある場合には固定されて
いる。システムは順次任意のモジュールの集合により構
成できるので、異なるモジュールからのコードに重複す
るアドレス範囲が割当てられないようにすることはすこ
ぶる困難である。もしアドレス範囲が重なり合う場合に
は、システムは作動しないであろう。にもかかわらず、
成るファームウェアタスクを実行するには多数のオプシ
ョンを有するコードに同時にアクセスする必要がある。
ーキテクチャにおいては、このコードを実行するための
アドレスは、それがROM中にある場合には固定されて
いる。システムは順次任意のモジュールの集合により構
成できるので、異なるモジュールからのコードに重複す
るアドレス範囲が割当てられないようにすることはすこ
ぶる困難である。もしアドレス範囲が重なり合う場合に
は、システムは作動しないであろう。にもかかわらず、
成るファームウェアタスクを実行するには多数のオプシ
ョンを有するコードに同時にアクセスする必要がある。
問題は多数オプションモジュールROMに格納されたコ
ードをロードし実行するための手段を提供することであ
る。この問題は、ユーザがシステムを最初に設置した後
で必要に応じてオプションモジュールの変更によってそ
のシステムを再構成できる場合には特に深刻である。
ードをロードし実行するための手段を提供することであ
る。この問題は、ユーザがシステムを最初に設置した後
で必要に応じてオプションモジュールの変更によってそ
のシステムを再構成できる場合には特に深刻である。
かかるコードを絶対的フォーマットで格納し、しかもそ
れをランダムアクセスメモリ (RAM)中ヘコピーし
てそのコピーされたコードを検査して同コード中に引用
された何れのメモリアドレスが、専らコード自体の検査
にもとづいて重なりあうアドレス範囲を回避するために
変更(配置替え)されなければならないかを判断するこ
とが可能であるかもしれない。然しなから、簡単な検査
・配置替えアルゴリズムは何れも、誤りをおかしがちで
ある。それ故、もしコードがアセンブリ言語で書かれて
いなければ、このアプローチは実際には効果を奏しない
。アセンブリ言語によるコーディングは労働集約的であ
り、時間のかかるものである。C言語の如き高水準言語
を使用できることが望ましい。
れをランダムアクセスメモリ (RAM)中ヘコピーし
てそのコピーされたコードを検査して同コード中に引用
された何れのメモリアドレスが、専らコード自体の検査
にもとづいて重なりあうアドレス範囲を回避するために
変更(配置替え)されなければならないかを判断するこ
とが可能であるかもしれない。然しなから、簡単な検査
・配置替えアルゴリズムは何れも、誤りをおかしがちで
ある。それ故、もしコードがアセンブリ言語で書かれて
いなければ、このアプローチは実際には効果を奏しない
。アセンブリ言語によるコーディングは労働集約的であ
り、時間のかかるものである。C言語の如き高水準言語
を使用できることが望ましい。
もう一つの知られている方法は、FORTHの如き高水
準言語でROM中にコードを格納し、システムの基本モ
ジュールに対してFORTHインタープリタを使用して
コードを解釈することである。このインタープリタによ
る方法はFORTHコードをキャラクタ−フォーマット
で格納することによって上記問題を回避しており、アド
レス特有の情報を何ら含む必要がない。しかしながら、
上記FORTH言語およびそれに類似の言語は、大規模
なソフトウェアプロジェクトに使用するには貧弱な言語
である。大きなプロジェクトに対してはFORTHは理
解し維持することが困難である。
準言語でROM中にコードを格納し、システムの基本モ
ジュールに対してFORTHインタープリタを使用して
コードを解釈することである。このインタープリタによ
る方法はFORTHコードをキャラクタ−フォーマット
で格納することによって上記問題を回避しており、アド
レス特有の情報を何ら含む必要がない。しかしながら、
上記FORTH言語およびそれに類似の言語は、大規模
なソフトウェアプロジェクトに使用するには貧弱な言語
である。大きなプロジェクトに対してはFORTHは理
解し維持することが困難である。
ディジタルイクイブメントコーポレーションのVAXシ
ステムのような若干のコンピュータシステムにおいては
、適当なソフトウェアクールにより支援された場合、位
置に無関係なコードを発生させることができる。このコ
ードは直接コンピュータによって実行することが可能で
あるが、絶対アドレス情報を殆んど又は全く含まない。
ステムのような若干のコンピュータシステムにおいては
、適当なソフトウェアクールにより支援された場合、位
置に無関係なコードを発生させることができる。このコ
ードは直接コンピュータによって実行することが可能で
あるが、絶対アドレス情報を殆んど又は全く含まない。
かかるシステムの場合、上記問題は回避することができ
る。然し、かかるソフトウェアツールはあらゆるシステ
ム、殊に最新のシステムには利用することはできない。
る。然し、かかるソフトウェアツールはあらゆるシステ
ム、殊に最新のシステムには利用することはできない。
(発明の要約〕
本発明による再配置可能なフォーマットにファームウェ
アをストアするシステムは1個のホストデータプロセッ
サを備える。システムメモリはバスによって上記ホスト
データプロセッサに接続され、複数のオプションサブシ
ステムモジュールが上記バスに接続される。上記複数の
オプションサブシステムモジュールは各々、それらの一
つに特有なファームウェアを含むオプションモジュール
読出し専用メモリを備えている。上記バスに対しては基
本モジュール読出し専用メモリが接続される。基本モジ
ュール読出し専用メモリは、オプションモジュール読出
し専用メモリの全てを配置し、それらの内部の情報を使
用し、上記システムメモリ内のオプションモジュール読
出し専用メモリ内のアドレスから独立するファームウェ
アバージョンを配置替えするためのファームウェアを含
んでいる。
アをストアするシステムは1個のホストデータプロセッ
サを備える。システムメモリはバスによって上記ホスト
データプロセッサに接続され、複数のオプションサブシ
ステムモジュールが上記バスに接続される。上記複数の
オプションサブシステムモジュールは各々、それらの一
つに特有なファームウェアを含むオプションモジュール
読出し専用メモリを備えている。上記バスに対しては基
本モジュール読出し専用メモリが接続される。基本モジ
ュール読出し専用メモリは、オプションモジュール読出
し専用メモリの全てを配置し、それらの内部の情報を使
用し、上記システムメモリ内のオプションモジュール読
出し専用メモリ内のアドレスから独立するファームウェ
アバージョンを配置替えするためのファームウェアを含
んでいる。
本発明による再配置可能なフォーマットでファームウェ
アを格納する方法は、ソフトウェアソースコードを書込
む段階を含む。上記ソフトウェアソースコードはコンパ
イルされて、コンパイル済みのオブジェクトコードファ
イルがっくりだされる。コンパイルされたオブジェクト
コードファイルはコンパイルされたオブジェクトフォー
マットに変換される。同フォーマットは変換されたオブ
ジェクトコードの自動的な再配置がコンピュータメモリ
内の任意のアドレスで行うことができるだけの十分な情
報を含んでいる。変換されたオブジェクトコードは読出
し専用メモリ内にストアされる。
アを格納する方法は、ソフトウェアソースコードを書込
む段階を含む。上記ソフトウェアソースコードはコンパ
イルされて、コンパイル済みのオブジェクトコードファ
イルがっくりだされる。コンパイルされたオブジェクト
コードファイルはコンパイルされたオブジェクトフォー
マットに変換される。同フォーマットは変換されたオブ
ジェクトコードの自動的な再配置がコンピュータメモリ
内の任意のアドレスで行うことができるだけの十分な情
報を含んでいる。変換されたオブジェクトコードは読出
し専用メモリ内にストアされる。
本発明の上記ならびにそれと関連する利点および特徴は
、図面と共に以下の詳細な説明を検討することによって
明らかとなるはづである。
、図面と共に以下の詳細な説明を検討することによって
明らかとなるはづである。
さて図面について述べると、殊に第1図について、複数
のサブシステムモジュール45a〜45nにより構成さ
れたシステム3oが示されている。
のサブシステムモジュール45a〜45nにより構成さ
れたシステム3oが示されている。
同システムは異なる要求条件に対しで適応させることが
できるようになっている。CPU32はハス36により
浮動小数点プロセッサ(F P U)34に接続されて
いる。CPU32は、32ビ・7トシステムバス38に
より、グラフィックサブシステムモジュール45a内の
ランダムアクセスメモリ (RAM)40、キャッシュ
42、およびインターフェース44aに接続されている
。−例としてグラフインクサブシステムモジュール45
aが示されている。サブシステムモジュール45a〜4
5nは、以下に説明する如く、本発明を使用するために
必要な部分を除いて、公知の構成で構成されている。イ
ンターフェース44 a ババス46によりグラフイン
クプロセッサ48に接続されている。インターフェース
44aは、かかるグラフィックサブシステムモジュール
に特有のファームウェアを含むモジュールROM47
aを備えている。同様にして、他のサブシステムモジュ
ール45b〜45nの各々は、特定形のモジュール45
b−45nに特有のファームウェアを含むインターフェ
ース44b〜44nを含んでいる。グラフィックプロセ
ッサ48は120ビツトグラフイツクパス50によりフ
レームバッファ52に接続すれている。フレームバッフ
ァ52は、ハス56によりビデオデジタル/アナログ変
換器(DAC)に接続される。DAC54は、ライン6
0によりビデオデイスプレィ58に接続される。
できるようになっている。CPU32はハス36により
浮動小数点プロセッサ(F P U)34に接続されて
いる。CPU32は、32ビ・7トシステムバス38に
より、グラフィックサブシステムモジュール45a内の
ランダムアクセスメモリ (RAM)40、キャッシュ
42、およびインターフェース44aに接続されている
。−例としてグラフインクサブシステムモジュール45
aが示されている。サブシステムモジュール45a〜4
5nは、以下に説明する如く、本発明を使用するために
必要な部分を除いて、公知の構成で構成されている。イ
ンターフェース44 a ババス46によりグラフイン
クプロセッサ48に接続されている。インターフェース
44aは、かかるグラフィックサブシステムモジュール
に特有のファームウェアを含むモジュールROM47
aを備えている。同様にして、他のサブシステムモジュ
ール45b〜45nの各々は、特定形のモジュール45
b−45nに特有のファームウェアを含むインターフェ
ース44b〜44nを含んでいる。グラフィックプロセ
ッサ48は120ビツトグラフイツクパス50によりフ
レームバッファ52に接続すれている。フレームバッフ
ァ52は、ハス56によりビデオデジタル/アナログ変
換器(DAC)に接続される。DAC54は、ライン6
0によりビデオデイスプレィ58に接続される。
システム30の要素32−42は、全てのシステム構成
に対して同一の基本モジュール43を構成する。ROM
49が基本モジュール43内に設けられ、バス38に接
続されている。基本モジュールROM49はオプション
モジュールROM47a〜47n全ての位置を指定する
ソフトウェアルーチンを含み、それらの内部の情報を使
用して、コンピュータシステムのメインメモリ40内の
オプションモジュールROM47 a〜47n内にコー
ドの再配置バージョンをつくりだす。もしモジュール4
5b〜45nかディスクコントローラモジュールの如き
他のソフトウェアをロードするために使用可能な形態を
含む場合には、そのROM47b〜47Y1もまた、モ
ジュール45b〜4−5n’2その目的のために動作さ
せるために使用されるドライバソフトウェアを含む。
に対して同一の基本モジュール43を構成する。ROM
49が基本モジュール43内に設けられ、バス38に接
続されている。基本モジュールROM49はオプション
モジュールROM47a〜47n全ての位置を指定する
ソフトウェアルーチンを含み、それらの内部の情報を使
用して、コンピュータシステムのメインメモリ40内の
オプションモジュールROM47 a〜47n内にコー
ドの再配置バージョンをつくりだす。もしモジュール4
5b〜45nかディスクコントローラモジュールの如き
他のソフトウェアをロードするために使用可能な形態を
含む場合には、そのROM47b〜47Y1もまた、モ
ジュール45b〜4−5n’2その目的のために動作さ
せるために使用されるドライバソフトウェアを含む。
システム20の構成によって、ユーザは必要に応じてオ
プションモジュール458〜45nを変化させてシステ
ムを再構成することができる。システム30のハードウ
ェアとソフトウェアの特性は、通常、ROM47 a〜
47nの内容が上記の如く絶対的フォーマントであるこ
とを要求することになろう。然しなから、システム30
が再構成可能であることはどのモジュール458〜45
nがシステム中にあることになるかをあらかじめ知るす
べがないことを意味するから、このことは受は入れるこ
とはできない。それ故、絶対アドレス範囲を付与してモ
ジュールROM47 a〜47nの可能な組合わせが何
れも決して競合しないようにする方法は存在しない。
プションモジュール458〜45nを変化させてシステ
ムを再構成することができる。システム30のハードウ
ェアとソフトウェアの特性は、通常、ROM47 a〜
47nの内容が上記の如く絶対的フォーマントであるこ
とを要求することになろう。然しなから、システム30
が再構成可能であることはどのモジュール458〜45
nがシステム中にあることになるかをあらかじめ知るす
べがないことを意味するから、このことは受は入れるこ
とはできない。それ故、絶対アドレス範囲を付与してモ
ジュールROM47 a〜47nの可能な組合わせが何
れも決して競合しないようにする方法は存在しない。
本発明の再配置可能フォーマ・ノドでファームウェアを
格納する方法によれば、システム30が何れの可能なモ
ジュールROMの組合せも受入れることが可能になる。
格納する方法によれば、システム30が何れの可能なモ
ジュールROMの組合せも受入れることが可能になる。
この手法は余分なノλ−ドウエアの複雑さを使用するこ
とを避けることができ、既に利用可能なその他のソフト
ウェアツールを利用することができる。ROM478〜
47nはシステム30により実行される実コードを含ま
ず、特殊なフォーマットを有するコード形式を含む。
とを避けることができ、既に利用可能なその他のソフト
ウェアツールを利用することができる。ROM478〜
47nはシステム30により実行される実コードを含ま
ず、特殊なフォーマットを有するコード形式を含む。
同フォーマットはコード自体だけでなく、コードの自動
的な再配置をメモリ40内のシステムのアドレス空間内
の任意のアドレスで実行することを可能にする十分な情
報を含んでいる。そのプロセスを簡単化するために、デ
ィジタルイクイプメントコーポレーションのUltri
xオペレーティングシステムにより既に支援された表現
フォーマット、即ち、多くのUNIXシステムに共通の
“a、 out”フォーマント、を使用する。既知の表
現フォーマントを使用すれば、既存のソフトウェアツー
ルを使用することによってROMコードを作成すること
が可能である。
的な再配置をメモリ40内のシステムのアドレス空間内
の任意のアドレスで実行することを可能にする十分な情
報を含んでいる。そのプロセスを簡単化するために、デ
ィジタルイクイプメントコーポレーションのUltri
xオペレーティングシステムにより既に支援された表現
フォーマット、即ち、多くのUNIXシステムに共通の
“a、 out”フォーマント、を使用する。既知の表
現フォーマントを使用すれば、既存のソフトウェアツー
ルを使用することによってROMコードを作成すること
が可能である。
コード化されたROM472〜47nをシステム30用
に作成するために使用されるステップとそれらをシステ
ム内に使用する方法は、それぞれ第2図の70と72に
示されている。ROMソフトウェアは、開発段階70の
74に示すように、C言語で記述されている。Cコード
は76でコンパイルされ、オブジェクトファイル78が
つくりだされる。上記オブジェクトファイル78はロー
ドモジュールジェネレータ80へ供給され、同ジェネレ
ータ80はa、outフォーマットのロードモジュール
82を提供する。ROMパターンファイル86を作り出
すパターンファイルジェネレータ84ヘロードモジユー
ル82が供給する。ROMパターンファイルは、88に
おいてROM47 a〜47nをプログラムするために
使用される。その後、ROM47a 〜47nは、シス
テム30の最初の望ましい構成に基づいて、システム3
0内に設けられる。システム30に電源が投入された時
に、ROM47a 〜47nの内容はコピーされ、90
でRAM40内へ再配置される。
に作成するために使用されるステップとそれらをシステ
ム内に使用する方法は、それぞれ第2図の70と72に
示されている。ROMソフトウェアは、開発段階70の
74に示すように、C言語で記述されている。Cコード
は76でコンパイルされ、オブジェクトファイル78が
つくりだされる。上記オブジェクトファイル78はロー
ドモジュールジェネレータ80へ供給され、同ジェネレ
ータ80はa、outフォーマットのロードモジュール
82を提供する。ROMパターンファイル86を作り出
すパターンファイルジェネレータ84ヘロードモジユー
ル82が供給する。ROMパターンファイルは、88に
おいてROM47 a〜47nをプログラムするために
使用される。その後、ROM47a 〜47nは、シス
テム30の最初の望ましい構成に基づいて、システム3
0内に設けられる。システム30に電源が投入された時
に、ROM47a 〜47nの内容はコピーされ、90
でRAM40内へ再配置される。
ROMコードの再配置可能a、outフォーマ・ノドの
詳細は、第3図に示す通りである。同フォーマットは、
ファイルヘッダ100、オブワヨンヘッダ102、およ
びセクションへ・ノダ104を備える。セクションデー
タ106は基本モジュールROM49内の再配置ルーチ
ンと共にセクション再配置情報108を使用してRAM
40内にコピーされ再配置される。ROM47 a〜4
7n内にストアされるコードをコピーし再配置するため
に使用される手続きは、以下のテーブルIに示す。
詳細は、第3図に示す通りである。同フォーマットは、
ファイルヘッダ100、オブワヨンヘッダ102、およ
びセクションへ・ノダ104を備える。セクションデー
タ106は基本モジュールROM49内の再配置ルーチ
ンと共にセクション再配置情報108を使用してRAM
40内にコピーされ再配置される。ROM47 a〜4
7n内にストアされるコードをコピーし再配置するため
に使用される手続きは、以下のテーブルIに示す。
テーブルI
それぞれのオプションモジュールROM47a〜47n
について以下の操作を実行する。即ち、セクションヘッ
ダ104からプログラムテキスト、データ、およびbs
sセクションの全体の大きさを取得する。
について以下の操作を実行する。即ち、セクションヘッ
ダ104からプログラムテキスト、データ、およびbs
sセクションの全体の大きさを取得する。
この大きさのメモリ領域40を割当てる。
再配置されないROM47a〜47nからのテキストと
データセクションをこのメモリ領域にコピーし、bss
セクションをゼロにセ・ノドする。
データセクションをこのメモリ領域にコピーし、bss
セクションをゼロにセ・ノドする。
テキストとデータセクション106の各々について以下
の処理を実行する。即ち、 セクションのそれぞれの再配置入口について以下のこと
を実行するこのセクションの再配置データから次の再配
置入口を取得する。再配置データにより指定されたよう
にターゲットメモリセルを再配置する。
の処理を実行する。即ち、 セクションのそれぞれの再配置入口について以下のこと
を実行するこのセクションの再配置データから次の再配
置入口を取得する。再配置データにより指定されたよう
にターゲットメモリセルを再配置する。
システム30内にメモリセルを再配置する手続きは以下
のテーブルHに示す。
のテーブルHに示す。
テーブル■
もし再配置形態が“refword ”であれば、再配
置変位値をメモリセルに加算する。
置変位値をメモリセルに加算する。
もし再配置形態力びjmpaddr ″であれは、再配
置変位値をメモリセルの下部26ビ7)に加算する。
置変位値をメモリセルの下部26ビ7)に加算する。
もし再配置形態が“refhi ”であれば、再配置
変位値の上半分をメモリセルの下部16ビノトに加算す
る。
変位値の上半分をメモリセルの下部16ビノトに加算す
る。
もし再配置形態が“feflo ”であれば、再配置内
容の下半分をメモリセルの下部16ビソトに加算する。
容の下半分をメモリセルの下部16ビソトに加算する。
この手続きは他の形態のコンピュータシステムについて
も一般化することが容易である。再配置さるべきメモリ
セルのアドレス、再配置形態、および再配置変位値は、
ファイルの再配置データ部分から得られる。再配置さる
べきメモリセルのアドレスは、セクションの開始に関す
るものである。
も一般化することが容易である。再配置さるべきメモリ
セルのアドレス、再配置形態、および再配置変位値は、
ファイルの再配置データ部分から得られる。再配置さる
べきメモリセルのアドレスは、セクションの開始に関す
るものである。
第1図は本発明が使用されるコンビエータシステムのブ
ロック線図、 第2図は、本発明を示すフローチャートとブロック線図
の組合せ図、 第3図は第2図のブロック線図の一部のより詳細なブロ
ア・り線図。 45a〜45n・・・・・サブシステムモジュール、3
0・・・・・・システム、 2・・・・・・CPU。 4・・・・・・浮動小数点プロセッサ、4a・・・・・
・インターフェース、 2・・・・・・フレームバッフプ、 8・・・・・・ビデオデイスプレィ、 7a〜47n・・・・・・オプションモジュールROM
。 平成 年 月 日
ロック線図、 第2図は、本発明を示すフローチャートとブロック線図
の組合せ図、 第3図は第2図のブロック線図の一部のより詳細なブロ
ア・り線図。 45a〜45n・・・・・サブシステムモジュール、3
0・・・・・・システム、 2・・・・・・CPU。 4・・・・・・浮動小数点プロセッサ、4a・・・・・
・インターフェース、 2・・・・・・フレームバッフプ、 8・・・・・・ビデオデイスプレィ、 7a〜47n・・・・・・オプションモジュールROM
。 平成 年 月 日
Claims (1)
- 【特許請求の範囲】 1、ファームウェアを再配置可能なフォーマットで格納
する装置において、ホストデータプロセッサと、同ホス
トデータプロセッサに一本のバスにより接続されるシス
テムメモリと、それぞれがその一つに専有なファームウ
ェアを含むオプションモジュール読出し専用メモリを有
し、上記バスに接続される複数のオプションサブシステ
ムモジュールと、上記バスに接続される基本モジュール
読出し専用メモリと、から成り、上記基本モジュール読
出し専用メモリが上記オプションモジュール読出し専用
メモリの全てを配置するファームウェアを含み、それら
の内部の情報を使用して上記システムメモリ内のオプシ
ョンモジュール読出し専用メモリ内にアドレスとは独立
のファームウェアバージョンを再配置する前記装置。 2、ファームウェアを再配置可能なフォーマットでスト
アする方法において、ソフトウェアソースコードを書込
み、同ソフトウェアソースコードをコンパイルしてコン
パイルされたオブジェクトコードファイルをつくりだし
、同オブジェクトコードファイルを変換されたコンパイ
ルオブジェクトコードのフォーマットで、同変換オブジ
ェクトコードの自動的再配置がコンピュータメモリ内の
任意のアドレスで実行するに十分な情報を含んだものに
変換し、その変換されたオブジェクトコードを読出し専
用メモリ内へ格納する前記方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US43871789A | 1989-11-17 | 1989-11-17 | |
US438717 | 1989-11-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03219331A true JPH03219331A (ja) | 1991-09-26 |
Family
ID=23741738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2311222A Pending JPH03219331A (ja) | 1989-11-17 | 1990-11-16 | ファームウエアを再配置可能なフォーマットで格納する装置及び方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5317723A (ja) |
EP (1) | EP0429252B1 (ja) |
JP (1) | JPH03219331A (ja) |
CA (1) | CA2030184A1 (ja) |
DE (1) | DE69031936T2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009544085A (ja) * | 2006-07-18 | 2009-12-10 | インテル・コーポレーション | Efiベースのファームウェアにおいてpeiモジュールについてグローバル変数を利用する方法 |
Families Citing this family (23)
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 |
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 |
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 |
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 |
US5991841A (en) * | 1997-09-24 | 1999-11-23 | Intel Corporation | Memory transactions on a low pin count bus |
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 |
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 |
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 |
DE3683778D1 (de) * | 1986-10-30 | 1992-03-12 | Ibm | 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/en not_active Expired - Lifetime
- 1990-11-15 DE DE69031936T patent/DE69031936T2/de not_active Expired - Lifetime
- 1990-11-16 JP JP2311222A patent/JPH03219331A/ja active Pending
- 1990-11-16 CA CA002030184A patent/CA2030184A1/en not_active Abandoned
-
1993
- 1993-03-29 US US08/039,503 patent/US5317723A/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009544085A (ja) * | 2006-07-18 | 2009-12-10 | インテル・コーポレーション | Efiベースのファームウェアにおいてpeiモジュールについてグローバル変数を利用する方法 |
Also Published As
Publication number | Publication date |
---|---|
CA2030184A1 (en) | 1991-05-18 |
EP0429252A3 (en) | 1992-09-30 |
EP0429252B1 (en) | 1998-01-14 |
DE69031936T2 (de) | 1998-06-10 |
US5317723A (en) | 1994-05-31 |
DE69031936D1 (de) | 1998-02-19 |
EP0429252A2 (en) | 1991-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH03219331A (ja) | ファームウエアを再配置可能なフォーマットで格納する装置及び方法 | |
EP0669021B1 (en) | Multi-lingual computer programs | |
US5392408A (en) | Address selective emulation routine pointer address mapping system | |
US5170465A (en) | Incremental-scanning compiler for source-code development system | |
US5182807A (en) | Assembler system for determining when to compile source code modules | |
JPH1083282A (ja) | ソフトウエアライブラリ | |
JPH0310134B2 (ja) | ||
JPH05197685A (ja) | ウィンドウ化ユーザ・インタフェースの複数言語による翻訳を支援するシステム及び方法 | |
JPH0836488A (ja) | ダイナミック・パッチングを使用するランタイム・エラー・チェック方法と装置 | |
JP2005032259A (ja) | 共有ライブラリーシステム及び前記システム構築方法 | |
JPH086812A (ja) | 情報処理プログラムのデバッグ方法およびそのためのデバッガ | |
US20030200535A1 (en) | System for program source code conversion | |
US5613125A (en) | Method and system for selectively defining hardware parameters in an executable operating system program | |
CA2019603A1 (en) | Incremental compiler for source-code development system | |
US6968548B1 (en) | Method and apparatus for sharing data structures between assembly language programs and high-level language programs | |
EP0194822A2 (en) | Methods of and apparatus for compiling high-level language statements into low-level language instruction sets | |
JPH11154093A (ja) | プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体 | |
JPS60237541A (ja) | プログラム組込方式 | |
JPS6310239A (ja) | 高級言語のパツチ生成方式 | |
JP2509981B2 (ja) | 仮想記憶制御装置 | |
JPH07105014A (ja) | 言語処理システムのシンボル処理方式 | |
JPS62204337A (ja) | プログラム翻訳装置 | |
JPS6158042A (ja) | マイクロプログラム制御方式 | |
JPS63138426A (ja) | プログラム生成方式 | |
JPH03186933A (ja) | 言語処理システムのシンボル処理方式 |