(57)【要約】【課題】  プログラムダウンロード中に電源断等の異常事態が発生した場合でも、電源再投入時の動作を保証し再度プログラムダウンロードを正常に行うことができ、更に不測の事態によりボード交換等のハード交換が行われた場合にも、余分な作業を必要とすることなく正常にシステム制御できるプログラム書き換え装置を提供する。【解決手段】  ＣＰＵ１は、ホスト装置５からダウンロードしたプログラムをフラッシュＲＯＭ２に書き込むとともに、正常にプログラムのダウンロードおよび書き換えが終了した旨のデータをフラッシュＲＯＭ２へ書き込む。再電源投入時に、ＣＰＵ１は、正常にプログラムのダウンロードおよび書き換えが終了した旨のデータがフラッシュＲＯＭ２に書き込まれているか否かを判断し、書き込まれていない場合、プログラムの再ダウンロードを実行する。【選択図】  図１
2005063120.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してプログラムを送信するホスト装置と接続されるプログラム書き換え装置であって、
自装置に処理を実行させるためのプログラムを格納するプログラム格納手段と、
前記ホスト装置から前記自装置に処理を実行させるためのプログラムを受信するプログラム受信手段と、
前記プログラム格納手段に格納されているプログラムを、前記受信されたプログラムに書き換えるプログラム書換手段と、
前記プログラムの書き換えが正常に終了したことを示すデータを前記プログラム格納手段に書き込む書換結果書込手段と、
を有することを特徴とするプログラム書き換え装置。
【請求項２】
前記書換結果書込手段は、
前記プログラムの書き換えが正常に終了したことを確認すると、前記プログラムの書き換えが正常に終了したことを示すデータである書換結果フラグを前記プログラム格納手段に書き込むことを特徴とする請求項１記載のプログラム書き換え装置。
【請求項３】
前記プログラム書換手段は、
前記プログラムが受信されると、前記プログラム格納手段に格納されているプログラムの消去、および前記書き込まれている書換結果フラグの他の値への書き換えを実行した後に、前記受信されたプログラムを前記プログラム格納手段に書き込むことを特徴とする請求項２記載のプログラム書き換え装置。
【請求項４】
前記プログラム書換手段は、
前記プログラムが受信されると、前記プログラム格納手段に書き込まれている書換結果フラグを他の値に書き換えた後に、前記格納されているプログラムを消去することを特徴とする請求項３記載のプログラム書き換え装置。
【請求項５】
前記書換結果書込手段は、
前記受信されたプログラムに含まれる前記プログラムの書き換えが正常に終了したことを示すデータであるマークコードを、前記プログラム格納手段に書き込むことを特徴とする請求項１記載のプログラム書き換え装置。
【請求項６】
前記書換結果書込手段は、
前記マークコードを、前記プログラム格納手段における一定の固定アドレスで指定される格納領域に書き込むことを特徴とする請求項５記載のプログラム書き換え装置。
【請求項７】
前記書換結果書込手段は、
前記受信されたプログラムのうち、前記マークコード以外のプログラム部分を前記プログラム格納手段に書き込んだ後、前記マークコードを最後に前記プログラム格納手段に書き込むことを特徴とする請求項６記載のプログラム書き換え装置。
【請求項８】
前記プログラム格納手段は、
前記プログラム部分が書き込まれる領域とマークコードが書き込まれる領域との間に、空き領域が存在することを特徴とする請求項７記載のプログラム書き換え装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム書き換え装置に関し、特に、ダウンロードしたプログラムに書き換える際に、そのダウンロード処理が正常に行われたか否かを記録するプログラム書き換え装置に関する。
【背景技術】
【０００２】
従来、機器組み込みソフトのバージョンアップにおいて、フラッシュメモリを用いて外部から更新プログラムをダウンロードし、フラッシュメモリ内のプログラムを更新する手段が用いられていた。
【０００３】
しかし、プログラムの更新は旧プログラムのイレース後新プログラムを書き込むことで行われるため、プログラム更新途中で電源断等の異常事態が発生した場合、それ以降機械が正常に立ち上がらないことになってしまう不具合があった。
その回避策として、特許文献１が開示するところのデータ処理装置、及びプログラムダウンロード方法があった。特許文献１には、メモリ内をデータ領域とプログラム領域に区分けし、新プログラムの更新はデータ領域に行い旧プログラムを残す方式が記載されている。
【０００４】
また、特許文献２が開示するところのプログラムダウンロードシステム、プログラムダウンロード装置、画像形成装置、プログラムダウンロード方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータには、ダウンロードを行う書き換えを行わないブート領域と、装置の制御を行う制御プログラム領域に分け制御プログラム部分のみの更新を行い、更に更新中であることを不揮発メモリに記憶することで異常事態後の電源再投入を保証する方式が記載されている。
【特許文献１】特開２０００−２０７２１７号公報
【特許文献２】特開２００２−１７５１９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載されている方法では、データ領域が保証できなかったり、プログラム領域以上の容量が必要である等の不具合があった。
【０００６】
また、特許文献２では、実際に、ブート領域のプログラム更新を行わざるを得ないバージョンアップが発生することもあり、この時異常事態が発生した場合はブートプログラム自体が存在しないため、正常なフラッシュメモリに付け替えるかボード交換を行う等の対応をしていた。
さらに、更新中である旨を記憶する不揮発メモリは通常システムデータを記憶しているメモリが兼用されこのメモリは交換することができないため、既に新しいプログラムがフラッシュメモリ内に書かれている場合でも書き換え中フラグが残っているため再度ダウンロードが行われることになり、無駄な作業が発生することになる。最悪の場合ダウンロード中に再度異常事態が発生してしまうことも考えられる。
【０００７】
本発明は、上記問題点に鑑みてなされたものであり、プログラムダウンロード中に電源断等の異常事態が発生した場合でも、電源再投入時の動作を保証し再度プログラムダウンロードを正常に行うことができ、更に不測の事態によりボード交換等のハード交換が行われた場合にも、余分な作業を必要とすることなく正常にシステム制御できるプログラム書き換え装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
かかる目的を達成するため、本発明によれば、ネットワークを介してプログラムを送信するホスト装置と接続されるプログラム書き換え装置であって、自装置に処理を実行させるためのプログラムを格納するプログラム格納手段と、ホスト装置から自装置に処理を実行させるためのプログラムを受信するプログラム受信手段と、プログラム格納手段に格納されているプログラムを、受信されたプログラムに書き換えるプログラム書換手段と、プログラムの書き換えが正常に終了したことを示すデータをプログラム格納手段に書き込む書換結果書込手段と、を有することを特徴とする。
【０００９】
また、本発明によれば、書換結果書込手段は、プログラムの書き換えが正常に終了したことを確認すると、プログラムの書き換えが正常に終了したことを示すデータである書換結果フラグをプログラム格納手段に書き込むことを特徴とする。
【００１０】
また、本発明によれば、プログラム書換手段は、プログラムが受信されると、プログラム格納手段に格納されているプログラムの消去、および書き込まれている書換結果フラグの他の値への書き換えを実行した後に、受信されたプログラムをプログラム格納手段に書き込むことを特徴とする。
【００１１】
また、本発明によれば、プログラム書換手段は、プログラムが受信されると、プログラム格納手段に書き込まれている書換結果フラグを他の値に書き換えた後に、格納されているプログラムを消去することを特徴とする。
【００１２】
また、本発明によれば、書換結果書込手段は、受信されたプログラムに含まれるプログラムの書き換えが正常に終了したことを示すデータであるマークコードを、プログラム格納手段に書き込むことを特徴とする。
【００１３】
また、本発明によれば、書換結果書込手段は、マークコードを、プログラム格納手段における一定の固定アドレスで指定される格納領域に書き込むことを特徴とする。
【００１４】
また、本発明によれば、書換結果書込手段は、受信されたプログラムのうち、マークコード以外のプログラム部分をプログラム格納手段に書き込んだ後、マークコードを最後にプログラム格納手段に書き込むことを特徴とする。
【００１５】
また、本発明によれば、プログラム格納手段は、プログラム部分が書き込まれる領域とマークコードが書き込まれる領域との間に、空き領域が存在することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、プログラム格納部（フラッシュＲＯＭ２）は、プログラムのダウンロード結果を記憶しているので、ダウンロード失敗後の電源再投入時に容易にプログラムの再ダウンロードを実行することが可能となる。
【発明を実施するための最良の形態】
【００１７】
本発明の実施の形態におけるプログラム書き換え装置は、フラッシュメモリを搭載した組み込みソフトのプログラム書き換え装置であって、複写機またはプリンタ等に実装される。
プログラム書き換え装置は、プログラムダウンロード時にそのプログラムの書き換えが正常に実行されたか否かをフラッシュＲＯＭに書き込むことにより、容易にプログラムの再ダウンロードを実行することが可能となる。
【実施例１】
【００１８】
図１は、本発明の実施例１におけるプログラムダウンロードシステムの構成を示す図である。以下、図１を用いて、本実施例におけるプログラムダウンロードシステムの構成および動作について説明する。
【００１９】
図１に示されているように、プログラムダウンロードシステムは、プログラム書き換え装置１００と、ホスト装置５とを有して構成される。プログラム書き換え装置１００とホスト装置５とは、例えばインターネット、ＬＡＮなどのネットワークを介して接続されている。
また、プログラム書き換え装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１と、フラッシュＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３と、ＮＶＲＡＭ（Ｎｏｎｖｏｌａｔｉｌｅ  ＲＡＭ）４とを有して構成される。
なお、プログラム書き換え装置１００は図示されない通信手段を有しており、その通信手段は、ＣＰＵ１からのデータをホスト装置５へ送信するとともに、ホスト装置５から受信したデータ（プログラム）をＣＰＵ１へ入力するものとしてよい。
【００２０】
ＣＰＵ１は、フラッシュＲＯＭ２、ＲＡＭ３、及びＮＶＲＡＭ４とバス接続されており、ＣＰＵ１とホスト装置５とは通信で接続されている。
ＣＰＵ１は、フラッシュＲＯＭ２、ＲＡＭ３、およびＮＶＲＡＭ４に対して書き込み（削除を含む）・読み出し処理を行う。
また、ＣＰＵ１は、プログラム書き換え装置１００が組み込まれている情報処理装置の各部位の制御処理（システム制御）を実行する。
【００２１】
フラッシュＲＯＭ２は、電気的に書き換え可能なＲＯＭである。フラッシュＲＯＭ２の記憶領域は、複数のセクタと呼ばれる単位に分割されており、ＣＰＵ１は、このセクタ単位でデータの消去を行うことができる。
なお、フラッシュＲＯＭ２は、プログラム書き換え装置１００が組み込まれている情報処理装置の電源投入時に起動するブートプログラムを格納するとしてもよい。
【００２２】
ＲＡＭ３は、プログラム、データを一時記憶する揮発性の記憶媒体である。
【００２３】
ＮＶＲＡＭ４は、システム固有データを保存しておく不揮発性ＲＡＭである。
【００２４】
ホスト装置５は、更新用のプログラムを転送するための情報処理装置であって、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）であるとしてよい。
【００２５】
図２は、本発明の実施例１におけるフラッシュＲＯＭ２内の記憶領域を示す図である。図２に示されているように、フラッシュＲＯＭ２内の記憶領域は、ブート領域の変更の無いプログラムバージョンアップが可能なように、電源投入時のハード初期化やプログラムのダウンロード処理を行うプログラムが書き込まれたブート領域６と、通常時にシステム制御を行うプログラムが書き込まれたプログラム領域７とにセクタの境界で分割されている。更に、プログラム領域７内は、プログラムのダウンロードが正常に終了しているかどうかを示すデータであるダウンロード結果フラグが記憶される。
【００２６】
図３は、本発明の実施例１におけるプログラム書き換え装置１００による全体の処理の流れを示すフローチャートである。以下、図３に沿って、本実施例におけるプログラム書き換え装置１００による処理について説明する。
【００２７】
まず、プログラム書き換え装置１００が組み込まれた情報処理装置に電源が投入されると、ＣＰＵ１は、ブートプログラムを起動し、その情報処理装置のシステムの初期化を実行する（ステップＳ１０１）。
【００２８】
次に、ＣＰＵ１は、ダウンロード結果フラグを参照して、前回のプログラムダウンロードが正常に終了しているかどうかを判断する（ステップＳ１０２）。
前回ダウンロード途中で電源ＯＦＦされていれば（ステップＳ１０２／Ｎｏ）、ＣＰＵ１は、ダウンロード要求をホスト装置５に発行して（ステップＳ１０３）、プログラムダウンロード処理を実行する（ステップＳ１０４）。
正常に終了していれば（ステップＳ１０２／Ｙｅｓ）、ＣＰＵ１は、通常制御処理を実行する（ステップＳ１０５）。
この通常制御処理を実行するためのプログラムは、プログラム領域７に書き込まれている。
【００２９】
図４は、本発明の実施例１におけるプログラム書き換え装置１００による通常制御処理の流れを示すフローチャートである。以下、図４に沿って、本実施例におけるプログラム書き換え装置１００による通常制御処理について説明する。
【００３０】
まず、ＣＰＵ１は、ホスト装置５側からのプログラムダウンロードの要求がプログラム書き換え装置１００に入力されたか否かを判断する（ステップＳ１１１）。
プログラムダウンロード要求が入力されたと判断された場合（ステップＳ１１１／Ｙｅｓ）、プログラム書き換え装置１００は、プログラムダウンロード処理を実行する（ステップＳ１１２）。
プログラムダウンロード要求が入力されていないと判断された場合（ステップＳ１１１／Ｎｏ）、ＣＰＵ１は、通常のシステム制御を行う（ステップＳ１１３）。
【００３１】
図５は、本発明の実施例１におけるプログラム書き換え装置１００によるプログラムダウンロード処理の流れを示すフローチャートである。以下、図５に沿って、本実施例におけるプログラム書き換え装置１００によるプログラムダウンロード処理について説明する。
【００３２】
まず、ＣＰＵ１は、ブート領域６に記憶されているダウンロードプログラムをＲＡＭ３にコピーする（ステップＳ１２１）。
【００３３】
次に、ＣＰＵ１は、コピーしたＲＡＭ３上のダウンロードプログラムを起動させ、（ステップＳ１２２）、ＣＰＵ１は、今回のダウンロードがブート領域６内のデータの変更を伴うかどうか判断する（ステップＳ１２３）。
【００３４】
ブート領域の変更を伴う場合（ステップＳ１２３／Ｙｅｓ）、ＣＰＵ１は、フラッシュＲＯＭ２の全メモリイレースモードでイレース（フラッシュＲＯＭ２内のデータを全て削除）を行い（ステップＳ１２４）、ホスト装置５から受信したプログラムをフラッシュＲＯＭ２に書き込む（ステップＳ１２５）。
【００３５】
全プログラムの書き込みが終了したら、ＣＰＵ１は、ダウンロード正常終了フラグをプログラム領域７に書き込み（ステップＳ１２６）、ダウンロード処理を終了する。
【００３６】
この処理途中（ステップＳ１２４〜Ｓ１２６）で電源ＯＦＦ等の異常事態が発生したときには、正常なフラッシュＲＯＭ２への交換もしくは正常なフラッシュＲＯＭ２がセットされたボードへの交換を行うこととなる。正常なフラッシュＲＯＭ２にはダウンロード正常終了フラグが書き込まれているため、次回プログラム書き換え装置１００が組み込まれている情報処理装置の電源投入時には、通常モードでソフトが立ち上がる（通常制御処理が実行される）こととなる。
【００３７】
一方、プログラム領域７だけの更新である場合（ステップＳ１２３／Ｎｏ）、ＣＰＵ１は、セクタ単位のイレースモードにてまずダウンロード結果を保存するアドレスを含むセクタをイレース（削除）する（ステップＳ１２７）。
その後、ＣＰＵ１は、プログラム領域７のセクタを順次イレースする（ステップＳ１２８）。
【００３８】
イレースが終了後、プログラム書き換え装置１００は、ホスト装置５からプログラムをダウンロードし、ＣＰＵ１は、そのダウンロードプログラムをプログラム領域７に書き込む（ステップＳ１２９）。
【００３９】
最後に、ＣＰＵ１は、ダウンロード正常終了フラグをプログラム領域７に書き込んで（ステップＳ１３０）、処理を終了する。
この処理中（ステップＳ１２７〜Ｓ１３０）に、プログラム書き換え装置１００が組み込まれている情報処理装置の電源ＯＦＦ等の異常事態が発生した場合は、次の電源ＯＮで図３に示されるダウンロード失敗時の処理（レスキューモード）が実行される（ステップＳ１０３、Ｓ１０４）。
【００４０】
以上説明したように、本実施例によれば、フラッシュＲＯＭ２（プログラム領域７）は、プログラムのダウンロード結果（ダウンロード結果フラグ）を記憶しているので、ダウンロード失敗後の電源再投入時に通常とは違うモード（レスキューモード：ステップＳ１０３、Ｓ１０４）で起動し、容易にプログラムの再ダウンロードを実行することが可能となる。
また、ダウンロード結果はシステム制御プログラムと同じメモリ（フラッシュＲＯＭ２）に配置されているため、フラッシュＲＯＭ２やボード交換によりフラッシュＲＯＭ２に正常なシステム制御プログラムが存在する場合には、レスキューモードで起動されること無く通常モード（ステップＳ１０５）で起動し、処理の簡略化を実現することが可能となる。
【００４１】
また、本実施例によれば、ダウンロード結果の初期値をメモリクリア時と異なる値にしているので、プログラムダウンロードが完了しているかどうかを正確に判断することができる。
【００４２】
また、本実施例によれば、メモリクリア時にダウンロード結果フラグを最初にクリアしているので、プログラムダウンロードが完了しているかどうかを正確に判断することができる。
【実施例２】
【００４３】
以下、特記しない限り、本発明の実施例２の構成および動作は、実施例１と同様であるとして説明を進める。
【００４４】
本実施例において、プログラムダウンロードシステムの構成は、図１に示されるものと同様であるとする。本実施例では、フラッシュＲＯＭ２における記憶領域の区分（記憶されるデータ）が実施例１と異なる。
図６は、本発明の実施例２におけるフラッシュＲＯＭ２内の記憶領域を示す図である。図６に示されているように、フラッシュＲＯＭ２内の記憶領域は、ブート領域の変更の無いプログラムバージョンアップが可能なように、電源投入時のハード初期化やプログラムのダウンロード処理を行うプログラムが書き込まれたブート領域６と、通常時にシステム制御を行うプログラムが書き込まれたプログラム領域７とにセクタの境界で分割されている。
【００４５】
さらに、プログラム領域７内は、プログラムコード部分８と、空き領域部分９と、マークコード部分１０とから構成されている。
【００４６】
プログラムコード部分８は、ダウンロードされたプログラムが書き込まれる領域である。
【００４７】
マークコードは、ダウンロードプログラム内に記述されているデータであって、前回のプログラムのダウンロードが正常に終了したか否かを示す。マークコードが書き込まれるマークコード部分１０は、プログラム領域７内でそのアドレスが固定されている。また、ダウンロードプログラムがプログラム領域７に書き込まれる際、プログラムの他の部分がプログラムコード部分８に書き込まれた後、マークコードは最後にマークコード部分１０に書き込まれるものとする。
【００４８】
また、空き領域部分９は、プログラムコード部分８およびマークコード部分１０以外の何も書き込まれていないプログラム領域７である。
【００４９】
例えば、ＣＰＵ１は、ダウンロードプログラムのうちマークコード以外のプログラムを、フラッシュＲＯＭ２の最小側または最大側のアドレスから順に書き込み、十分に空き領域部分９をあけてからマークコードを書き込むとしてもよい。
なお、ＣＰＵは、マークコード以外のプログラムをフラッシュＲＯＭ２のアドレスの最小側から順に書き込む場合、マークコードを最大側から書き込むとしてもよい。一方、ＣＰＵは、マークコード以外のプログラムをフラッシュＲＯＭ２のアドレスの最大側から順に書き込む場合、マークコードを最小側から書き込むとしてもよい。このことにより、プログラムコード部分８とマークコード部分１０との間に所定ビット数以上の空き領域部分９が生成される。
【００５０】
図７は、本発明の実施例２におけるプログラム書き換え装置１００による全体の処理の流れを示すフローチャートである。以下、図７に沿って、本実施例におけるプログラム書き換え装置１００による処理について説明する。
【００５１】
まず、プログラム書き換え装置１００が組み込まれた情報処理装置に電源が投入されると、ＣＰＵ１は、ブートプログラムを起動し、その情報処理装置のシステムの初期化を実行する（ステップＳ２０１）。
【００５２】
次に、ＣＰＵ１は、フラッシュＲＯＭ２のマークコードのアドレス（マークコード部分１０）を参照して、前回のプログラムダウンロードが正常に終了しているかどうか（マークコード部分１０にマークコードが書き込まれているか否か）を判断する（ステップＳ２０２）。
前回ダウンロード途中で電源ＯＦＦされていれば（マークコードが書き込まれていなければ）（ステップＳ２０２／Ｎｏ）、ＣＰＵ１は、ダウンロード要求をホスト装置５に発行して（ステップＳ２０３）、プログラムダウンロード処理を実行する（ステップＳ２０４）。
正常に終了していれば（マークコードが書き込まれていれば）（ステップＳ２０２／Ｙｅｓ）、ＣＰＵ１は、通常制御処理を実行する（ステップＳ２０５）。
この通常制御処理を実行するためのプログラムは、プログラム領域７に書き込まれている。
【００５３】
図８は、本発明の実施例２におけるプログラム書き換え装置１００による通常制御処理の流れを示すフローチャートである。以下、図８に沿って、本実施例におけるプログラム書き換え装置１００による通常制御処理について説明する。
【００５４】
まず、ＣＰＵ１は、ホスト装置５側からのプログラムダウンロードの要求がプログラム書き換え装置１００に入力されたか否かを判断する（ステップＳ２１１）。
プログラムダウンロード要求が入力されたと判断された場合（ステップＳ２１１／Ｙｅｓ）、プログラム書き換え装置１００は、プログラムダウンロード処理を実行する（ステップＳ２１２）。
プログラムダウンロード要求が入力されていないと判断された場合（ステップＳ２１１／Ｎｏ）、ＣＰＵ１は、通常のシステム制御を行う（ステップＳ２１３）。
【００５５】
図９は、本発明の実施例２におけるプログラム書き換え装置１００によるプログラムダウンロード処理の流れを示すフローチャートである。以下、図８に沿って、本実施例におけるプログラム書き換え装置１００によるプログラムダウンロード処理について説明する。
【００５６】
まず、ＣＰＵ１は、ブート領域６に記憶されているダウンロードプログラムをＲＡＭ３にコピーする（ステップＳ２２１）。
【００５７】
次に、ＣＰＵ１は、コピーしたＲＡＭ３上のダウンロードプログラムを起動させ、（ステップＳ２２２）、ＣＰＵ１は、今回のダウンロードがブート領域６内のデータの変更を伴うかどうか判断する（ステップＳ２２３）。
【００５８】
ブート領域の変更を伴う場合（ステップＳ２２３／Ｙｅｓ）、ＣＰＵ１は、フラッシュＲＯＭ２の全メモリイレースモードでイレース（フラッシュＲＯＭ２内のデータを全て削除）を行い（ステップＳ２２４）、ホスト装置５から受信したプログラムをフラッシュＲＯＭ２に書き込む（ステップＳ２２５）。このとき、プログラム内のマークコードは、最後にマークコード部分１０に固定して書き込まれる。
【００５９】
この処理途中（ステップＳ２２４、Ｓ２２５）で電源ＯＦＦ等の異常事態が発生したときには、正常なフラッシュＲＯＭ２への交換もしくは正常なフラッシュＲＯＭ２がセットされたボードへの交換を行うこととなる。正常なフラッシュＲＯＭ２にはダウンロード正常終了フラグが書き込まれているため、次回プログラム書き換え装置１００が組み込まれている情報処理装置の電源投入時には、通常モードでソフトが立ち上がる（通常制御処理が実行される）こととなる。
【００６０】
一方、プログラム領域７だけの更新である場合（ステップＳ２２３／Ｎｏ）、ＣＰＵ１は、セクタ単位のイレースモードにてまずマークコードを含むセクタ（マークコード部分１０）をイレース（削除）する（ステップＳ２２６）。
その後、ＣＰＵ１は、他のプログラム領域７のセクタを順次イレースする（ステップＳ２２７）。
【００６１】
イレースが終了後、プログラム書き換え装置１００は、ホスト装置５からプログラムをダウンロードし、ＣＰＵ１は、そのダウンロードプログラムをプログラム領域７に書き込む（ステップＳ２２８）。このとき、プログラム内のマークコードは、最後にマークコード部分１０に固定して書き込まれる。
この処理中（ステップＳ２２６〜Ｓ２２８）に、プログラム書き換え装置１００が組み込まれている情報処理装置の電源ＯＦＦ等の異常事態が発生した場合は、次の電源ＯＮで図７に示されるダウンロード失敗時の処理（レスキューモード）が実行される（ステップＳ２０３、Ｓ２０４）。
【００６２】
以上説明したように、本実施例によれば、フラッシュＲＯＭ２（プログラム領域７）は、プログラムのダウンロード成功時にはマークコードを記憶する。マークコードが書き込まれないダウンロード失敗後の電源再投入時には、通常とは違うモード（レスキューモード：ステップＳ２０３、Ｓ２０４）で起動し、容易にプログラムの再ダウンロードを実行することが可能となる。
また、マークコードはシステム制御プログラムと同じメモリ（フラッシュＲＯＭ２）に配置されるため、フラッシュＲＯＭ２やボード交換によりフラッシュＲＯＭ２に正常なシステム制御プログラムが存在する場合には、レスキューモードで起動されること無く通常モード（ステップＳ２０５）で起動し、処理の簡略化を実現することが可能となる。
【００６３】
また、本実施例によれば、フラッシュＲＯＭ２は、常に一定のアドレスにマークコードを記憶しているので、ブートプログラムの更新がない場合もプログラムダウンロードが完了しているかどうかを正確に判断することができる。
【００６４】
また、本実施例によれば、マークコードをダウンロードプログラムの最後に配置しているので、プログラムダウンロードが完了しているかどうかを正確に判断することができる。
【００６５】
また、本実施例によれば、フラッシュＲＯＭ２において、システムプログラムが書き込まれる領域（プログラムコード部分８）とマークコードが書き込まれる領域（マークコード部分１０）との間に十分な空き領域（空き領域部分９）を確保しているので、システムプログラムの容量アップ時にもマークコードのアドレスがずれず、プログラムダウンロードが完了しているかどうかを正確に判断することができる。
【００６６】
また、実施例１、２の処理は、プログラム書き換え装置１００またはホスト装置５が有するコンピュータプログラムにより実行されるが、上記のプログラムは、光記録媒体、磁気記録媒体、光磁気記録媒体、または半導体等の記録媒体に記録され、上記の記録媒体からロードされるようにしてもよいし、所定のネットワークを介して接続されている外部機器からロードされるようにしてもよい。
【００６７】
なお、上記の実施例は本発明の好適な実施の一例であり、本発明の実施例は、これに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変形して実施することが可能となる。
【図面の簡単な説明】
【００６８】
【図１】本発明の実施例１におけるプログラムダウンロードシステムの構成を示す図である。
【図２】本発明の実施例１におけるフラッシュＲＯＭ内の記憶領域を示す図である。
【図３】本発明の実施例１におけるプログラム書き換え装置による全体の処理の流れを示すフローチャートである。
【図４】本発明の実施例１におけるプログラム書き換え装置による通常制御処理の流れを示すフローチャートである。
【図５】本発明の実施例１におけるプログラム書き換え装置によるプログラムダウンロード処理の流れを示すフローチャートである。
【図６】本発明の実施例２におけるフラッシュＲＯＭ内の記憶領域を示す図である。
【図７】本発明の実施例２におけるプログラム書き換え装置による全体の処理の流れを示すフローチャートである。
【図８】本発明の実施例２におけるプログラム書き換え装置による通常制御処理の流れを示すフローチャートである。
【図９】本発明の実施例２におけるプログラム書き換え装置によるプログラムダウンロード処理の流れを示すフローチャートである。
【符号の説明】
【００６９】
１    ＣＰＵ
２    フラッシュＲＯＭ
３    ＲＡＭ
４    ＮＶＲＡＭ
５    ホスト装置
６    ブート領域
７    プログラム領域
８    プログラムコード部分
９    空き領域部分
１０    マークコード部分
１００    プログラム書き換え装置
【図１】
2005063120.tif 000003
【図２】
2005063120.tif 000004
【図３】
2005063120.tif 000005
【図４】
2005063120.tif 000006
【図５】
2005063120.tif 000007
【図６】
2005063120.tif 000008
【図７】
2005063120.tif 000009
【図８】
2005063120.tif 000010
【図９】
2005063120.tif 000011