(57)【要約】【課題】  ファームウェアによるシステム構築を柔軟かつ容易に行うことを可能とする情報処理装置を提供することを目的とする。【解決手段】  情報処理装置のロードモジュール記憶部２３は、複数のロードモジュールを記憶し、起動ロードモジュール定義部２２は、ファームウェアを構成するロードモジュールを定義するための起動ロードモジュール定義データを記憶する。ロードモジュール制御部２１−１は、起動ロードモジュール定義データで定義されたロードモジュールのみを、ロードモジュール記憶部２３から読み出して起動する。【選択図】  図２
2006079282.tif 000002
【特許請求の範囲】
【請求項１】
複数のロードモジュールを記憶するロードモジュール記憶手段と、
ファームウェアを構成するロードモジュールを定義するための起動ロードモジュール定義データを記憶する起動ロードモジュール定義手段と、
前記起動ロードモジュール定義データで定義されたロードモジュールのみを、前記ロードモジュール記憶手段から読み出して起動するロードモジュール制御手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記起動ロードモジュール定義手段に記憶されている起動ロードモジュール定義データの内容を変更する起動ロードモジュール定義変更手段をさらに備えることを特徴とする
請求項１に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のロードモジュールで構成されるファームウェアにより動作する情報処理装置に関する。
【背景技術】
【０００２】
最近の組込み機器は、機能追加、性能向上や不具合の修正などの目的でファームウェアを更新するための手段が提供されている製品が多くなってきている。従来のファームウェアのリンク単位は一括かつ静的リンクであり、ファームウェアの更新単位がシステムで一括である場合が多い。そのため、例えば一部の機能追加であってもファームウェアを作成し直し、ファームウェア全体を入れ替える必要があり、柔軟性や入替え時間に要する性能面が問題となってくる。この問題を解決するための技術として、特許文献１には、インターネット等のネットワークに接続されたサーバから端末装置に必要なプログラムのみをダウンロードし、当該端末装置においてプログラムを実行可能とする技術が開示されている。
【特許文献１】特開２００２−１６９６２１号公報（要約）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、予め機能やサービス内容が決まっており、必要に応じて機能やサービスの追加、削除等の変更を行うようなシステムにおいては、サーバから端末装置にプログラムをダウンロードするような構成をとると、運用面やコスト面で不利である。すなわち、ネットワークに接続する機能を端末装置に必ず設けなければならず、さらに、ネットワークに接続する手間や、プログラムをダウンロードする時間がかかり、運用面での柔軟性に欠ける。また、ネットワークを利用するための通信料金がかかり、コスト高となってしまう。
この発明は上記の問題点を解決するためになされたものであり、ファームウェアによるシステム構築を柔軟かつ容易に行うことを可能とする情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記課題を解決するために、請求項１に記載の発明は、複数のロードモジュールを記憶するロードモジュール記憶手段と、ファームウェアを構成するロードモジュールを定義するための起動ロードモジュール定義データを記憶する起動ロードモジュール定義手段と、前記起動ロードモジュール定義データで定義されたロードモジュールのみを、前記ロードモジュール記憶手段から読み出して起動するロードモジュール制御手段とを備えることを特徴とする情報処理装置を提供する。
【０００５】
この構成によれば、情報処理装置は、起動ロードモジュール定義データで定義されるロードモジュールのみを起動するため、起動ロードモジュール定義データを定義するのみで、ロードモジュール記憶手段に記憶されている複数のロードモジュールのうち必要なロードモジュールのみを起動して必要な機能を実現することができ、柔軟かつ容易にファームウェアによるシステム構築を行うことができる。
【０００６】
請求項２に記載の発明は、請求項１に記載の情報処理装置において、前記起動ロードモジュール定義手段に記憶されている起動ロードモジュール定義データの内容を変更する起動ロードモジュール定義変更手段をさらに備えることを特徴とする。
この構成によれば、情報処理装置は起動ロードモジュール定義変更手段を備えているため、ロードモジュール記憶手段に記憶されているロードモジュール自体を変更することなく、容易に起動対象とするロードモジュールの構成、すなわちファームウェアの構成を変更することができ、ファームウェアによるシステムの再構築を柔軟かつ容易に行うことができる。
【発明の効果】
【０００７】
このように本発明によれば、情報処理装置は、起動ロードモジュール定義データで定義されるロードモジュールのみを起動するため、起動ロードモジュール定義データを定義するのみで、ロードモジュール記憶手段に記憶されている複数のロードモジュールのうち必要なロードモジュールのみを起動し必要な機能を実現することができ、柔軟かつ容易にファームウェアによるシステム構築を行うことができる。
【発明を実施するための最良の形態】
【０００８】
以下、図を参照して、発明の実施の形態について説明する。
図１は本発明の情報処理装置のハードウェア構成例である。情報処理装置は、ＣＰＵ１１、メモリ１２、ＲＯＭ１３、外部Ｉ／Ｆ１４を備え、それぞれバス接続されている。ここで、ＲＯＭ１３はフラッシュメモリ等の書き換え可能な不揮発性メモリであり、ファームウェアが格納されている。外部Ｉ／Ｆ１４は、外部機器と接続するためのインタフェースであり、シリアルコントローラやＬＡＮコントローラといった通信デバイスが接続される。
【０００９】
図２は、情報処理装置のＲＯＭ１３に格納されるファームウェアの構成図である。同図に示すように、ファームウェアは、ロードモジュール管理部２１、起動ロードモジュール定義部２２、ロードモジュール記憶部２３及び起動ロードモジュール定義変更部２４を含んで構成される。
ロードモジュール管理部２１は、初期化時にロードモジュールの起動処理を行うロードモジュール制御部２１−１と、ロードモジュール記憶部２３に記憶されている全てのロードモジュールを管理するロードモジュール管理情報２１−２とを含んで構成される。
【００１０】
図３は、ロードモジュール管理情報２１−２の構成の一例を示す図である。同図に示すように、ロードモジュール管理情報２１−２は、ロードモジュール記憶部２３に記憶されている全てのロードモジュールの数を示すロードモジュール数３１、ロードモジュールが格納されている記憶領域のアドレスを示すロードモジュール格納アドレス３２、及び、ロードモジュールのデータサイズを示すロードモジュール格納サイズ３３を含んで構成される。
【００１１】
起動ロードモジュール定義部２２は、ロードモジュール記憶部２３に記憶されたロードモジュールのうち、ファームウェアを構成するロードモジュール、すなわち、起動対象とするロードモジュールを定義するためのデータ領域である。当該データ領域には、ファームウェアを構成するロードモジュールのリスト情報である起動ロードモジュール定義データが記憶される。
【００１２】
図４に、起動ロードモジュール定義部２２に記憶される起動ロードモジュール定義データのフォーマット例を示す。同図に示すように、起動ロードモジュール定義データは、ファームウェアを構成するロードモジュールの数を表す起動ロードモジュール数４１と、ファームウェアを構成するロードモジュールを識別するためのロードモジュール識別情報４２とを含んで構成される。ロードモジュール識別情報４２は、数値でも文字列でもユニークな内容であれば良い。なお、起動ロードモジュール定義部２２は、ロードモジュール管理部２１以外からのアクセスも可能とするために、ロードモジュール管理部２１の外側に配置されている。
【００１３】
ロードモジュール記憶部２３は、複数のロードモジュール（２３−１〜２３−３）から構成される。ロードモジュール記憶部２３に記憶されているロードモジュール各々は、図５に示すように、実際にＣＰＵ１１によって実行されるプログラムコード５６の他に、ロードモジュール識別情報５１、ロードモジュールロードアドレス５２、ロードモジュール起動アドレス５３、ロードモジュールサイズ５４、及び、ロードモジュールチェックサム値５５を含んで構成される。
【００１４】
起動ロードモジュール定義変更部２４は、起動ロードモジュール定義部２２に記憶されている起動ロードモジュール定義データの内容を変更する。この起動ロードモジュール定義変更部２４により、ファームウェアの機能の追加、削除の必要が生じた場合に、起動すべきロードモジュールの構成を変更することができる。起動ロードモジュール定義変更部２４が行う起動ロードモジュール定義データの変更方法としては、Ｗｅｂ画面やシリアルインタフェース経由によるユーザインタフェースでの変更、上位機器と外部Ｉ／Ｆ１４経由で接続しコマンドインタフェースによる変更、あるいは、起動ロードモジュール定義データを直接入れ変えることによる変更方法が存在する。
【００１５】
次に、上述した構成におけるシステムの初期化処理について、図６を参照して説明する。まず、システム初期化時において、ロードモジュール管理部２１のロードモジュール制御部２１−１は、起動ロードモジュール定義部２２に記憶されている起動ロードモジュール定義データ内のロードモジュール識別情報４２を読み出す（ステップＳ１）。
【００１６】
次に、ロードモジュール制御部２１−１は、ロードモジュール管理情報２１−２よりロードモジュール格納アドレス３２を参照（ステップＳ２）し、当該アドレスで識別される記憶領域に格納されているロードモジュール内のロードモジュール識別情報５１を、ロードモジュール記憶部２３から読み出す（ステップＳ３）。そして、ロードモジュール制御部２１−１は、ステップ１において読み出したロードモジュール識別情報４２と、ステップ３において読み出したロードモジュール識別情報５１とを比較（ステップＳ４）し、一致すれば（ステップＳ５；Ｙ）、チェックサム等によるロードモジュールの正当性のチェック後、ロードモジュールをローディングして起動する（ステップＳ６）。不一致の場合は（ステップＳ５；Ｎ）ステップ２まで戻り、ロードモジュール制御部２１−１は、起動対象ロードモジュールの検索をロードモジュール管理部２１内のロードモジュール数３１分行う（ステップＳ７）。比較結果が一致してロードモジュールを起動した場合や、ロードモジュール管理部２１内のロードモジュール数３１分の検索終了後は（ステップＳ８；Ｎ）、ステップＳ１に戻り、ロードモジュール制御部２１−１は起動ロードモジュール定義部２２内の次のロードモジュール識別情報４２について、同様に検索処理を行う。起動ロードモジュール定義部２２内の起動ロードモジュール数４１分についての全ての検索処理が終了したら（ステップＳ８；Ｙ）、初期化処理を終了する。
【００１７】
このように、使用する可能性のある全ての機能やサービスを実現するための複数のロードモジュールをロードモジュール記憶部２３に予め記憶しておき、起動ロードモジュール定義データによりファームウェアを構成するロードモジュールを定義しておくことで、ロードモジュール制御部２１−１が、ロードモジュール記憶部２３に記憶されているロードモジュールのうち、起動ロードモジュール定義データで定義されているロードモジュールのみを起動するため、必要なロードモジュールのみを選択して起動することが可能となり、柔軟かつ容易に、任意のシステム構築を行うが可能となる。
【００１８】
また、機能やサービスの変更によりファームウェアを構成するロードモジュールを変更する場合には、ロードモジュール記憶部２３に記憶されているロードモジュールの更新を行うことなく、起動ロードモジュール定義データを変更するのみで、容易に起動対象のロードモジュールを変更することが可能となる。
起動ロードモジュール定義データは少量のデータ量であり、設定が容易かつ管理も容易である。従って、コストの抑制、運用管理面での容易さ、保守性の向上といった効果が得られる。
【００１９】
また、新規にロードモジュールを追加する場合や既存のロードモジュールを変更する場合は、ロードモジュール記憶部２３に記憶されているロードモジュール自身の更新処理が必要になるが、ロードモジュールをシステム一括ではなく複数に分割したロードモジュール構成としているため、ロードモジュール単位での更新処理と組み合わせることにより、さらに柔軟なファームウェアによるシステム構築が可能となる。
【産業上の利用可能性】
【００２０】
予め機能やサービス内容が決まっており、必要に応じて機能やサービスの追加、削除等の変更を行う必要が生じる、あらゆるシステムに利用可能である。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施の形態に係る情報処理装置のハードウェア構成を示すブロック図である。
【図２】同実施の形態に係るファームウェアの構成を示す図である。
【図３】同実施の形態に係るロードモジュール管理情報の構成の一例を示す図である。
【図４】同実施の形態に係る起動ロードモジュール定義部に記憶される起動ロードモジュール定義データの構成の一例を示す図である。
【図５】同実施の形態に係るロードモジュール記憶部に記憶されるロードモジュールの構成の一例を示す図である。
【図６】同実施の形態に係るシステムの初期化処理を示すフローチャートである。
【符号の説明】
【００２２】
１１        ＣＰＵ
１２        メモリ
１３        ＲＯＭ
１４        外部Ｉ／Ｆ
２１        ロードモジュール管理部
２１−１    ロードモジュール制御部
２１−２    ロードモジュール管理情報
２２        起動ロードモジュール定義部
２３        ロードモジュール記憶部
２４        起動ロードモジュール定義変更部
３１        ロードモジュール数
３２        ロードモジュール格納アドレス
３３        ロードモジュール格納サイズ
４１        起動ロードモジュール数
４２        ロードモジュール識別情報
５１        ロードモジュール識別情報
５２        ロードモジュールロードアドレス
５３        ロードモジュール起動アドレス
５４        ロードモジュールサイズ
５５        ロードモジュールチェックサム値
５６        プログラムコード
【図１】
2006079282.tif 000003
【図２】
2006079282.tif 000004
【図３】
2006079282.tif 000005
【図４】
2006079282.tif 000006
【図５】
2006079282.tif 000007
【図６】
2006079282.tif 000008