(57)【要約】【課題】組み込み機器でそのソフトウェアを更新するに際し、更新するソフトウェアを実行ファイルの形式で入手し、実行ファイルを最適化して展開するための定義ファイルを併せ入手することにより、実行可能形式に展開されるプログラムの性能を保証する。【解決手段】更新対象となるソフトウェアプログラムの実行ファイルおよび定義ファイルを入力するデータ入力装置と、一時記憶装置と不揮発メモリ装置とキー入力装置と制御装置と、を備えた組み込み機器において、前記実行ファイルを、前記定義ファイルのプログラム最適化情報に従って効率的に動作可能となるような実行可能形式プログラムに展開し前記一時記憶装置に記憶させるプログラム更新手段と、前記実行可能形式プログラムを、前記定義ファイルのメモリ最適化情報に従ってメモリ配置を調整し前記不揮発メモリ装置に記憶させる不揮発メモリ更新手段と、を備えた。【選択図】      図１
2005071222.tif 000002
【特許請求の範囲】
【請求項１】
更新対象となるソフトウェアプログラムの実行ファイルおよび定義ファイルを入力するデータ入力装置と、プログラムやデータを一時的に記憶・保管するための一時記憶装置と、実行形式のプログラムを記憶・保管するための不揮発メモリ装置と、外部からの制御指示データを入力するキー入力装置と、前記各装置の制御を行う制御装置と、を備えた組み込み機器において、
前記実行ファイルを、前記定義ファイルのプログラム最適化情報に従って効率的に動作可能となるような実行可能形式プログラムに展開し前記一時記憶装置に記憶させるプログラム更新手段と、前記実行可能形式プログラムを、前記定義ファイルのメモリ最適化情報に従ってメモリ配置を調整し前記不揮発メモリ装置に記憶させる不揮発メモリ更新手段と、を備えたことを特徴とする組み込み機器のソフトウェア更新方式。
【請求項２】
前記プログラム更新手段は、前記データ入力装置から前記定義ファイルを読み出して前記一時記憶装置に保存し、前記定義ファイルのプログラム動作可能機器情報を参照して前記更新対象となるソフトウェアプログラムの実行ファイルが自組み込み機器において実行可能かを確認し、前記データ入力装置から前記実行ファイルを読み出し、前記定義ファイルのプログラムエラーチェック情報を参照して前記実行ファイルの読み出しにエラーが無い事を確認し、前記定義ファイルのプログラム最適化情報に従って前記実行ファイルを効率的に動作可能となるような実行可能形式プログラムに展開し、前記実行可能形式プログラムを前記一時記憶装置に記憶させる、ことを特徴とする請求項１に記載の組み込み機器のソフトウェア更新方式。
【請求項３】
更新対象となるソフトウェアプログラムの実行ファイルおよび定義ファイルを入力するデータ入力装置と、プログラムやデータを一時的に記憶・保管するための一時記憶装置と、実行形式のプログラムを記憶・保管するための不揮発メモリ装置と、外部からの制御指示データを入力するキー入力装置と、前記各装置の制御を行う制御装置と、を備えた組み込み機器において、
前記実行ファイルを、前記定義ファイルのプログラム最適化情報に従って効率的に動作可能となるような実行可能形式プログラムに展開し、前記実行可能形式プログラムを、前記定義ファイルのメモリ最適化情報に従ってメモリ配置を調整し前記不揮発メモリ装置に記憶させるプログラム更新手段、を備えたことを特徴とする組み込み機器のソフトウェア更新方式。
【請求項４】
前記プログラム更新手段は、前記データ入力装置から前記定義ファイルを読み出して前記一時記憶装置に保存し、前記定義ファイルのプログラム動作可能機器情報を参照して前記更新対象となるソフトウェアプログラムの実行ファイルが自組み込み機器において実行可能かを確認し、前記データ入力装置から前記実行ファイルを読み出し、前記定義ファイルのプログラムエラーチェック情報を参照して前記実行ファイルの読み出しにエラーが無い事を確認し、前記定義ファイルのプログラム最適化情報に従って前記実行ファイルを効率的に動作可能となるような実行可能形式プログラムに展開し、前記実行可能形式プログラムを、前記定義ファイルのメモリ最適化情報に従ってメモリ配置を調整し前記不揮発メモリ装置に記憶させる、ことを特徴とする請求項３に記載の組み込み機器のソフトウェア更新方式。
【請求項５】
更新対象となるソフトウェアプログラムの実行ファイルおよび定義ファイルを入力するデータ入力装置と、プログラムやデータを一時的に記憶・保管するための一時記憶装置と、実行形式のプログラムを記憶・保管するための不揮発メモリ装置と、外部からの制御指示データを入力するキー入力装置と、前記各装置の制御を行う制御装置と、を備えた組み込み機器において、
前記実行ファイルを、前記定義ファイルのプログラム最適化情報に従って効率的に動作可能となるような実行可能形式プログラムに展開し前記一時記憶装置に記憶させるプログラム更新ステップと、前記実行可能形式プログラムを、前記定義ファイルのメモリ最適化情報に従ってメモリ配置を調整し前記不揮発メモリ装置に記憶させる不揮発メモリ更新ステップと、を実行することを特徴とする組み込み機器のソフトウェア更新方法。
【請求項６】
前記プログラム更新ステップにおいては、前記データ入力装置から前記定義ファイルを読み出して前記一時記憶装置に保存するステップと、前記定義ファイルのプログラム動作可能機器情報を参照して前記更新対象となるソフトウェアプログラムの実行ファイルが自組み込み機器において実行可能かを確認するステップと、前記データ入力装置から前記実行ファイルを読み出すステップと、前記定義ファイルのプログラムエラーチェック情報を参照して前記実行ファイルの読み出しにエラーが無い事を確認するステップと、前記定義ファイルのプログラム最適化情報に従って前記実行ファイルを効率的に動作可能となるような実行可能形式プログラムに展開するステップと、前記実行可能形式プログラムを前記一時記憶装置に記憶させるステップと、を実行することを特徴とする請求項５に記載の組み込み機器のソフトウェア更新方法。
【請求項７】
更新対象となるソフトウェアプログラムの実行ファイルおよび定義ファイルを入力するデータ入力装置と、プログラムやデータを一時的に記憶・保管するための一時記憶装置と、実行形式のプログラムを記憶・保管するための不揮発メモリ装置と、外部からの制御指示データを入力するキー入力装置と、前記各装置の制御を行う制御装置と、を備えた組み込み機器において、
前記実行ファイルを、前記定義ファイルのプログラム最適化情報に従って効率的に動作可能となるような実行可能形式プログラムに展開し、前記実行可能形式プログラムを、前記定義ファイルのメモリ最適化情報に従ってメモリ配置を調整し前記不揮発メモリ装置に記憶させるプログラム更新ステップを実行する、ことを特徴とする組み込み機器のソフトウェア更新方法。
【請求項８】
前記プログラム更新ステップにおいては、前記データ入力装置から前記定義ファイルを読み出して前記一時記憶装置に保存するステップと、前記定義ファイルのプログラム動作可能機器情報を参照して前記更新対象となるソフトウェアプログラムの実行ファイルが自組み込み機器において実行可能かを確認するステップと、前記データ入力装置から前記実行ファイルを読み出すステップと、前記定義ファイルのプログラムエラーチェック情報を参照して前記実行ファイルの読み出しにエラーが無い事を確認するステップと、前記定義ファイルのプログラム最適化情報に従って前記実行ファイルを効率的に動作可能となるような実行可能形式プログラムに展開するステップと、前記実行可能形式プログラムを、前記定義ファイルのメモリ最適化情報に従ってメモリ配置を調整し前記不揮発メモリ装置に記憶させるステップと、を実行することを特徴とする請求項７に記載の組み込み機器のソフトウェア更新方法。
【請求項９】
更新対象となるソフトウェアプログラムの実行ファイルおよび定義ファイルを入力するデータ入力装置と、プログラムやデータを一時的に記憶・保管するための一時記憶装置と、実行形式のプログラムを記憶・保管するための不揮発メモリ装置と、外部からの制御指示データを入力するキー入力装置と、前記各装置の制御を行う制御装置と、を備えた組み込み機器のコンピュータに、
前記実行ファイルを、前記定義ファイルのプログラム最適化情報に従って効率的に動作可能となるような実行可能形式プログラムに展開し前記一時記憶装置に記憶させるプログラム更新処理と、前記実行可能形式プログラムを、前記定義ファイルのメモリ最適化情報に従ってメモリ配置を調整し前記不揮発メモリ装置に記憶させる不揮発メモリ更新処理と、を実行させることを特徴とするプログラム。
【請求項１０】
前記プログラム更新処理においては、前記データ入力装置から前記定義ファイルを読み出して前記一時記憶装置に保存する処理と、前記定義ファイルのプログラム動作可能機器情報を参照して前記更新対象となるソフトウェアプログラムの実行ファイルが自組み込み機器において実行可能かを確認する処理と、前記データ入力装置から前記実行ファイルを読み出す処理と、前記定義ファイルのプログラムエラーチェック情報を参照して前記実行ファイルの読み出しにエラーが無い事を確認する処理と、前記定義ファイルのプログラム最適化情報に従って前記実行ファイルを効率的に動作可能となるような実行可能形式プログラムに展開する処理と、前記実行可能形式プログラムを前記一時記憶装置に記憶させる処理と、を実行させることを特徴とする請求項９に記載のプログラム。
【請求項１１】
更新対象となるソフトウェアプログラムの実行ファイルおよび定義ファイルを入力するデータ入力装置と、プログラムやデータを一時的に記憶・保管するための一時記憶装置と、実行形式のプログラムを記憶・保管するための不揮発メモリ装置と、外部からの制御指示データを入力するキー入力装置と、前記各装置の制御を行う制御装置と、を備えた組み込み機器のコンピュータに、
前記実行ファイルを、前記定義ファイルのプログラム最適化情報に従って効率的に動作可能となるような実行可能形式プログラムに展開し、前記実行可能形式プログラムを、前記定義ファイルのメモリ最適化情報に従ってメモリ配置を調整し前記不揮発メモリ装置に記憶させるプログラム更新処理を実行させる、ことを特徴とするプログラム。
【請求項１２】
前記プログラム更新処理においては、前記データ入力装置から前記定義ファイルを読み出して前記一時記憶装置に保存する処理と、前記定義ファイルのプログラム動作可能機器情報を参照して前記更新対象となるソフトウェアプログラムの実行ファイルが自組み込み機器において実行可能かを確認する処理と、前記データ入力装置から前記実行ファイルを読み出す処理と、前記定義ファイルのプログラムエラーチェック情報を参照して前記実行ファイルの読み出しにエラーが無い事を確認する処理と、前記定義ファイルのプログラム最適化情報に従って前記実行ファイルを効率的に動作可能となるような実行可能形式プログラムに展開する処理と、前記実行可能形式プログラムを、前記定義ファイルのメモリ最適化情報に従ってメモリ配置を調整し前記不揮発メモリ装置に記憶させる処理と、を実行させることを特徴とする請求項１１に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は組み込み機器のソフトウェア更新方式及びその方法並びにプログラムに関し、特に、組み込み機器で更新するソフトウェアを実行ファイルとして入手すると共に、更新するソフトウェアを実行可能形式に展開する際に最適化可能な定義ファイルを併せ入手することにより、常に一定以上の性能を保証することを可能とする、組み込み機器のソフトウェア更新方式及びその方法並びにプログラムに関する。
【背景技術】
【０００２】
近年、デジタルカメラや複写機などのデジタル家電製品をはじめ、ファクシミリ装置や携帯電話などの通信機器、或いは、人工衛星にいたるまで、さまざまな装置に組み込み型のコンピュータが内蔵されるようになってきており、これらの組み込み機器には膨大なソフトウェアが搭載されるようになってきている。そして、これらのソフトウェアにバージョンアップや不具合の修正などの必要性が生じた場合には、メーカー側が機器を回収する、或いは、外部機器からダウンロードする、などの方法により、ソフトウェアの更新が行われるようになっている。
【０００３】
ソフトウェアの更新にあたっては、効率化や高速化など様々な観点からの更新手法が提案されているが、一例として、更新機器のメモリ利用効率を重視した更新手法を採用しているものがある（例えば、特許文献１参照。）。
【０００４】
上述した特許文献１に記載の「リモートプログラムダウンロード装置」においては、フラッシュＲＯＭなどの不揮発性メモリに、プログラムを実行可能な形式で格納するプログラム格納手段と、デジタル伝送路を介して送信側システムの送信器から送信されるデータパケットを受信するデータ受信手段と、このデータパケットを解釈し、指定されたプログラム種別を持ったプログラムの配置アドレス情報やサイズ情報などのプログラム管理情報と、プログラム本体を、ワークメモリに読み込むプログラム取得手段と、その他必要となる手段を備えたリモートプログラムダウンロード装置において、最初に送信側システムから送信されたダウンロード処理プログラムを不揮発性メモリにダウンロードし、次にこのダウンロード処理プログラムを不揮発性メモリ上のダウンロード処理プログラム領域に転送し、最後にこのダウンロード処理プログラムを利用してダウンロード処理以外のプログラムを送信側システムからダウンロードする、という方法を採用している。これにより、余分なダウンロード処理領域を必要としないリモートプログラムダウンロード装置を提供するものとしている。
【０００５】
また、別の観点からの更新手法の一例として、オンライン状態で、システムプログラムの構成要素である各ロードモジュールを、機能別に書き換えることを可能としているものもある（例えば、特許文献２参照。）。
【０００６】
上述した特許文献２に記載の「入出力データ管理方式」では、複数のロードモジュールを格納する補助記憶装置と、該補助記憶装置に格納されているロードモジュールが読み込まれ展開される主記憶装置と、補助記憶装置と主記憶装置間の入出力制御を行う制御装置とを備えた入出力データ管理方式において、補助記憶装置としてフラッシュメモリを用い、該フラッシュメモリにロードモジュールのアドレス等のリスト（マップ情報）と動的にロードモジュールの格納アドレスを検出する主ロードモジュールとを格納し、制御装置に、該マップ情報を参照して入出力データの管理を行う手段を備えさせるようにしている。
【０００７】
【特許文献１】特開２０００−４７８７７号公報（第５−８頁、図１−３）
【０００８】
【特許文献２】特開平９−２８２１６９号公報（第３−４頁、図１−３）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上述した従来のソフトウェアの更新方式においては、通常、更新対象となるソフトウェアは、フラッシュＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ：ロム）などの不揮発メモリに、実行可能な形式で格納されるようになっている。そして、ソフトウェアを更新するユーザは、更新対象となる不揮発メモリ全体または部分の更新データを入手し、不揮発メモリ更新プログラムを用いて、不揮発メモリ全体または部分のプログラムデータを書き換えるようになっている。しかし、この従来技術では、次のような問題点を有している。
【００１０】
第一に、更新対象となるソフトウェアプログラムを、予め、不揮発メモリ上で実行可能な形式の展開イメージデータとして作成しておくことが必要となることである。
【００１１】
第二に、不揮発メモリの展開イメージを提供するものであるため、更新対象となるプログラムの一部分や、プログラムライブラリだけを更新する場合には、不向きである、ということである。
【００１２】
第三に、実行可能な形式の展開イメージデータは、そのデータサイズが大きくなりがちであるため、ダウンロード等に要する通信等のコストがかかることである。これを避けるためにデータの圧縮を行うとすれば、ダウンロードデータを受信する組み込み機器側に、特別な解凍プログラムが必要となってしまうものとなる。
【００１３】
また、上述した特許文献２に記載の更新方式においては、ソフトウェアを更新するユーザは、更新対象となるプログラムをロードモジュールといった形式の実行形式ファイルとして入手し、不揮発メモリに保存する。そして、この実行形式ファイルを、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ：オペレーティングシステム）などが必要に応じて主記憶装置へ展開し、実行するようになっている。しかし、この従来技術では、次のような問題点を有している。
【００１４】
第一に、アプリケーションプログラムの起動が遅くなることである。その理由は、アプリケーションプログラムを起動する時に、プログラムを実行可能な形式に展開するためである。
【００１５】
第二に、アプリケーションプログラムが利用できる主記憶装置領域が減少することである。その理由は、アプリケーションプログラムの動作中は主記憶装置上に、展開したプログラムを保持する必要があるためである。
【００１６】
第三に、主記憶装置上でプログラムやデータを保持するために、消費電力が増大することである。その理由は、主記憶装置などの一時記憶装置は、情報を保持するために電力を消費するためである。
【００１７】
第四に、アプリケーションプログラムの動作が遅くなる場合があることである。その理由は、主記憶装置などの一時記憶装置へプログラムを展開した結果、必ずしもＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置）にとって都合が良くないメモリ配置となることがあるためである。例えば、ＣＰＵのキャッシュメモリにうまくヒットしない、ということが起こりうるものとなっている。
【００１８】
本発明は上述した事情を改善するために成されたものであり、従って本発明の目的は、組み込み機器でそのソフトウェアを更新するに際し、更新するソフトウェアを実行ファイルの形式で入手すると共に、実行ファイルを実行可能形式に展開する上で最適化可能な定義ファイルを併せ入手することにより、実行可能形式に展開されたプログラムが常に一定以上の性能を保証することを可能とする、組み込み機器のソフトウェア更新方式及びその方法並びにプログラムを提供することにある。
【課題を解決するための手段】
【００１９】
本発明の組み込み機器のソフトウェア更新方式は、更新対象となるソフトウェアプログラムの実行ファイルおよび定義ファイルを入力するデータ入力装置と、プログラムやデータを一時的に記憶・保管するための一時記憶装置と、実行形式のプログラムを記憶・保管するための不揮発メモリ装置と、外部からの制御指示データを入力するキー入力装置と、前記各装置の制御を行う制御装置と、を備えた組み込み機器において、
前記実行ファイルを、前記定義ファイルのプログラム最適化情報に従って効率的に動作可能となるような実行可能形式プログラムに展開し前記一時記憶装置に記憶させるプログラム更新手段と、前記実行可能形式プログラムを、前記定義ファイルのメモリ最適化情報に従ってメモリ配置を調整し前記不揮発メモリ装置に記憶させる不揮発メモリ更新手段と、を備えたことを特徴とする。
【００２０】
また、前記プログラム更新手段は、前記データ入力装置から前記定義ファイルを読み出して前記一時記憶装置に保存し、前記定義ファイルのプログラム動作可能機器情報を参照して前記更新対象となるソフトウェアプログラムの実行ファイルが自組み込み機器において実行可能かを確認し、前記データ入力装置から前記実行ファイルを読み出し、前記定義ファイルのプログラムエラーチェック情報を参照して前記実行ファイルの読み出しにエラーが無い事を確認し、前記定義ファイルのプログラム最適化情報に従って前記実行ファイルを効率的に動作可能となるような実行可能形式プログラムに展開し、前記実行可能形式プログラムを前記一時記憶装置に記憶させる、ことを特徴とする。
【００２１】
さらに、更新対象となるソフトウェアプログラムの実行ファイルおよび定義ファイルを入力するデータ入力装置と、プログラムやデータを一時的に記憶・保管するための一時記憶装置と、実行形式のプログラムを記憶・保管するための不揮発メモリ装置と、外部からの制御指示データを入力するキー入力装置と、前記各装置の制御を行う制御装置と、を備えた組み込み機器において、
前記実行ファイルを、前記定義ファイルのプログラム最適化情報に従って効率的に動作可能となるような実行可能形式プログラムに展開し、前記実行可能形式プログラムを、前記定義ファイルのメモリ最適化情報に従ってメモリ配置を調整し前記不揮発メモリ装置に記憶させるプログラム更新手段、を備えたことを特徴とする。
【００２２】
また、前記プログラム更新手段は、前記データ入力装置から前記定義ファイルを読み出して前記一時記憶装置に保存し、前記定義ファイルのプログラム動作可能機器情報を参照して前記更新対象となるソフトウェアプログラムの実行ファイルが自組み込み機器において実行可能かを確認し、前記データ入力装置から前記実行ファイルを読み出し、前記定義ファイルのプログラムエラーチェック情報を参照して前記実行ファイルの読み出しにエラーが無い事を確認し、前記定義ファイルのプログラム最適化情報に従って前記実行ファイルを効率的に動作可能となるような実行可能形式プログラムに展開し、前記実行可能形式プログラムを、前記定義ファイルのメモリ最適化情報に従ってメモリ配置を調整し前記不揮発メモリ装置に記憶させる、ことを特徴とする。
【００２３】
本発明の組み込み機器のソフトウェア更新方法は、更新対象となるソフトウェアプログラムの実行ファイルおよび定義ファイルを入力するデータ入力装置と、プログラムやデータを一時的に記憶・保管するための一時記憶装置と、実行形式のプログラムを記憶・保管するための不揮発メモリ装置と、外部からの制御指示データを入力するキー入力装置と、前記各装置の制御を行う制御装置と、を備えた組み込み機器において、
前記実行ファイルを、前記定義ファイルのプログラム最適化情報に従って効率的に動作可能となるような実行可能形式プログラムに展開し前記一時記憶装置に記憶させるプログラム更新ステップと、前記実行可能形式プログラムを、前記定義ファイルのメモリ最適化情報に従ってメモリ配置を調整し前記不揮発メモリ装置に記憶させる不揮発メモリ更新ステップと、を実行することを特徴とする。
【００２４】
また、前記プログラム更新ステップにおいては、前記データ入力装置から前記定義ファイルを読み出して前記一時記憶装置に保存するステップと、前記定義ファイルのプログラム動作可能機器情報を参照して前記更新対象となるソフトウェアプログラムの実行ファイルが自組み込み機器において実行可能かを確認するステップと、前記データ入力装置から前記実行ファイルを読み出すステップと、前記定義ファイルのプログラムエラーチェック情報を参照して前記実行ファイルの読み出しにエラーが無い事を確認するステップと、前記定義ファイルのプログラム最適化情報に従って前記実行ファイルを効率的に動作可能となるような実行可能形式プログラムに展開するステップと、前記実行可能形式プログラムを前記一時記憶装置に記憶させるステップと、を実行することを特徴とする。
【００２５】
さらに、更新対象となるソフトウェアプログラムの実行ファイルおよび定義ファイルを入力するデータ入力装置と、プログラムやデータを一時的に記憶・保管するための一時記憶装置と、実行形式のプログラムを記憶・保管するための不揮発メモリ装置と、外部からの制御指示データを入力するキー入力装置と、前記各装置の制御を行う制御装置と、を備えた組み込み機器において、
前記実行ファイルを、前記定義ファイルのプログラム最適化情報に従って効率的に動作可能となるような実行可能形式プログラムに展開し、前記実行可能形式プログラムを、前記定義ファイルのメモリ最適化情報に従ってメモリ配置を調整し前記不揮発メモリ装置に記憶させるプログラム更新ステップを実行する、ことを特徴とする。
【００２６】
また、前記プログラム更新ステップにおいては、前記データ入力装置から前記定義ファイルを読み出して前記一時記憶装置に保存するステップと、前記定義ファイルのプログラム動作可能機器情報を参照して前記更新対象となるソフトウェアプログラムの実行ファイルが自組み込み機器において実行可能かを確認するステップと、前記データ入力装置から前記実行ファイルを読み出すステップと、前記定義ファイルのプログラムエラーチェック情報を参照して前記実行ファイルの読み出しにエラーが無い事を確認するステップと、前記定義ファイルのプログラム最適化情報に従って前記実行ファイルを効率的に動作可能となるような実行可能形式プログラムに展開するステップと、前記実行可能形式プログラムを、前記定義ファイルのメモリ最適化情報に従ってメモリ配置を調整し前記不揮発メモリ装置に記憶させるステップと、を実行することを特徴とする。
【００２７】
本発明のプログラムは、更新対象となるソフトウェアプログラムの実行ファイルおよび定義ファイルを入力するデータ入力装置と、プログラムやデータを一時的に記憶・保管するための一時記憶装置と、実行形式のプログラムを記憶・保管するための不揮発メモリ装置と、外部からの制御指示データを入力するキー入力装置と、前記各装置の制御を行う制御装置と、を備えた組み込み機器のコンピュータに、
前記実行ファイルを、前記定義ファイルのプログラム最適化情報に従って効率的に動作可能となるような実行可能形式プログラムに展開し前記一時記憶装置に記憶させるプログラム更新処理と、前記実行可能形式プログラムを、前記定義ファイルのメモリ最適化情報に従ってメモリ配置を調整し前記不揮発メモリ装置に記憶させる不揮発メモリ更新処理と、を実行させることを特徴とする。
【００２８】
また、前記プログラム更新処理においては、前記データ入力装置から前記定義ファイルを読み出して前記一時記憶装置に保存する処理と、前記定義ファイルのプログラム動作可能機器情報を参照して前記更新対象となるソフトウェアプログラムの実行ファイルが自組み込み機器において実行可能かを確認する処理と、前記データ入力装置から前記実行ファイルを読み出す処理と、前記定義ファイルのプログラムエラーチェック情報を参照して前記実行ファイルの読み出しにエラーが無い事を確認する処理と、前記定義ファイルのプログラム最適化情報に従って前記実行ファイルを効率的に動作可能となるような実行可能形式プログラムに展開する処理と、前記実行可能形式プログラムを前記一時記憶装置に記憶させる処理と、を実行させることを特徴とする。
【００２９】
さらに、更新対象となるソフトウェアプログラムの実行ファイルおよび定義ファイルを入力するデータ入力装置と、プログラムやデータを一時的に記憶・保管するための一時記憶装置と、実行形式のプログラムを記憶・保管するための不揮発メモリ装置と、外部からの制御指示データを入力するキー入力装置と、前記各装置の制御を行う制御装置と、を備えた組み込み機器のコンピュータに、
前記実行ファイルを、前記定義ファイルのプログラム最適化情報に従って効率的に動作可能となるような実行可能形式プログラムに展開し、前記実行可能形式プログラムを、前記定義ファイルのメモリ最適化情報に従ってメモリ配置を調整し前記不揮発メモリ装置に記憶させるプログラム更新処理を実行させる、ことを特徴とする。
【００３０】
また、前記プログラム更新処理においては、前記データ入力装置から前記定義ファイルを読み出して前記一時記憶装置に保存する処理と、前記定義ファイルのプログラム動作可能機器情報を参照して前記更新対象となるソフトウェアプログラムの実行ファイルが自組み込み機器において実行可能かを確認する処理と、前記データ入力装置から前記実行ファイルを読み出す処理と、前記定義ファイルのプログラムエラーチェック情報を参照して前記実行ファイルの読み出しにエラーが無い事を確認する処理と、前記定義ファイルのプログラム最適化情報に従って前記実行ファイルを効率的に動作可能となるような実行可能形式プログラムに展開する処理と、前記実行可能形式プログラムを、前記定義ファイルのメモリ最適化情報に従ってメモリ配置を調整し前記不揮発メモリ装置に記憶させる処理と、を実行させることを特徴とする。
【発明の効果】
【００３１】
本発明の組み込み機器のソフトウェア更新方式及びその方法並びにプログラムは、組み込み機器でそのソフトウェアを更新するに際し、更新するソフトウェアを実行ファイルの形式で入手すると共に、実行ファイルを実行可能形式に展開する上で最適化可能な定義ファイルを併せ入手することにより、定義ファイルに従って実行ファイルを実行可能な形式のプログラムに展開しているため、実行可能形式に展開されたプログラムは、効率的に実行されるようなプログラムになると共に、最適なメモリ位置に配置され、常に一定以上の性能を保証することが可能となる、という効果を有している。
【発明を実施するための最良の形態】
【００３２】
次に、本発明の実施の形態について図面を参照して説明する。
【００３３】
図１は、本発明の組み込み機器のソフトウェア更新方式の一実施形態を示すブロック図である。
【００３４】
図１に示す本実施の形態において、組み込み機器１００は、プログラム制御により動作するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置）１０１を備える制御部１２０と、組み込み機器１００のユーザからの入力を受け付けるキー入力装置１０２と、プログラムやデータを一時的に記憶・保管するためのＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：ランダムアクセスメモリ）などで構成される一時記憶装置１０３と、実行形式のプログラムを記憶・保管するためのフラッシュＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ：ロム）などで構成される不揮発メモリ１０４と、更新対象となるソフトウェアプログラムの実行ファイルおよび定義ファイルを入力するデータ入力装置１１０と、から構成されている。
【００３５】
ここで、実行ファイル及び定義ファイルについて詳述しておく。
【００３６】
実行ファイルは、更新対象となるソフトウェアプログラムを機械語で記述したものであり、この機械語プログラムを編集ソフト（本実施形態においては、「プログラム更新プログラム」と称するものとする。）によって編集することにより、組み込み機器１００で実行可能な形式のプログラムに展開可能な形式で記述されたファイルである。実行ファイルは、例えば、Ｗｉｎｄｏｗｓ（登録商標）で実行できるエグゼファイル（ＥＸＥファイル）のような形式のファイルであり、エグゼファイルの先頭には、ファイル内のデータのサイズ、スタック位置、実行開始アドレス、リロケータブル項目、などの情報がＥＸＥヘッダとして置かれている。
【００３７】
定義ファイルは、実行ファイルを組み込み機器１００で実行可能な形式のプログラムに展開する際の展開方法を定めたファイルであり、図２に示すように、実行可能な形式のプログラムが動作可能な機器（例えば、組み込み機器１００の型番、ＣＰＵ種別、メモリ容量、など）を定義するプログラム動作可能機器情報２０１と、実行ファイルの読み出しが正しく行われているかを確認するための情報（例えば、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ：巡回冗長検査）コード、など）を保持するプログラムエラーチェック情報２０２と、実行可能な形式のプログラムをＣＰＵ１０１が効率的に処理できるよう展開するための情報（例えば、実行速度を重視して展開する、メモリ使用効率を重視して展開する、など）を保持するプログラム最適化情報２０３と、実行可能な形式のプログラムを不揮発メモリ１０４に格納する際に最適な位置に格納・保存するための情報（例えば、ＣＰＵ１０１のキャッシュメモリにヒットする位置、不揮発メモリ１０４のメモリブロックの開始位置に一致する位置、など）を保持するメモリ最適化情報２０４と、から構成されている。
【００３８】
図１に戻り、データ入力装置１１０は、具体的には例えば、通信網を用いて実行ファイル及び定義ファイルを取得する通信装置、或いは、実行ファイル及び定義ファイルの書き込まれた取り外し可能メモリ、などにより構成される装置である。
【００３９】
不揮発メモリ１０４には、予め、次のプログラムが書き込まれている。
（１）実行ファイルを実行可能な形式のプログラムに展開するための「プログラム更新プログラム」
（２）不揮発メモリ１０４を書き換えるための「不揮発メモリ更新プログラム」
（３）組み込み機器１００のＣＰＵ１０１が、組み込み機器１００として必要な動作を行うためのＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ：オペレーティングシステム）及びアプリケーションプログラム、など。
【００４０】
図１に示す組み込み機器１００は、概略次のように動作する。
【００４１】
データ入力装置１１０は、更新対象となるソフトウェアプログラムの実行ファイル及びその展開方法を定めた定義ファイルを制御部１２０へ入力する。制御部１２０のＣＰＵ１０１は、不揮発メモリ１０４に格納されている「プログラム更新プログラム」によって制御され、実行ファイルを定義ファイルに従って展開し、一時記憶装置１０３上に「展開済みプログラム」（実行可能な形式のプログラム）を作成する。
【００４２】
その後、組み込み機器１００が再起動された際に、不揮発メモリ１０４に格納されている「不揮発メモリ更新プログラム」によって、一時記憶装置１０３上の「展開済みプログラム」を不揮発メモリ１０４上に保存する。そして、不揮発メモリ１０４に格納されているＯＳは、この不揮発メモリ１０４に保存された「展開済みプログラム」を動作させることにより、組み込み機器１００としての必要な動作を行うようになる。
【００４３】
なお、本実施形態は組み込み機器１００を対象としているものであるため、その組み込み機器１００のプログラムコードが保存された不揮発メモリ１０４の状態（格納されているプログラムコード、メモリ配置）は、組み込み機器１００を使用する各ユーザで同一である。よって、ユーザ毎に不揮発メモリ１０４の情報を確認する、といった手順は不要であり、従って、定義ファイルをユーザごとに変更する必要はない。
【００４４】
次に、図３、図４のフローチャートを参照して本実施形態の全体の動作について詳細に説明する。
【００４５】
図３は、プログラム更新プログラムの処理動作を説明するフローチャートである。
【００４６】
まず、組み込み機器１００のユーザは、キー入力装置１０２から制御指示データを入力して、不揮発メモリ１０４に格納されているプログラム更新プログラムを起動する（図３のステップＳ３００）。
【００４７】
ユーザによって起動されたプログラム更新プログラムは、データ入力装置１１０から定義ファイルを読み出し、この定義ファイルを一時記憶装置１０３に保存する（ステップＳ３０１）。
【００４８】
そして、定義ファイルのプログラム動作可能機器情報２０１を確認し（ステップＳ３０２）、自組み込み機器１００が動作対象外であった場合には（ステップＳ３０２で動作不能）、処理を終了する（ステップＳ３０７に進む）。
【００４９】
動作対象であった場合には（ステップＳ３０２で動作可能）、データ入力装置１１０から更新対象となるソフトウェアプログラムの実行ファイルを読み出す（ステップＳ３０３）。そして、読み出した実行ファイルに対して、定義ファイルのプログラムエラーチェック情報２０２を適用し、実行ファイルが正常に読み出されたか否かを確認する（ステップＳ３０４）。実行ファイルの読み出しに異常があった場合には（ステップＳ３０４でエラー発生）、処理を終了する（ステップＳ３０７に進む）。
【００５０】
実行ファイルが正常に読み出された場合には（ステップＳ３０４でエラーなし）、続いて実行ファイルをＯＳが実行可能な形式に展開する。このとき定義ファイルのプログラム最適化情報２０３に従い、不揮発メモリ１０４へ書き込み後にこの実行可能な形式のプログラムが実行される際に、ＣＰＵ１０１が効率的に実行可能となるように展開する（ステップＳ３０５）。続いて、展開した実行可能な形式のプログラムを一時記憶装置１０３へ保存し（ステップＳ３０６）、処理を終了する（ステップＳ３０７）。
【００５１】
ここで、キー入力装置１０２から制御指示データを入力して組み込み機器１００を再起動する。再起動後、ＯＳが起動する前に不揮発メモリ更新プログラムを起動し（図４のステップＳ４００）、不揮発メモリ１０４を更新する。
【００５２】
図４は、不揮発メモリ更新プログラムの処理動作を説明するフローチャートである。
【００５３】
まず、一時記憶装置１０３から、展開済みプログラム（図３のステップＳ３０５で展開した実行可能な形式のプログラム）および定義ファイルを読み出し（ステップＳ４０１）、定義ファイルのメモリ最適化情報２０４に従いメモリ配置を調整して、不揮発メモリ１０４へ展開済みプログラムを書き込む（ステップＳ４０２）。そして、不揮発メモリ更新プログラムの処理を終了する（ステップＳ４０３）。
【００５４】
その後、ＯＳが起動すると、ＯＳは不揮発メモリ１０４上の展開済みプログラムへアクセスするようになり、更新対象となっていたソフトウェアプログラムが組み込み機器１００で更新されたものとなる。このとき、展開済みプログラムはすでに効率的に実行されるような実行形式に展開されているため、プログラム起動にかかる処理遅延や、ＣＰＵ１０１のキャッシュにヒットしない、といった問題が改善される。
【００５５】
以上説明したように、本実施形態の組み込み機器のソフトウェア更新方式は、以下に示す効果を奏するものとなる。
【００５６】
第一の効果は、実行形式に展開する以前の実行ファイルを更新用のデータとして入力するものであるため、例えば、データ入力装置が通信によって更新用のデータを入力する場合、ユーザにとっては不揮発メモリの展開イメージを入手するのに比べ、通信時間や通信費用を抑えることが可能となることにある。
【００５７】
第二の効果は、例えば、更新対象となるソフトウェアプログラムの一部やライブラリ等、モジュール単位の更新が容易に可能な点である。その理由は、実行形式に展開する以前の実行ファイルは、ＯＳが読み込み可能に作成されており、これをそのまま更新用のデータとして提供可能なためである。
【００５８】
第三の効果は、予め効率的に実行できるような実行形式に展開したプログラムを不揮発メモリに保存するため、実行ファイルをそのまま不揮発メモリに保存する場合に比べて、プログラムの読み込み速度が高速化されると共にＣＰＵへのミスキャッシュなどが低減され、性能に影響を与えないことである。
【００５９】
第四の効果は、不揮発メモリ上に実行可能な形式に展開した展開済みプログラムを保存し直接実行可能であるため、一時記憶装置の電力消費を抑えることが可能であることにある。
【００６０】
第五の効果は、定義ファイルを提供することによって、プログラム更新プログラムや不揮発メモリ更新プログラムが、最適に実行するために展開方法やメモリ位置を決定する、といった処理を行うことが不要になることにある。
【００６１】
次に、図５を参照して、本発明の組み込み機器のソフトウェア更新方式の第２の実施形態について説明する。
【００６２】
本発明の第２の実施形態は、第１の実施形態で用いていた不揮発メモリ更新プログラムは使用せず、プログラム更新プログラムが、展開済みプログラムを定義ファイルのメモリ最適化情報２０４に従って直接不揮発メモリ１０４に保存する方式である。従って、図５において図３に示す構成要素に対応するものは同一の参照数字または符号を付し、その説明を省略するものとする。
【００６３】
図５は、第２の実施形態におけるプログラム更新プログラムの処理動作を説明するフローチャートである。
【００６４】
図５において、プログラム更新プログラムが起動されてから（図５のステップＳ３００）、更新対象となるソフトウェアプログラムの実行ファイルを、実行可能な形式のプログラムに展開する（図５のステップＳ３０５）までの処理動作は、第１の実施形態と同一であるため、詳細説明を省略するものとする。
【００６５】
第２の実施形態におけるプログラム更新プログラムは、図５のステップＳ３０５で展開した実行可能な形式のプログラム、すなわち、展開済みプログラムを、定義ファイルのメモリ最適化情報２０４に従いメモリ配置を調整して、不揮発メモリ１０４へ書き込み（図５のステップＳ３０６−１）、処理を終了する（図５のステップＳ３０７）。
【００６６】
その後、組み込み機器１００のＯＳが起動すると、ＯＳは不揮発メモリ１０４上の展開済みプログラムへアクセスするようになり、更新対象となっていたソフトウェアプログラムが組み込み機器１００で更新されたものとなる。
【００６７】
以上説明したように、本発明の第２の実施形態においては、プログラム更新プログラムのみの処理動作によって、不揮発メモリに格納される実行形式のプログラムを更新することが可能となる。また、第２の実施形態は、実行ファイルを実行可能な形式のプログラムに展開した後に、組み込み機器１００の再起動が不要な場合に好適な実施形態である。
【００６８】
次に、図６を参照して、本発明の組み込み機器のソフトウェア更新方式の第３の実施形態について説明する。
【００６９】
本発明の第３の実施形態は、第１の実施形態で用いていた不揮発メモリ更新プログラムが、展開済みプログラムは一時記憶装置１０３から読み出すが、定義ファイルはデータ入力装置１１０から読み出す方式である。従って、図６において図４に示す構成要素に対応するものは同一の参照数字または符号を付し、その説明を省略するものとする。
【００７０】
図６は、第３の実施形態における不揮発メモリ更新プログラムの処理動作を説明するフローチャートである。
【００７１】
図６において、不揮発メモリ更新プログラムが起動されると（図６のステップＳ４００）、一時記憶装置１０３から、展開済みプログラム（図３のステップＳ３０５で展開した実行可能な形式のプログラム）を読み出し、データ入力装置１１０から定義ファイルを読み出す（図６のステップＳ４０１−１）。そして、定義ファイルのメモリ最適化情報２０４に従いメモリ配置を調整して、不揮発メモリ１０４へ展開済みプログラムを書き込み（図６のステップＳ４０２）、不揮発メモリ更新プログラムの処理を終了する（図６のステップＳ４０３）。
【００７２】
その後、ＯＳが起動すると、ＯＳは不揮発メモリ１０４上の展開済みプログラムへアクセスするようになり、更新対象となっていたソフトウェアプログラムが組み込み機器１００で更新されたものとなる。
【００７３】
以上説明したように、本発明の第３の実施形態においては、不揮発メモリ更新プログラムが定義ファイルをデータ入力装置１１０から読み出すため、プログラム更新プログラムはあらかじめ一時記憶装置１０３に定義ファイルを保存する必要がない。
【図面の簡単な説明】
【００７４】
【図１】本発明の組み込み機器のソフトウェア更新方式の一実施形態を示すブロック図である。
【図２】定義ファイルの一例を示す図である。
【図３】プログラム更新プログラムの処理動作を説明するフローチャートである。
【図４】不揮発メモリ更新プログラムの処理動作を説明するフローチャートである。
【図５】第２の実施形態におけるプログラム更新プログラムの処理動作を説明するフローチャートである。
【図６】第３の実施形態における不揮発メモリ更新プログラムの処理動作を説明するフローチャートである。
【符号の説明】
【００７５】
１００    組み込み機器
１０１    ＣＰＵ
１０２    キー入力装置
１０３    一時記憶装置
１０４    不揮発メモリ
１１０    データ入力装置
１２０    制御部
【図１】
2005071222.tif 000003
【図２】
2005071222.tif 000004
【図３】
2005071222.tif 000005
【図４】
2005071222.tif 000006
【図５】
2005071222.tif 000007
【図６】
2005071222.tif 000008