(57)【特許請求の範囲】
【請求項１】
情報処理装置本体を制御する主制御部と、
この主制御部によって実行されるブートプログラムを記憶した第１の不揮発性メモリと、
前記ブートプログラムが破壊されたときに復旧を行うための復旧用ブートプログラムを記憶した第２の不揮発性メモリと、
前記主制御部の制御により前記第１の不揮発性メモリに記憶されたプログラムの書換え開始前にセットされ書換え完了後にリセットされる信号を出力しかつ電源断によりその出力信号をリセットする第１の出力ポートと、
前記主制御部の制御により前記第１の不揮発性メモリに記憶されたプログラムの書換え開始前にリセットされ書換え完了後にセットされる信号を出力しかつ電源断でもその出力信号を保持する第２の出力ポートと、
電源投入時における前記主制御部のスタートアドレスを前記第１及び第２の出力ポートのうち少なくとも一方からの信号がセットされているときには前記第１の不揮発性メモリのブートプログラム領域に割り当て、いずれの信号もリセットされているときには前記第２の不揮発性メモリの復旧用ブートプログラム領域に割り当てるセレクタ回路と、
を具備したことを特徴とする情報処理装置。
【請求項２】
情報処理装置本体に、主制御部と、この主制御部によって実行されるブートプログラムを記憶した不揮発性メモリと、着脱自在に装着された可搬式記憶媒体を前記主制御部と電気的に接続する媒体装着部と、電源投入時にリセット信号を発生するリセット回路と、前記主制御部の制御によりチップセレクト信号を発生する機能とコントロール信号を発生する機能を有するチップセレクト＆コントロール回路と、前記チップセレクト＆コントロール回路から入力される前記チップセレクト信号により電源投入時における前記主制御部のスタートアドレスを前記不揮発性メモリのブートプログラム領域に割り当てる機能を有するセレクタ回路とを設け、
前記可搬式記憶媒体に、前記ブートプログラムが破壊されたときに復旧を行うための復旧用ブートプログラムを記憶したプログラム記憶部と、前記チップセレクト＆コントロール回路から入力される前記チップセレクト信号により電源投入時における前記主制御部のスタートアドレスを前記プログラム記憶部のブートプログラム領域に割り当てる機能と前記コントロール信号の入力によりトリガ信号を出力する機能とを有するチップセレクト＆セレクタ回路と、前記リセット回路から出力された前記リセット信号が入力されると前記チップセレクト＆セレクタ回路によるスタートアドレス割当機能を有効化しかつ前記セレクタ回路によるスタートアドレス割当機能を無効化する信号を出力し、前記チップセレクト＆セレクタ回路から出力された前記トリガ信号が入力されると前記チップセレクト＆セレクタ回路によるスタートアドレス割当機能を無効化しかつ前記セレクタ回路によるスタートアドレス割当機能を有効化する信号を出力するフリップフロップ回路とを設けたことを特徴とする情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電気的に書換え可能なフラッシュＲＯＭ（Read Only Memoly）等の不揮発性メモリを搭載し、この不揮発性メモリにブートプログラム，アプリケーションプログラム等を記憶してなるファクシミリ装置などの情報処理装置に関する。
【０００２】
【従来の技術】
近年、ファクシミリ装置などの情報処理装置では、プログラムを格納するための記憶手段としてフラッシュＲＯＭ等の電気的に書換え可能な不揮発性メモリを搭載したものが主流となりつつある。これは、製品化した後でもメモリ内のアプリケーションプログラムを書換えて機能の追加や性能の向上を図ることを容易になし得るためである。
【０００３】
特に、公衆回線に接続されるファクシミリ装置においては、プログラム記憶手段として電気的書換え可能な不揮発性メモリを採用することにより、ホストコンピュータなどから変更すべきプログラムを回線を通じて装置にダウンロードして不揮発性メモリ内のプログラムを書換えられるようになった。その結果、装置をサービスステーションまで運んだり、サービスマンが客先まで出向いてプログラムを変更する必要がなくなり、バージョンアップに伴うプログラムの書換えなどを手間なく速やかに行えるようになった。
【０００４】
ところで、この種の情報処理装置に主制御部として組み込まれるＣＰＵ（Central Processing Unit ）は、一般に電源が投入されると、ＣＰＵが有するアドレス空間の先頭番地（通常は０番地）からプログラムの実行を開始する。そこで、装置の立上げを行うブートプログラムをプログラム記憶手段としての不揮発性メモリの先頭領域から格納するとともに、この不揮発性メモリの先頭領域をＣＰＵが有するアドレス空間の先頭番地に割り当てる。こうすることにより、ＣＰＵは電源投入に応じて必ずブートプログラムを実行するので、このブートプログラムが正常である限り装置が立ち上がる。ところが、例えば不揮発性メモリに格納されたブートプログラムを含むプログラムを電気的に書換えている途中で停電などの事故が発生してプログラムの書換えに失敗すると、ブートプログラムが破壊されてしまい、停電復旧後に電源を再投入しても装置が立ち上がらなくなるという不具合を生じるおそれがあった。
【０００５】
そこで従来、プログラムの書換え時に停電などの事故が発生しても復旧後に再立上げできるようにするために、プログラムを格納する第１の不揮発性メモリとは別に前記プログラムを格納するのに十分な空き領域を有する第２の不揮発性メモリを搭載し、第１の不揮発性メモリに格納されたプログラムを書換える際には第１の不揮発性メモリ内のプログラムを全て第２の不揮発性メモリに複写してから書換えを開始する。そして、書換えを正常に完了した場合には第１の不揮発性メモリからアクセスを開始し、書換えに失敗した場合には第２の不揮発性メモリからアクセスを開始するように、電源投入時におけるＣＰＵのアクセス先を変更できるようにした技術が知られていた（特開平９−３４８０７号公報参照）。
【０００６】
また、装置に内蔵した不揮発性メモリに内部プログラムを格納するとともに、この装置に外部プログラムを記憶した外部記憶装置を接続する接続手段を設け、電源投入時のスタートアドレスを不揮発性メモリの先頭アドレスとするか、外部記憶装置の先頭アドレスにするかをスイッチで切換え選択できるようにして、内部プログラムの破壊時にはスイッチを外部記憶装置側に切換えて外部プログラムで立ち上がるようにした技術も知られていた（特開平８−１７１４８３号公報参照）。
【０００７】
【発明が解決しようとする課題】
しかしながら、前者公報（特開平９−３４８０７号公報）の従来技術では、プログラム書換え時以外は使用しない第２の不揮発性メモリとして少なくとも第１の不揮発性メモリに格納されたプログラムを十分に格納できるだけの領域を確保しておく必要となるため搭載するメモリ容量が大幅に増加せざるを得ず、装置の大型化並びに製品の高価格化が避けられなかった。
【０００８】
他方、後者公報（特開平８−１７１４８３号公報）の従来技術では、搭載するメモリ容量は増加されないものの、電源投入時のスタートアドレスを不揮発性メモリの先頭アドレスとするか外部記憶装置の先頭アドレスにするかを切り換えるためのスイッチが必要で、構成が複雑化しやはり製品が高価格になるという問題があった。
【０００９】
本発明はこのような事情に基づいてなされたもので、その目的とするところは、メモリ容量が大幅に増加せずかつ格別なスイッチを設ける必要も無しに、ブートプログラムの書換えに失敗してブートプログラムが破壊されても確実に装置を立上げることができる情報処理装置を提供しようとするものである。
【００１０】
【課題を解決するための手段】
本願請求項１対応の発明は、情報処理装置本体を制御する主制御部によって実行されるブートプログラムを記憶した第１の不揮発性メモリと、ブートプログラムが破壊されたときに復旧を行うための復旧用ブートプログラムを記憶した第２の不揮発性メモリとを設けるとともに、主制御部の制御により第１の不揮発性メモリに記憶されたプログラムの書換え開始前にセットされ書換え完了後にリセットされる信号を出力しかつ電源断によりその出力信号をリセットする第１の出力ポートと、主制御部の制御により第１の不揮発性メモリに記憶されたプログラムの書換え開始前にリセットされ書換え完了後にセットされる信号を出力しかつ電源断でもその出力信号を保持する第２の出力ポートとを設ける。そしてセレクタ回路は、電源投入時における主制御部が有するアドレス空間のスタートアドレスを第１及び第２の出力ポートのうち少なくとも一方からの信号がセットされているときには第１の不揮発性メモリのブートプログラム領域に割り当て、いずれの信号もリセットされているときには第２の不揮発性メモリの復旧用ブートプログラム領域に割り当てるようにしたものである。
【００１２】
本願請求項２記載の発明は、情報処理装置本体に、主制御部と、この主制御部によって実行されるブートプログラムを記憶した不揮発性メモリと、着脱自在に装着された可搬式記憶媒体を主制御部と電気的に接続する媒体装着部と、電源投入時にリセット信号を発生するリセット回路と、主制御部の制御によりチップセレクト信号を発生する機能とコントロール信号を発生する機能を有するチップセレクト＆コントロール回路と、チップセレクト＆コントロール回路から入力されるチップセレクト信号により電源投入時における主制御部のスタートアドレスを前記不揮発性メモリのブートプログラム領域に割り当てる機能を有するセレクタ回路とを設ける。また、可搬式記憶媒体に、ブートプログラムが破壊されたときに復旧を行うための復旧用ブートプログラムを記憶したプログラム記憶部と、チップセレクト＆コントロール回路から入力されるチップセレクト信号により電源投入時における主制御部のスタートアドレスをプログラム記憶部のブートプログラム領域に割り当てる機能とコントロール信号の入力によりトリガ信号を出力する機能とを有するチップセレクト＆セレクタ回路と、リセット回路から出力されたリセット信号が入力されるとチップセレクト＆セレクタ回路によるスタートアドレス割当機能を有効化しかつセレクタ回路によるスタートアドレス割当機能を無効化する信号を出力し、チップセレクト＆セレクタ回路から出力されたトリガ信号が入力されるとチップセレクト＆セレクタ回路によるスタートアドレス割当機能を無効化しかつセレクタ回路によるスタートアドレス割当機能を有効化する信号を出力するフリップフロップ回路とを設けたものである。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態を図面を用いて説明する。
はじめに、本願請求項１記載の発明に対応する第１の実施の形態について図１乃至図６を用いて説明する。なお、この第１の実施の形態は、情報処理装置として機能するファクシミリ装置に本願請求項１記載の発明を適用したものである。
【００１５】
図１は第１の実施の形態であるファクシミリ装置の要部構成を示すブロック図であって、かかるファクシミリ装置は主制御部としてＣＰＵ１を搭載している。そしてこのＣＰＵ１に、アドレスバス及びデータバスなどのバスライン２を介して、画像読取部３、画像印刷部４、操作表示部５、回線制御部６、ＲＡＭ（Random Access Memoly）７、第１のフラッシュＲＯＭ８、第２のフラッシュＲＯＭ９、デコード回路１０、第１の出力ポート１１及び第２の出力ポート１２の各部を接続している。
【００１６】
画像読取部３は、スキャナを動作させて送信原稿の画像を光学的に読取るものである。画像印刷部４は、プリンタを動作させて受信原稿の画像等を記録紙に印刷するものである。操作表示部５は、操作パネルに設けられた各種操作ボタンの操作信号を取込む機能と、同操作パネルに設けられた表示器に表示データ信号を送出する機能とを有したものである。回線制御部６は、公衆回線Ｃにより接続された相手局とのデータ通信を制御するものである。ＲＡＭ７は、送信画像データや受信画像データなどの各種データを書換え自在に記憶するもので、メインメモリとして機能する。
【００１７】
電気的に書換え可能な不揮発性のメモリ領域である第１のフラッシュＲＯＭ８及び第２のフラッシュＲＯＭ９は、いずれもプログラムの格納領域として使用する。そして第１のフラッシュＲＯＭ８には、図２（ａ）に示すように、電源投入時にＣＰＵ１によって最初に実行される装置の立上げを行うためのブートプログラム２１を先頭領域より記憶し、それに引き続いてこのブートプログラム２１による立上げ後のファクシミリ基本動作を制御するファクシミリ用メインプログラム２２を記憶している。第２のフラッシュＲＯＭ９には、同図（ｂ）に示すように、前記ブートプログラム２１が破壊されたときに復旧を行うための復旧用ブートプログラム２３を先頭領域より記憶し、それに引き続いて前記第１のフラッシュＲＯＭ８に格納されたプログラムの書換えを制御する書換えプログラム２４を記憶している。
【００１８】
ここに、第１のフラッシュＲＯＭ８は第１の不揮発性メモリとして機能し、第２のフラッシュＲＯＭ９は第２の不揮発性メモリとして機能する。
なお、ファクシミリ装置全体を制御するメインプログラム２２と比較して書換えプログラム２４のデータ量が極端に少ないので、第２のフラッシュメモリ９に格納される全プログラム（復旧用ブートプログラム２３と書換えプログラム２４）の合計データ量は、第１のフラッシュＲＯＭ８に格納される全プログラム（ブートプログラム２１とメインプログラム２２）の合計データ量に比べて充分に少ないものとなる。したがって、第２の不揮発性メモリとして機能する第２のフラッシュＲＯＭ９は、第１の不揮発性メモリとして機能する第１のフラッシュＲＯＭ８に比べてメモリ容量の小さいフラッシュＲＯＭで賄うことができる。
【００１９】
デコーダ回路１０は、図３に示すように、ＣＰＵ１からのアドレス信号を解釈し、第１のチップセレクト信号ＣＳ０と第２のチップセレクト信号ＣＳ１とを発生するアドレスデコーダ３１と、第１の出力ポート１１から出力される信号ｐ１と第２の出力ポート１２から出力される信号ｐ２との論理和を演算しその演算結果を選択信号ＳＥＬとして出力するオア回路３２と、前記アドレスデコーダ３１から出力される第１のチップセレクト信号ＣＳ０を第１の入力端子Ａに入力し、第２のチップセレクト信号ＣＳ１を第２の入力端子Ｂに入力し、前記オア回路３２から出力される選択信号ＳＥＬをセット端子Ｓに入力する第１のセレクタ回路３３と、前記アドレスデコーダ３１から出力される第２のチップセレクト信号ＣＳ１を第１の入力端子Ａに入力し、第１のチップセレクト信号ＣＳ２を第２の入力端子Ｂに入力し、前記オア回路３２から出力される選択信号ＳＥＬをセット端子Ｓに入力する第２のセレクタ回路３４とを有したものである。
【００２０】
前記第１及び第２のセレクタ回路３３，３４は、いずれもセット端子Ｓに入力される選択信号ＳＥＬがハイレベル“Ｈ”のときには入力端子Ａを選択して出力端子Ｙより出力し、選択信号ＳＥＬがローレベル“Ｌ”のときには入力端子Ｂを選択して出力端子Ｙより出力する回路である。そして、第１のセレクタ回路３３のＹ出力を前記第１のフラッシュＲＯＭ８に対してアドレス空間を割り当てるチップセレクト信号Ｍ１ＣＳとし、第２のセレクタ回路３４のＹ出力を前記第２のフラッシュＲＯＭ９に対してアドレス空間を割り当てるチップセレクト信号Ｍ２ＣＳとしている。
【００２１】
ここで第１の実施の形態では、説明の便宜上、ＣＰＵ１が有するアドレス空間を００００００(H) 番地からＦＦＦＦＦＦ(H) 番地までとする。そして、第１のチップセレクト信号ＣＳ０をスタートアドレスである００００００(H) 番地から０７ＦＦＦＦ(H) 番地までのアドレス空間を割り当てるときアクティブとなる信号とし、第２のチップセレクト信号ＣＳ１を０８００００(H) 番地から０ＦＦＦＦＦ(H) 番地までのアドレス空間を割り当てるときアクティブとなる信号とする。
【００２２】
ここに、第１のセレクタ回路３３は、オア回路３２からの出力信号ＳＥＬがハイレベル“Ｈ”のときに入力端子Ａに入力される第１のチップセレクト信号ＣＳ０が出力信号Ｍ１ＣＳとして選択されるので第１のスタートアドレス割当て手段として機能し、第２のセレクタ回路３４は、オア回路３２からの出力信号ＳＥＬがローレベル“Ｌ”のときに入力端子Ｂに入力される第１のチップセレクト信号ＣＳ０が出力信号Ｍ２ＣＳとして選択されるので第２のスタートアドレス割当て手段として機能する。
【００２３】
第１及び第２の出力ポート１１，１２は、それぞれＣＰＵ１の制御により信号ｐ１，Ｐ２を出力するものである。ただし、第１の出力ポート１１は電源断によりその出力信号ｐ１をリセットする揮発性の出力ポートであり、第２の出力ポート１２は、電源断があってもその出力信号ｐ２を保持する不揮発性の出力ポートである。
【００２４】
ＣＰＵ１は、図４に示すように、装置本体の電源投入に応動して（ＳＴ１）、予め設定されたスタートアドレス００００００(H) 番地のアドレス信号を発生し、このスタートアドレス００００００(H) 番地が割当てられたメモリ空間のデータを読出す。このとき、スタートアドレス００００００(H) 番地に通常のブートプログラム２１若しくは復旧用ブートプログラム２３が割当てられているとすると、ＣＰＵ１は、そのブートプログラムを実行して装置を立ち上げる（ＳＴ２）。
【００２５】
ここで、実行されたブートプログラムが第１のフラッシュＲＯＭ８に格納された通常のブートプログラム２１であった場合には（ＳＴ３のＮＯ）、装置の立上げ後に同第１のフラッシュＲＯＭ８に格納されたファクシミリ用メインプログラム２２を起動して、通常のファクシミリ動作を制御する（ＳＴ４）。
【００２６】
そして、この通常のファクシミリ動作の制御中に外部より第１のフラッシュＲＯＭ８内のプログラム更新指令が入力されると（ＳＴ５のＹＥＳ）、ＣＰＵ１は、公衆回線Ｃを通じてダウンロードされる最新のプログラムをＲＡＭ７に一時格納する（ＳＴ６）。次に、第１の出力ポート１１からの信号ｐ１をハイレベル“Ｈ”にセットし、続いて第２の出力ポート１２からの信号ｐ２をローレベル“Ｌ”にリセットしたならば、第２のフラッシュＲＯＭ９に格納された書換えプログラム２４を起動して、第１のフラッシュＲＯＭ８内のプログラム２１，２２をダウンロードされた最新プログラムに書換えるべく書換え動作を行う（ＳＴ８）。
【００２７】
そして、このプログラム書換え動作を正常に完了すると（ＳＴ９のＹＥＳ）、ＣＰＵ１は、第２の出力ポート１２からの信号ｐ２をハイレベル“Ｈ”にセットし、続いて第１の出力ポート１１からの信号ｐ１をローレベル“Ｌ”にリセットする（ＳＴ１０）。その後、通常のファクシミリ動作制御に復帰する（ＳＴ４）。
【００２８】
一方、実行されたブートプログラムが第２のフラッシュＲＯＭ９に格納された復旧用ブートプログラム２３であった場合には（ＳＴ３のＹＥＳ）、ＣＰＵ１は、装置の立上げ後に最新のプログラムがダウンロードされるのを待機する。そして、ダウンロードされたならば（ＳＴ１１のＹＥＳ）、この最新プログラムをＲＡＭ７に一時格納した後、第２のフラッシュＲＯＭ９に格納された書換えプログラム２４を起動して、第１のフラッシュＲＯＭ８内のプログラム２１，２２をダウンロードされた最新プログラムに書換えるべく書換え動作を行う（ＳＴ１２）。
【００２９】
そして、このプログラム書換え動作を正常に完了すると（ＳＴ１３のＹＥＳ）、ＣＰＵ１は、第２の出力ポート１２からの信号ｐ２をハイレベル“Ｈ”にセットする（ＳＴ１４）。、その後、通常のファクシミリ動作制御に入る（ＳＴ４）。
【００３０】
ところでＣＰＵ１は、前記ＳＴ７の処理において、プログラム書換え開始前に第１の出力ポート１１からの信号ｐ１をハイレベル“Ｈ”にセットし、続いて第２の出力ポート１２からの信号ｐ２をローレベル“Ｌ”にリセットしている。こうすることにより、仮にプログラムの書換え途中で停電が発生して電源が断すると、第１の出力ポート１１からの信号ｐ１がローレベル“Ｌ”にリセットされるので、デコード回路３２におけるオア回路３２の出力信号ＳＥＬがローレベル“Ｌ”となり、第１のセレクタ回路３３の出力信号Ｍ１ＣＳとして第２のチップセレクト信号ＣＳ１が選択され、第２のセレクタ回路３４の出力信号Ｍ２ＣＳとして第１のチップセレクト信号ＣＳ０が選択される。ここに、ＣＰＵ１は、ブートプログラム２１の書換え開始前に第１のセレクタ回路３３が有する第１のスタートアドレス割当て機能（第１のフラッシュＲＯＭ８にＣＰＵ１のスタートアドレスを割当てる機能）を無効化し、かつ第２のセレクタ回路３４が有する第２のスタートアドレス割当て機能（第２のフラッシュＲＯＭ９にＣＰＵ１のスタートアドレスを割当てる機能）を有効化する書換え開始前設定手段を構成する。
【００３１】
またＣＰＵ１は、前記ＳＴ１０の処理において、プログラム書換え完了後に第２の出力ポート１２からの信号ｐ２をハイレベル“Ｈ”にセットし、続いて第１の出力ポート１１からの信号ｐ１をローレベル“Ｌ”にリセットしている。こうすることにより、電源立上げの際には第２の出力ポート１２からの信号ｐ２がハイレベル“Ｈ”に保持されているので、デコード回路３２におけるオア回路３２の出力信号ＳＥＬがハイレベル“Ｈ”を維持し、第１のセレクタ回路３３の出力信号Ｍ１ＣＳとして第１のチップセレクト信号ＣＳ０が選択され、第２のセレクタ回路３４の出力信号Ｍ２ＣＳとして第２のチップセレクト信号ＣＳ１が選択される。ここに、ＣＰＵ１は、ブートプログラム２１の書換え完了後に第１のセレクタ回路３３が有する第１のスタートアドレス割当て機能を有効化し、かつ第２のセレクタ回路３４が有する第２のスタートアドレス割当て機能を無効化する書換え完了後設定手段を構成する。
【００３２】
このように構成された第１の実施の形態においては、通常は、第２の出力ポート１２からの信号ｐ２がハイレベル“Ｈ”にセットされているので、電源投入の際にデコーダ回路１０におけるオア回路３２の選択信号ＳＥＬがハイレベル“Ｈ”となる。これにより、図６（ａ）に示すように、ＣＰＵ１が有するアドレス空間のうちの００００００(H) 番地から０７ＦＦＦＦ(H) 番地までに第１のフラッシュＲＯＭ８が割当てられ、０８００００(H) 番地から０ＦＦＦＦＦ(H) 番地までに第２のフラッシュＲＯＭ９が割当てられる。したがって、第１のフラッシュＲＯＭ８に格納されたブートプログラム２１の領域がスタートアドレス００００００(H) に対応するので、ＣＰＵ１は、電源投入によりブートプログラム２１を実行して装置を立ち上げ、その後、通常のファクシミリ動作制御に入る。
【００３３】
この状態で、例えば公衆回線Ｃを介して接続されたサービスセンターのホストコンピュータから第１のフラッシュＲＯＭ８に書込まれているプログラム２１，２２を書換えるものとすると、本実施の形態のファクシミリ装置は次の如く作用する。
【００３４】
はじめに、書換えが正常に行われた場合について、図５（ａ）を用いて説明する。
先ず、前記ホストコンピュータから公衆回線Ｃを通じて最新プログラムがダウンロードされ、ＲＡＭ７に一時的に格納される。次いで、ＣＰＵ１の制御により、書換え開始前の時点ｔ１にて第１の出力ポート１１の出力信号ｐ１がハイレベル“Ｈ”にセットされ、続いて時点ｔ２にて第２の出力ポート１２の出力信号ｐ２がローレベル“Ｌ”にリセットされる。しかる後、第２のフラッシュＲＯＭ９内の書換えプログラム２４により第１のフラッシュＲＯＭ８のプログラム２１，２２がホストコンピュータからダウンロードされた最新プログラムに書換えられる。そして、書換えが正常に終了すると、その時点ｔ３にて第２の出力ポート１２の出力信号ｐ２がハイレベル“Ｈ”にセットされ、続いて時点ｔ４にて第１の出力ポート１１の出力信号ｐ１がローレベル“Ｌ”にリセットされる。
【００３５】
その後、ファクシミリ装置の電源が一旦オフされ、再投入されると、オア回路３２の選択信号ＳＥＬがハイレベル“Ｈ”のままなので、第１のフラッシュＲＯＭ８と第２のフラッシュＲＡＭ９とに対するアドレスの割当ては、図６（ａ）に示す状態となる。したがって、第１のフラッシュＲＯＭ８に格納されたブートプログラム２１の領域がスタートアドレス００００００(H) 番地に対応するので、ＣＰＵ１は第１のフラッシュＲＯＭ８に格納されたブートプログラム２１を実行して装置を立ち上げ、その後、通常のファクシミリ動作制御に入る。
【００３６】
次に、書換え途中で停電が発生した場合の作用を図５（ｂ）を用いて説明する。
先ず、書換え開始前の時点ｔ１にて第１の出力ポート１１の出力信号ｐ１がハイレベル“Ｈ”にセットされ、続いて時点ｔ２にて第２の出力ポート１２の出力信号ｐ２がローレベル“Ｌ”にリセットされてから書換え動作が開始されるまでは前記と同様である。ここで、書換え途中の時点ｔ５にて停電が発生して電源がダウンすると、第１の出力ポート１１の出力信号ｐ１がローレベル“Ｌ”にリセットされる。
【００３７】
そして、その後の時点ｔ６にて電源が復旧すると、第１の出力ポート１１の出力信号ｐ１及び第２の出力ポート１２の出力信号ｐ２がいずれもローレベル“Ｌ”にリセットされているので、オア回路３２の出力信号ＳＥＬがローレベル“Ｌ”となり、第１及び第２のセレクタ回路３３，３４の出力としてＢ入力が選択される。すなわち、第１のセレクタ回路３３の出力信号Ｍ１ＣＳが第２のチップセレクト信号ＣＳ２となり、第２のセレクタ回路３４の出力信号Ｍ２Ｓが第１のチップセレクト信号ＣＳ１となる。その結果、図６（ｂ）に示すように、ＣＰＵ１の有するアドレス空間のスタートアドレス００００００(H) 番地から０７ＦＦＦＦ(H) 番地までに第２のフラッシュＲＯＭ９が割当てられ、０８００００(H) 番地から０ＦＦＦＦＦ(H) 番地までに第１のフラッシュＲＯＭ８が割当てられる。したがって、第２のフラッシュＲＯＭ９に格納された復旧用ブートプログラム２３の領域がスタートアドレス００００００(H) 番地に対応するので、ＣＰＵ１は、停電復旧後には第２のフラッシュＲＯＭ９に格納された復旧用ブートプログラム２３を実行して装置を立ち上げる。そして、ホストコンピュータから最新プログラムが再度ダウンロードされたならば、第２のフラッシュＲＯＭ９内の書換えプログラム２４によりアドレス０８００００(H) 番地より後に割当てられた第１のフラッシュＲＯＭ８にその最新プログラムが書込まれる。すなわち、第１のフラッシュＲＯＭ８のプログラムが最新プログラムに書換えられる。そして、書換えを完了すると、その時点ｔ７にて第２の出力ポート１２の出力信号ｐ２がハイレベル“Ｈ”にセットされる。
【００３８】
その後、ファクシミリ装置の電源が一旦オフされ、再投入されると、オア回路３２の選択信号ＳＥＬがハイレベル“Ｈ”になるので、第１のフラッシュＲＯＭ８と第２のフラッシュＲＯＭ９とに対するアドレスの割当ては、図６（ａ）に示す状態に戻る。したがって、ＣＰＵ１は第１のフラッシュＲＯＭ８に格納されたブートプログラム２１を実行して装置を立ち上げ、その後、通常のファクシミリ動作制御に入る。
【００３９】
このように第１の実施の形態によれば、第１のフラッシュＲＯＭ８に格納されたブートプログラム２１を含むプログラムの書換え途中で停電が発生してプログラムの書換えに失敗しブートプログラム２１が破壊されたとしても、停電復旧時には、第２のフラッシュＲＯＭ９に格納された復旧用ブートプログラム２３によってＣＰＵ１が立ち上がるので、ブートプログラム２１の破壊により装置が立ち上がらなくなるという不具合を確実に解消できる。この場合において、第２のフラッシュＲＯＭ９は、復旧用ブートプログラム２３と書換えプログラム２４とを格納するだけの容量が確保されていればよく、第１のフラッシュＲＯＭ８に格納された全プログラム２１，２２を格納するのに充分な容量を確保しておく必要はないので、メモリ容量を大幅に低減でき、装置の小型化及び製品の低価格化を図ることができる。
【００４０】
次に、本願請求項２記載の発明に対応する第２の実施の形態について図７乃至図１１を用いて説明する。なお、この第２の実施の形態も、ファクシミリ装置に本願請求項２記載の発明を適用したものである。
【００４１】
図７は第２の実施の形態であるファクシミリ装置の要部構成を示すブロック図であって、かかるファクシミリ装置は主制御部としてＣＰＵ４１を搭載している。そしてこのＣＰＵ４１に、アドレスバス及びデータバスなどのバスライン４２を介して、画像読取部４３、画像印刷部４４、操作表示部４５、回線制御部４６、ＲＡＭ４７、フラッシュＲＯＭ４８、メモリカードインタフェース４９及びシステム制御回路５０の各部を接続している。
【００４２】
ここで、画像読取部４３，画像印刷部４４、操作表示部４５、回線制御部４６及びＲＡＭ４７は、第１の実施の形態のファクシミリ装置における画像読取部３，画像印刷部４、操作表示部５、回線制御部６及びＲＡＭ７と同一である。
電気的に書換え可能な不揮発性のメモリ領域であるフラッシュＲＯＭ４８は、プログラムの格納領域として使用し、図８（ａ）に示すように、ＣＰＵ１の立上げを行うブートプログラム６１を先頭領域より記憶し、それに引き続いてこのブートプログラム６１による立上げ後のファクシミリ基本動作を制御するファクシミリ用メインプログラム６２を記憶している。
【００４３】
メモリカードインタフェース４９は、可搬式記憶媒体として機能するリカバリ用メモリカード５１を着脱自在に装着可能であり、装着されたメモリカード５１とＣＰＵ４１とを電気的に接続する媒体装着部として機能する。
上記リカバリ用メモリカード５１は、プログラム記憶部としてＥＰＲＯＭ（紫外線消去型プログラミングＲＯＭ）５１１を内蔵したもので、このＥＰＲＯＭ５１１には、図８（ｂ）に示すように、前記フラッシュＲＯＭ４８内のブートプログラム６１が破壊されたときに復旧を行うための復旧用ブートプログラム６３を先頭領域より記憶し、それに引き続いて前記フラッシュＲＯＭ４８に格納されたプログラムの書換えを制御する書換えプログラム６４を記憶している。
【００４４】
システム制御回路５０は、前記フラッシュＲＯＭ４８と前記リカバリ用メモリカード５１内のＥＰＲＯＭ５１１とに対してＣＰＵ４１が有するアドレス空間を割当てる機能を有したものである。
ここで第２の実施の形態でも、説明の便宜上、ＣＰＵ１が有するアドレス空間を００００００(H) 番地からＦＦＦＦＦＦ(H) 番地までとする。そして、第１のチップセレクト信号ＣＳ０をスタートアドレスである００００００(H) 番地から０７ＦＦＦＦ(H) 番地までのアドレス空間を割り当てるときアクティブとなる信号とし、第２のチップセレクト信号ＣＳ１を０８００００(H) 番地から０ＦＦＦＦＦ(H) 番地までのアドレス空間を割り当てるときアクティブとなる信号とする。
【００４５】
システム制御回路５０は、図１０に示すように、ＣＰＵ４１からのアドレス信号を解釈して第１のチップセレクト信号ＣＳ０を発生する機能と、ＣＰＵ４１からのコマンドを解釈してコントロール信号ＣＯＮＴを発生する機能とを有したチップセレクト＆コントロール回路５０１と、上記チップセレクト＆コントロール回路５０１から入力される第１のチップセレクト信号ＣＳ０を前記フラッシュＲＯＭ４８に送出してこのフラッシュＲＯＭ４８のメモリ領域をアドレス空間００００００(H) 番地から０７ＦＦＦＦ(H) 番地に割当てるか、メモリカード５１から入力される第２のチップセレクト信号ＣＳ１を前記フラッシュＲＯＭ４８に送出してこのフラッシュＲＯＭ４８のメモリ領域をアドレス空間０８００００(H) 番地から０ＦＦＦＦＦ(H) 番地に割当てるかを選択するセレクタ回路５０２と、装置本体の電源投入によりローレベル“Ｌ”のリセット信号ＲＥＳを発生するリセット回路５０３とで構成している。
ここに、チップセレクト＆コントロール回路５０１及びセレクタ回路５０２は本体側スタートアドレス割当手段を構成する。
【００４６】
一方、リカバリ用メモリカード５１は、前記ＥＰＲＯＭ５１と、フリップフロップ回路５１２と、チップセレクト＆セレクタ回路５１３とを備えている。チップセレクト＆セレクタ回路５１３は、第２のチップセレクト信号ＣＳ１を発生する機能と、前記システム制御回路５０から与えられる第１のチップセレクト信号ＣＳ０をＥＰＲＯＭ５１１に送出してＥＰＲＯＭ５１１のメモリ領域をアドレス空間００００００(H) 番地から０７ＦＦＦＦ(H) 番地に割当てる機能と、前記コントロール信号ＣＯＮＴの入力に応じて上記フリップフロップ回路５１２にトリガ信号ＴＲＧを出力する機能とを有したものである。
ここに、チップセレクト＆セレクタ回路５１３は媒体側スタートアドレス割当て手段を構成する。
【００４７】
フリップフロップ回路５１２は、リセット端子Ｒにリセット信号ＲＥＳが入力されるとＱ信号をハイレベル“Ｈ”，／Ｑ信号をローレベル“Ｌ”とし、トリガ端子Ｔにトリガ信号ＴＲＧが入力されるとＱ信号をローレベル“Ｌ”，／Ｑ信号をハイレベル“Ｈ”とする回路である。
フリップフロップ回路５１２のＱ信号は、チップセレクト＆セレクタ回路５１３に入力される。チップセレクト＆セレクタ回路５１３は、Ｑ信号がハイレベル“Ｈ”になったことに応じて第２のチップセレクト信号ＣＳ１を発生するとともに、前記システム制御回路５０から与えられる第１のチップセレクト信号ＣＳ０をＥＰＲＯＭ５１１に送出するものとなっている。
【００４８】
また、フリッププロップ回路５１３の／Ｑ信号は、システム制御回路５０のセレクタ回路５０２に入力される。セレクタ回路５０２は、／Ｑ信号がローレベル“Ｌ”になったことに応じてメモリカード５１から入力される第２のチップセレクト信号ＣＳ１を選択し、ハイレベル“Ｈ”になったことに応じてチップセレクト＆コントロール回路５０１から入力される第１のチップセレクト信号ＣＳ０を選択する。
ここに、フリップフロップ回路は切換手段を構成する。
【００４９】
メモリカードインタフェース４９は、装着されたメモリカード５１のＥＰＲＯＭ５１１をバスライン４２に接続する。また、前記システム制御回路５０のチップセレクト＆コントロール回路５０１から発生される第１のチップセレクト信号ＣＳ０とコントロール信号ＣＯＮＴとをメモリカード５１のチップセレクト＆セレクタ回路５１３に供給する。また、前記システム制御回路５０のリセット回路５０３から発生されるリセット信号ＲＥＳをメモリカード５１のフリップフロップ回路５１２に供給する。さらに、メモリカード５１のチップセレクト＆セレクタ回路５１３から発生される第２のチップセレクト信号ＣＳ１を前記システム制御回路５０のセレクタ回路５０２に供給する。
【００５０】
このように構成された第２の実施の形態においては、通常は、メモリカード５１がメモリカードインタフェース４９に装着されていない。この状態では、システム制御回路５０のセレクタ回路５０２は、チップセレクト＆コントロール回路５０１からの第１のチップセレクト信号ＣＳ０を選択する。
【００５１】
その結果、図１１（ａ）に示すように、ＣＰＵ１が有するアドレス空間のうちの００００００(H) 番地から０７ＦＦＦＦ(H) 番地までにフラッシュＲＯＭ４８が割当てられる。したがって、フラッシュＲＯＭ４８に格納されたブートプログラム６１の領域がスタートアドレス００００００(H) 番地に対応するので、ＣＰＵ１は、電源投入によりブートプログラム６１を実行して装置を立ち上げ、その後、通常のファクシミリ動作制御に入る。
【００５２】
この状態で、例えば公衆回線Ｃを介して接続されたサービスセンターのホストコンピュータからフラッシュＲＯＭ４８に書込まれているプログラム６１，６２を書換えることができる。ただし、この書換え途中で停電が発生すると、フラッシュＲＯＭ４８内のプログラム６１，６２が破壊され、システムが立ち上がらなくなる場合がある。
【００５３】
このような場合には、リカバリ用メモリカード５１をメモリカードインタフェース４９に装着した後、装置本体の電源を投入する。そうすると、システム制御回路５０内のリセット回路５０３からリセット信号ＲＥＳが発生し、リカバリ用メモリカード５１内のフリップフロップ回路５１２がリセットされる。これにより、フリップフロップ回路５１２からローレベル“Ｌ”の／Ｑ信号がシステム制御回路５０内のセレクタ回路５０２に与えられ、セレクタ回路５０２はメモリカード５１内のチップセレクト＆セレクタ回路５１３から発生する第２のチップセレクト信号ＣＳ１を選択するように切換わる。また、フリップフロップ回路５１２からハイレベル“Ｈ”のＱ信号がチップセレクト＆セレクタ回路５１３に与えられ、このセレクタ回路５１３は第２のチップセレクト信号ＣＳ１を発生するとともに、システム制御回路５０内のチップセレクト＆コントロール回路５０１から発生する第１のチップセレクト信号ＣＳ０を選択する。
【００５４】
その結果、図１１（ｂ）に示すように、ＣＰＵ１が有するアドレス空間のうちの００００００(H) 番地から０７ＦＦＦＦ(H) 番地までにメモリカード５１内のＥＰＲＯＭ５１１が割当てられ、０８００００(H) 番地から０ＦＦＦＦＦ(H) 番地までにフラッシュＲＯＭ４８が割当てられる。したがって、ＥＰＲＯＭ５１１に格納された復旧用ブートプログラム６３の領域がスタートアドレス００００００(H) 番地に対応するので、ＣＰＵ１は、復旧用ブートプログラム６３を実行して装置を立ち上げる。
【００５５】
そして、ホストコンピュータから最新プログラムが再度ダウンロードされたならば、ＣＰＵ４１は、ＥＰＲＯＭ５１１内の書換えプログラム６４を起動して０８００００(H) 番地以降に割当てられたフラッシュＲＯＭ４８の内容をその最新プログラムに書換える。
ここでＣＰＵ４１は、図９に示すように、プログラムの最終データまで正常に書換え終えたならば（ＳＴ１のＹＥＳ）、チップセレクト＆コントロール回路５０１を制御してコントロール信号ＣＯＮＴを発生させる（ＳＴ２）。
【００５６】
これにより、メモリカード５１内のチップセレクト＆セレクタ回路５１３からフリップフロップ回路５１２にトリガ信号ＴＲＧが供給され、／Ｑ出力がハイレベル“Ｈ”に変化する。その結果、システム制御回路５０内のセレクタ回路５０２は、チップセレクト＆コントロール回路５０１から発生する第１のチップセレクト信号ＣＳ０を選択するように切換わる。したがって、再びＣＰＵ１が有するアドレス空間のうちの００００００(H) 番地から０７ＦＦＦＦ(H) 番地までにフラッシュＲＯＭ４８が割当てられるようになる。
【００５７】
そこでＣＰＵ４１は、ジャンプ“０”を行う（ＳＴ３）。これにより、フラッシュＲＯＭ４８に書込まれた最新プログラムのブートプログラム６１によって装置が立ち上げられ、その後、通常のファクシミリ動作制御に入る。これにより、メモリカード５１を外して電源を再投入するなどの面倒な装置を実行することなくプログラムの書換えが正常に行われたか否かを確認することができる。
ここに、ＣＰＵ４１は復帰手段を構成する。
【００５８】
なお、最新プログラムの書込みが不十分で装置が立ち上がらない場合には、メモリカード５１を装着したままリセット操作を行う。そうすると、リセット回路５０３から再びリセット信号ＲＥＳが発生してセレクタ回路５０２が切換わり、ＣＰＵ１が有するアドレス空間のうちの００００００(H) 番地から０７ＦＦＦＦ(H) 番地までにメモリカード５１内のＥＰＲＯＭ５１１が割当てられ、０８００００(H) 番地から０ＦＦＦＦＦ(H) 番地までにフラッシュＲＯＭ４８が割当てられるので、前記と同様のリカバリー動作が再現される。したがって、メモリカード５１を抜き差し操作しなくてもリカバリーできるので操作性がよい。
【００５９】
このように第２の実施の形態においても、フラッシュＲＯＭ４８に格納されたブートプログラム６１を含むプログラムの書換え途中で停電が発生してプログラムの書換えに失敗しブートプログラム６１が破壊されたとしても、停電復旧時には、リカバリ用メモリカード５１のＥＰＲＯＭ５１１に格納された復旧用ブートプログラム６３によって装置が立ち上がるので、ブートプログラム６１の破壊により装置が立ち上がらなくなるという不具合を確実に解消できる。この場合において、装置としてはブートプログラム６１とメインプログラム６２とを記憶するためのフラッシュＲＯＭ４８を搭載すればよいので、第１の実施の形態よりもメモリ容量をさらに低減できるようになる。
【００６０】
また、リカバリ用メモリカード５１をメモリカードインタフェース４９に装着して電源を投入すれば、自動的にメモリカード５１内のＥＰＲＯＭ５１１に格納された復旧用ブートプログラム６３によって装置が立ち上がるので、内部記憶装置内のブートプログラムを使用するか外部記憶装置内のブートプログラムを使用するかを選択するためのスイッチ機構が不要であり、構成を簡略化できる。
【００６１】
なお、本発明はファクシミリ装置のみに適用されるものではなく、電気的に書換え可能なフラッシュＲＯＭ等の不揮発性メモリを搭載し、この不揮発性メモリにブートプログラム，アプリケーションプログラム等を記憶してなる情報処理装置全般に適用できるものである。
【００６２】
また、前記第２の実施の形態ではフラッシュＲＯＭ４８内のプログラムが破壊された際にリカバリ用メモリカード５１を装着し、このカード５１内のＥＰＲＯＭ５１１に記憶された書換えプログラム６４によって外部よりダウンロードされたプログラムでフラッシュＲＯＭ４８内のプログラムを復旧する場合を示したが、カード５１内のＥＰＲＯＭ５１１に復旧後のプログラムを記憶させ、復旧用ブートプログラム６３によって装置を立上げ後、ＥＰＲＯＭ５１１内のプログラムをフラッシュＲＯＭ４８に転送することによって復旧するようにしてもよい。
【００６３】
【発明の効果】
以上詳述したように、本発明によれば、メモリ容量が大幅に増加せずかつ格別なスイッチを設ける必要も無しに、ブートプログラムの書換えに失敗してブートプログラムが破壊されても確実に装置を立上げることができる情報処理装置を提供できる。
【図面の簡単な説明】
【図１】  本発明の第１の実施の形態であるファクシミリ装置の要部構成を示すブロック図。
【図２】  同ファクシミリ装置が有するプログラム格納領域の主要なプログラム構造を示す模式図。
【図３】  同ファクシミリ装置が有するデコーダ回路の詳細図。
【図４】  同ファクシミリ装置のＣＰＵが実行する要部処理を示す流れ図。
【図５】  同ファクシミリ装置の出力ポートから出力される信号の要部での状態を示すタイミング図。
【図６】  同ファクシミリ装置のＣＰＵが有するアドレス空間の割当てを説明するための図。
【図７】  本発明の第２の実施の形態であるファクシミリ装置の要部構成を示すブロック図。
【図８】  同ファクシミリ装置が有するプログラム格納領域の主要なプログラム構造を示す模式図。
【図９】  同ファクシミリ装置のＣＰＵが書換えプログラムを実行したときの処理手順を示す流れ図。
【図１０】同ファクシミリ装置のメモリカードインタフェースにメモリカードが装着された場合の接続関係を説明するブロック図。
【図１１】同ファクシミリ装置のＣＰＵが有するアドレス空間の割当てを説明するための図。
【符号の説明】
１，４１…ＣＰＵ
８，９…第１，第２のフラッシュＲＡＭ
１０…デコード回路
１１，１２…第１，第２の出力ポート
２１，６１…ブートプログラム
２３，６３…復旧用ブートプログラム
４８…フラッシュＲＯＭ
４９…メモリカードインタフェース
５０…システム制御回路
５１…メモリカード
【図１】
0003667958.tif 000002
【図２】
0003667958.tif 000003
【図３】
0003667958.tif 000004
【図４】
0003667958.tif 000005
【図５】
0003667958.tif 000006
【図６】
0003667958.tif 000007
【図７】
0003667958.tif 000008
【図８】
0003667958.tif 000009
【図９】
0003667958.tif 000010
【図１０】
0003667958.tif 000011
【図１１】
0003667958.tif 000012