(57)【要約】    【課題】  トータルのコストが低く、かつ利便性の高いダウンロードを可能にする。    【解決手段】  書き換えが不可能であり、起動プログラム及び主プログラムを記憶するＲＯＭ（Ａ）４と、書き換え及び着脱が可能であり、主プログラムを記憶するＲＯＭ（Ｂ）５とを備え、ＲＯＭ（Ｂ）５が脱状態であることを検出されている場合に、ＲＯＭ（Ａ）４に記憶される起動プログラム及び主プログラムを読み出して実行し、一方、ＲＯＭ（Ｂ）５が着状態であることを検出されている場合に、ＲＯＭ（Ａ）４に記憶される起動プログラム及びＲＯＭ（Ｂ）５に記憶される主プログラムを読み出して実行する。また、ＲＯＭ（Ａ）４に記憶される起動プログラムに含まれる更新プログラムによって、ＲＯＭ（Ｂ）５に記憶される主プログラムを変更する。【選択図】      図１
2005327112.tif 000002
【特許請求の範囲】
【請求項１】
書き換えが不可能であり、第１プログラム及び第２プログラムを記憶する第１の不揮発性記憶手段と、
書き換え及び着脱が可能であり、第３プログラムを記憶する第２の不揮発性記憶手段と、
前記第２の不揮発性記憶手段の着脱状態を検出する着脱検出手段と、
前記着脱検出手段の検出状態に応じて、前記第１の不揮発性記憶手段と前記第２の不揮発性記憶手段を選択制御する制御部と
を有することを特徴とする情報処理装置。
【請求項２】
前記制御部は、前記着脱検出手段が前記第２の不揮発性記憶手段の脱状態を検出すると前記第１の不揮発性記憶手段を選択し、前記着脱検出手段が前記第２の不揮発性記憶手段の着状態を検出すると前記第１の不揮発性記憶手段と前記第２の不揮発性記憶手段を選択することを特徴とする請求項１記載の情報処理装置。
【請求項３】
書き換えが不可能であり、起動プログラム及び主プログラムを記憶する第１の不揮発性記憶手段と、
書き換え及び着脱が可能であり、主プログラムを記憶する第２の不揮発性記憶手段と、
前記第２の不揮発性記憶手段の着脱状態を検出する着脱検出手段と、
前記着脱検出手段によって前記第２の不揮発性記憶手段が脱状態であることを検出されている場合に、前記第１の不揮発性記憶手段に記憶された起動プログラム及び主プログラムを読み出して実行する第１の実行手段と、
前記着脱検出手段によって前記第２の不揮発性記憶手段が着状態であることを検出されている場合に、前記第１の不揮発性記憶手段に記憶された起動プログラム及び前記第２の不揮発性記憶手段に記憶された主プログラムを読み出して実行する第２の実行手段と
を有することを特徴とする情報処理装置。
【請求項４】
主プログラムの更新時に、前記第２の不揮発性記憶手段に記憶される主プログラムを変更する変更手段を更に有することを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記第１の不揮発性記憶手段に記憶される起動プログラムには、主プログラムの更新を行なうための更新プログラムが含まれ、前記第１の不揮発性記憶手段から前記更新プログラムを読み出して実行することによって前記変更手段が実現されることを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記変更手段は、外部から入手した新たな主プログラムによって、前記第２の不揮発性記憶手段に記憶される主プログラムを書き換えることを特徴とする請求項４記載の情報処理装置。
【請求項７】
揮発性記憶手段と、
主プログラムの更新を行なうための更新プログラムを外部から入手し、前記揮発性記憶手段に格納する格納手段とを更に有し、
前記揮発性記憶手段から前記更新プログラムを読み出して実行することによって前記変更手段が実現されることを特徴とする請求項４記載の情報処理装置。
【請求項８】
前記第１の実行手段は、前記第１の不揮発性記憶手段に記憶される起動プログラム及び主プログラムを読み出す期間に亘って、前記第１の不揮発性記憶手段の動作を可能にするイネーブル信号を発生するイネーブル信号発生手段を含むことを特徴とする請求項３記載の情報処理装置。
【請求項９】
前記第２の実行手段は、前記第１の不揮発性記憶手段に記憶される起動プログラムを読み出す期間に亘ってのみ、前記第１の不揮発性記憶手段の動作を可能にする第１のイネーブル信号を発生するとともに、前記第２の不揮発性記憶手段に記憶される主プログラムを読み出す期間に亘ってのみ、前記第２の不揮発性記憶手段の動作を可能にする第２のイネーブル信号を発生するイネーブル信号発生手段を含むことを特徴とする請求項３記載の情報処理装置。
【請求項１０】
書き換えが不可能であり、起動プログラム及び主プログラムを記憶する第１の不揮発性記憶手段と、書き換え及び着脱が可能であり、主プログラムを記憶する第２の不揮発性記憶手段と、該第２の不揮発性記憶手段の着脱状態を検出する着脱検出手段とを備えた情報処理装置に適用されるプログラム実行方法において、
前記着脱検出手段によって前記第２の不揮発性記憶手段が脱状態であることを検出されている場合に、前記第１の不揮発性記憶手段に記憶される起動プログラム及び主プログラムを読み出して実行する第１の実行ステップと、
前記着脱検出手段によって前記第２の不揮発性記憶手段が着状態であることを検出されている場合に、前記第１の不揮発性記憶手段に記憶される起動プログラム及び前記第２の不揮発性記憶手段に記憶される主プログラムを読み出して実行する第２の実行ステップと
を有することを特徴とするプログラム実行方法。
【請求項１１】
主プログラムの更新時に、前記第２の不揮発性記憶手段に記憶される主プログラムを変更する変更ステップを更に有することを特徴とする請求項１０記載のプログラム実行方法。
【請求項１２】
書き換えが不可能であり、起動プログラム及び主プログラムを記憶する第１の不揮発性記憶手段と、書き換え及び着脱が可能であり、主プログラムを記憶する第２の不揮発性記憶手段と、該第２の不揮発性記憶手段の着脱状態を検出する着脱検出手段とを備えた情報処理装置に適用されるプログラム実行方法を、コンピュータに実行させるためのプログラムにおいて、
前記着脱検出手段によって前記第２の不揮発性記憶手段が脱状態であることを検出されている場合に、前記第１の不揮発性記憶手段に記憶される起動プログラム及び主プログラムを読み出して実行する第１の実行ステップと、
前記着脱検出手段によって前記第２の不揮発性記憶手段が着状態であることを検出されている場合に、前記第１の不揮発性記憶手段に記憶される起動プログラム及び前記第２の不揮発性記憶手段に記憶される主プログラムを読み出して実行する第２の実行ステップと
を有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラム実行方法、及びプログラムに関し、特に、不揮発性記憶部にプログラムを格納する情報処理装置、該情報処理装置に適用されるプログラム実行方法、及び該プログラム実行方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
従来、情報処理装置として、例えばマルチファンクションプリンタ（以下「ＭＦＰ」という）に設けられたプリンタ制御部がある。該プリンタ制御部は、ＣＰＵ、ＲＡＭ、ＲＯＭ、通信Ｉ／Ｆ、専用論理回路等を備え、ＣＰＵで実行されるファームウェアと呼ばれる制御プログラムによって実現される制御の内容は、各種モータ、光学系、高電圧発生部等の制御である。こうしたファームウェアの規模は１Ｍバイト程度であって小さいので、ファームウェアはＲＯＭに格納されるのが一般的である。
【０００３】
一般に、ＲＯＭには各種の種類があるが、大きく分類すると、マスクＲＯＭ等に代表されるデータの書き換え不可能なＲＯＭと、フラッシュＲＯＭ等に代表される書き換え可能なＲＯＭがある。書き換え可能なＲＯＭは、書き換え不可能なＲＯＭと比較して、部品コストが高い。
【０００４】
また、ＲＯＭの実装形態は、基板に直接実装される形態と、例えば基板にソケットを実装し、ＲＯＭを載せた小基板を該ソケットに対して抜き差しするような着脱可能な形態とがある。これらに関しても、着脱可能な形態のＲＯＭ実装の方が、直接実装する形態のＲＯＭ実装に比べて部品点数が多いため、コスト高となる。
【０００５】
ファームウェアを格納する際のＲＯＭの数、種類、実装形態は、組み合わせにより多数考えられるが、それらの選択基準として考えられるのは、バージョンアップの利便性とコストである。
【０００６】
バージョンアップとは、製品が出荷された後の機能の追加やユーザへの個別対応等を行う為にファームウェアの変更を行う仕組みのことである。バージョンアップは、ＲＯＭ自体を交換するか、もしくはＲＯＭの内容を書き換えることによって実現され得る。
【０００７】
コストに関しては、できるだけマスクＲＯＭ等を使用したり、部品点数を減らしたりすることで、コストを下げることができる。
【０００８】
以上の事情を踏まえて、従来の制御装置におけるＲＯＭの使用形態には以下のような構成が存在する。
【０００９】
例えば、特許文献１に示される通信端末では、固定的に設けられたＲＯＭと着脱可能な外付けＲＯＭとが使用されている。この通信端末の場合、固定的に設けられるＲＯＭをマスクＲＯＭにすれば、当初の部品コストは低く抑えられ、またバージョンアップ時には、外付けＲＯＭを交換するようにすればよく、このＲＯＭ使用形態は、バージョンアップの頻度が低い場合に適している。
【００１０】
また、特許文献２に示されるバージョンアップ方法では、フラッシュＲＯＭとマスクＲＯＭとを１つずつ固定的に設け、バージョンアップ時には、新たなファームウェアデータをダウンロードしてフラッシュＲＯＭ上のファームウェアを書き換えることが行なわれる。フラッシュＲＯＭは、部品の値段が高いがバージョンアップを容易に行なえるので利便性が高い。なお、マスクＲＯＭには、バージョンアップを行う為のダウンロード用プログラムが格納される。ダウンロード時にはフラッシュＲＯＭのメモリが一旦全部消去されるので、ダウンロード用プログラムはフラッシュＲＯＭ以外の記録媒体に記憶されている必要があり、この場合、書換え不可能なマスクＲＯＭに格納される。
【００１１】
この他にもＲＯＭの使用形態には、様々な組み合わせが考えられるが、例えば上記２つを組み合わせた次の構成が考えられる。すなわち、ファームウェア格納用のＲＯＭとして、マスクＲＯＭとフラッシュＲＯＭとを想定し、両者に対するファームウェアの格納を状況に応じて切り換え可能にし、さらに、ダウンロード用プログラムの格納用にマスクＲＯＭを設けるという構成である。この構成では、例えば、通常はファームウェアを格納されたマスクＲＯＭだけを装着しておき、必要に応じてフラッシュＲＯＭを装着することで、それ以降はダウンロードによるバージョンアップを可能にする。また、ファームウェアの完成度が低く、バージョンアップの頻度が多い初期製品出荷時期においては、マスクＲＯＭを装着せずに初めからフラッシュＲＯＭを装着し、ファームウェアの完成度が高くなった製品出荷時期では、マスクＲＯＭだけを実装し、フラッシュＲＯＭを装着しないようにする。上記の構成によれば、バージョンアップの頻度に柔軟に対応できる。
【特許文献１】特開平０５−１７３９１７号公報
【特許文献２】特開２０００−３２２２４４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記の従来のＲＯＭ使用形態では、ファームウェアを格納するためのマスクＲＯＭ及びフラッシュＲＯＭ以外に、ダウンロード用プログラムを格納するためのマスクＲＯＭが必要であるため、制御装置に３つのＲＯＭを備えねばならず、バージョンアップ時に外付けＲＯＭを交換するＲＯＭ使用形態に比べ、部品点数が多くなってしまうという問題があった。
【００１３】
本発明はこのような問題点に鑑みてなされたものであって、トータルのコストが低く、かつ利便性の高いダウンロードが可能な情報処理装置、プログラム実行方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、請求項１記載の発明によれば、書き換えが不可能であり、第１プログラム及び第２プログラムを記憶する第１の不揮発性記憶手段と、書き換え及び着脱が可能であり、第３プログラムを記憶する第２の不揮発性記憶手段と、前記第２の不揮発性記憶手段の着脱状態を検出する着脱検出手段と、前記着脱検出手段の検出状態に応じて、前記第１の不揮発性記憶手段と前記第２の不揮発性記憶手段を選択制御する制御部とを有することを特徴とする情報処理装置が提供される。
【００１５】
また、請求項３記載の発明によれば、書き換えが不可能であり、起動プログラム及び主プログラムを記憶する第１の不揮発性記憶手段と、書き換え及び着脱が可能であり、主プログラムを記憶する第２の不揮発性記憶手段と、前記第２の不揮発性記憶手段の着脱状態を検出する着脱検出手段と、前記着脱検出手段によって前記第２の不揮発性記憶手段が脱状態であることを検出されている場合に、前記第１の不揮発性記憶手段に記憶される起動プログラム及び主プログラムを読み出して実行する第１の実行手段と、前記着脱検出手段によって前記第２の不揮発性記憶手段が着状態であることを検出されている場合に、前記第１の不揮発性記憶手段に記憶される起動プログラム及び前記第２の不揮発性記憶手段に記憶される主プログラムを読み出して実行する第２の実行手段とを有することを特徴とする情報処理装置が提供される。
【００１６】
また、請求項１０記載の発明によれば、書き換えが不可能であり、起動プログラム及び主プログラムを記憶する第１の不揮発性記憶手段と、書き換え及び着脱が可能であり、主プログラムを記憶する第２の不揮発性記憶手段と、該第２の不揮発性記憶手段の着脱状態を検出する着脱検出手段とを備えた情報処理装置に適用されるプログラム実行方法において、前記着脱検出手段によって前記第２の不揮発性記憶手段が脱状態であることを検出されている場合に、前記第１の不揮発性記憶手段に記憶される起動プログラム及び主プログラムを読み出して実行する第１の実行ステップと、前記着脱検出手段によって前記第２の不揮発性記憶手段が着状態であることを検出されている場合に、前記第１の不揮発性記憶手段に記憶される起動プログラム及び前記第２の不揮発性記憶手段に記憶された主プログラムを読み出して実行する第２の実行ステップとを有することを特徴とするプログラム実行方法が提供される。
【００１７】
さらに、上記プログラム実行方法をコンピュータに実行させるためのプログラムが提供される。
【発明の効果】
【００１８】
本発明によれば、書き換えが不可能であり、第１プログラム及び第２プログラムを記憶する第１の不揮発性記憶手段と、書き換え及び着脱が可能であり、第３プログラムを記憶する第２の不揮発性記憶手段と、前記第２の不揮発性記憶手段の着脱状態を検出する着脱検出手段と、前記着脱検出手段の検出状態に応じて、前記第１の不揮発性記憶手段と前記第２の不揮発性記憶手段を選択制御する制御部とを備える。
【００１９】
また、書き換えが不可能であり、起動プログラム及び主プログラムを記憶する第１の不揮発性記憶手段と、書き換え及び着脱が可能であり、主プログラムを記憶する第２の不揮発性記憶手段と、前記第２の不揮発性記憶手段の着脱状態を検出する着脱検出手段とを備え、前記着脱検出手段によって前記第２の不揮発性記憶手段が脱状態であることを検出されている場合に、前記第１の不揮発性記憶手段に記憶される起動プログラム及び主プログラムを読み出して実行し、一方、前記着脱検出手段によって前記第２の不揮発性記憶手段が着状態であることを検出されている場合に、前記第１の不揮発性記憶手段に記憶される起動プログラム及び前記第２の不揮発性記憶手段に記憶される主プログラムを読み出して実行する。
【００２０】
また、主プログラムの更新時に、前記第２の不揮発性記憶手段に記憶される主プログラムを変更する変更手段を更に有し、前記第１の不揮発性記憶手段に記憶される起動プログラムには、主プログラムの更新を行なうための更新プログラムが含まれ、前記第１の不揮発性記憶手段から前記更新プログラムを読み出して実行することによって前記変更手段が実現される。
【００２１】
このように、第２の不揮発性記憶手段の着脱状態を検知して、第１及び第２の不揮発性記憶手段を選択制御することで、また、更新プログラム（バージョンアップ用プログラム）を第１の不揮発性記憶手段に記憶することで、部品点数を減らしてトータルコストを最小限に抑えつつ、必要に応じて装着された第２の不揮発性記憶手段に、ダウンロードによる主プログラムのバージョンアップを可能にし、またバージョンアップの頻度に柔軟に対応することができ、利便性が高くなる。また、第１及び第２の不揮発性記憶手段からの主プログラムの読み出し切り替えは、簡単な構成で実現できる着脱検出手段を用いて可能である。
【発明を実施するための最良の形態】
【００２２】
以下、本発明を実施するための最良の形態について、図面を参照して説明する。
【００２３】
図１は、本発明の一実施の形態に係る情報処理装置の構成を示すブロック図である。
【００２４】
図１において１００は情報処理装置、１はＣＰＵ、２はアドレスバス、３はデータバス、４は、固定的に設けられ、書換え不可能なマスクＲＯＭからなるＲＯＭ（Ａ）、５は、書換え可能なフラッシュＲＯＭからなるＲＯＭ（Ｂ）、６はＲＡＭ、７は、ＲＯＭ（Ｂ）５が着脱されるＲＯＭソケット、１２はＲＯＭ選択回路、１３は、通常モードとダウンロードモードとを切替えるためのモード切替えスイッチ、１４は外部通信Ｉ／Ｆである。なお、ＲＯＭ選択回路１２は、機能的にＯＲ回路１１とスイッチ１８とが組み合わされた構成となっている。
【００２５】
ＣＰＵ１のアドレスバス２とデータバス３とには、ＲＯＭ（Ａ）４、ＲＯＭソケット７、及びＲＡＭ６が接続される。ＣＰＵ１からは、チップセレクト２信号（ＣＳ２）１０がＲＡＭ６のチップイネーブル端子に入力され、また、チップセレクト０信号（ＣＳ０）８及びチップセレクト１信号（ＣＳ１）９がＲＯＭ選択回路１２へ入力される。ＲＯＭソケット７からは、ＲＯＭ（Ｂ）５の着脱を判別する着脱判別信号１５がＲＯＭ選択回路１２に入力される。ＲＯＭ選択回路１２からは、チップセレクト信号（Ａ）１６がＲＯＭ（Ａ）４のチップイネーブル端子へ送られるとともに、チップセレクト信号（Ｂ）１７がＲＯＭ（Ｂ）５のチップイネーブル端子へＲＯＭソケット７を介して送られる。なお、上記の各チップイネーブル端子に各チップセレクト信号がそれぞれ入力されているときだけ、対応のＲＯＭまたはＲＡＭでは、読み書き動作が可能となる。チップセレクト０信号８及びチップセレクト１信号９は両方とも、アクティブローの信号であるとともに、両方が同時にＣＰＵ１から出力されることは無い信号である。
【００２６】
ＲＯＭ選択回路１２においては、スイッチ１８が、着脱判別信号１５に応じてＡ側またはＢ側に切り替えられる。スイッチ１８がＡ側に位置するとき（ＲＯＭ（Ｂ）５の脱状態時）には、ＯＲ回路１１が、チップセレクト０信号８またはチップセレクト１信号９をＲＯＭ（Ａ）４に出力し、一方、Ｂ側に位置するとき（ＲＯＭ（Ｂ）５の着状態時）には、ＯＲ回路１１が、チップセレクト０信号８をＲＯＭ（Ａ）４に出力するとともに、スイッチ１８がチップセレクト１信号９をＲＯＭ（Ｂ）５に出力する。
【００２７】
ＲＡＭ６、ＲＯＭ（Ａ）４、及びＲＯＭ（Ｂ）５では、各チップイネーブル端子に各チップセレクト信号が入力されたときのみ有効（読み書き動作が可能）になり、ＣＰＵ１がアドレスバス２およびアドレスバス３によってこれらにアクセスすることができるようになる。
【００２８】
図２及び図３は、ＲＯＭ選択回路１２における実際の具体的回路構成を示す図であり、図２は、ＲＯＭソケット７に対して着脱可能なＲＯＭ（Ｂ）５が脱状態のときのＲＯＭ選択回路１２の動作状態を示し、図３は、ＲＯＭ（Ｂ）５が着状態のときのＲＯＭ選択回路１２の動作状態を示す。なお、着脱判別信号１５は脱状態時には低レベル（Ｌｏｗ）、着状態時には高レベル（Ｈｉｇｈ）となる。
【００２９】
ＲＯＭ選択回路１２は、ＮＯＲゲート２０１、２０２、２０３から構成され、ＮＯＲゲート２０１の一方の入力端子にチップセレクト０信号８が、他方の入力端子に低レベル（Ｌｏｗ）信号が入力される。また、ＮＯＲゲート２０３の一方の入力端子にチップセレクト１信号９が、他方の入力端子に着脱判別信号１５が入力される。そして、ＮＯＲゲート２０１、２０３の各出力端子がＮＯＲゲート２０２の各入力端子に接続される。ＮＯＲゲート２０２の出力信号がチップセレクト信号（Ａ）１６となり、また、チップセレクト１信号９がチップセレクト信号（Ｂ）１７となる。
【００３０】
まず、図２に示すＲＯＭ（Ｂ）５の脱状態時においては、チップセレクト０信号８がＮＯＲゲート２０１の一方の入力端子に入力されるが、他方の入力端子に常に低レベル（Ｌｏｗ）信号が入力されているので、ＮＯＲゲート２０１の出力端子からは、チップセレクト０信号８が入力されていない場合は低レベル信号、入力されている場合はチップセレクト０信号８の反転信号が出力される。一方、チップセレクト１信号９がＮＯＲゲート２０３の一方の入力端子に入力されるが、他方の入力端子に低レベルの着脱判別信号１５が入力されているので、ＮＯＲゲート２０１の出力端子からは、チップセレクト１信号９が入力されていない場合は低レベル信号、入力されている場合はチップセレクト１信号９の反転信号が出力される。なお、チップセレクト１信号９はチップセレクト信号（Ｂ）１７としてそのまま出力されるが、この場合にはＲＯＭ（Ｂ）５がＲＯＭソケット７に装着されていないため、機能しない。
【００３１】
ＮＯＲゲート２０１とＮＯＲゲート２０３の各出力信号はＮＯＲゲート２０２に入力されるが、前述のように、チップセレクト０信号８とチップセレクト１信号９とが両方同時にＣＰＵ１から出力されることは無いので、ＮＯＲゲート２０２には、チップセレクト０信号８の反転信号及びチップセレクト１信号９の反転信号のうち一方と、低レベル信号とが入力されることになる。これにより、ＮＯＲゲート２０２の出力端子からは、ＣＰＵ１がチップセレクト０信号８を出力しているときはチップセレクト０信号８が、ＣＰＵ１がチップセレクト１信号９を出力しているときはチップセレクト１信号９が、チップセレクト信号（Ａ）１６として出力されることになる。
【００３２】
次に、図３に示すＲＯＭ（Ｂ）５の着状態時においては、ＮＯＲゲート２０３の他方の入力端子に高レベルの着脱判別信号１５が入力されている点だけが、図２に示す動作状態のＲＯＭ選択回路１２と異なっている。これにより、ＮＯＲゲート２０３の出力信号は常に低レベル（Ｌｏｗ）信号となり、ＮＯＲゲート２０２の出力端子からは、ＣＰＵ１がチップセレクト０信号８を出力しているときのみ、チップセレクト０信号８が、チップセレクト信号（Ａ）１６として出力される。また、チップセレクト信号（Ｂ）１７としては、チップセレクト１信号９が出力される。
【００３３】
図４は、ＲＯＭ（Ｂ）５及びＲＯＭソケット７の詳しい構造を示す図であり、着脱判別信号１５を出力する仕組みについて示す。
【００３４】
ＲＯＭ（Ｂ）５は、ＩＣチップ５ａと基板５ｂと端子群とからなり、端子群には端子３０１と端子３０２とが含まれる。端子３０１及び端子３０２は、ＩＣチップ５ａには接続されず、互いに接続されている。
【００３５】
ＲＯＭソケット７は、アドレスバス２およびデータバス３に接続される端子群と、チップセレクト信号（Ｂ）１７がＲＯＭ選択回路１２から入力される端子と、着脱判別信号１５をＲＯＭ選択回路１２に出力する端子３０３と、常に高レベル（Ｈｉｇｈ）信号が印加されている端子３０４とを備えている。
【００３６】
ＲＯＭソケット７にＲＯＭ（Ｂ）５を装着することで、それぞれの対向する端子どうしが接続される。この装着により、端子３０４に印加されている高レベル（Ｈｉｇｈ）信号が端子３０２，３０１を介して端子３０３に送られ、着脱判別信号１５が高レベルとなる。すなわち、端子３０３からＲＯＭ選択回路１２に出力される着脱判別信号１５は、ＲＯＭ（Ｂ）５がＲＯＭソケット７に装着されていれば高レベルに、装着されていなければ低レベルになる。
【００３７】
図５は、ＲＯＭ（Ａ）４、ＲＯＭ（Ｂ）５に格納されるファームウェアから見たアドレスマップ（ａ）と、ＲＯＭ（Ａ）４でのデータマッピング（ｂ）と、ＲＯＭ（Ｂ）５でのデータマッピング（ｃ）とを示す図である。
【００３８】
図５（ａ）において、ファームウェアから見たアドレスマップは、各１ＭバイトのＣＳ０領域とＣＳ１領域とで構成され、各領域は６４Ｋバイトの領域と９６０Ｋバイトの領域とにそれぞれ分割される。アドレス００００００Ｈ〜０ＦＦＦＦＦＨのＣＳ０領域のうち先頭６４Ｋバイト分の起動領域には起動プログラム４０１が配置され、一方、アドレス１０００００Ｈ〜１ＦＦＦＦＦＨのＣＳ１領域のうち後方９６０Ｋバイト分の主領域には主プログラム４０２が配置される。他の部分は未使用領域となる。起動プログラムはファームウェアのダウンロードを行うダウンロード用プログラムを有する。
【００３９】
ＲＯＭ（Ａ）４にファームウェアを格納する際のマッピングでは、図５（ｂ）に示すように、アドレス００００００Ｈ〜００ＦＦＦＦＨの起動領域に起動プログラム（第１プログラム）４０３が格納され、アドレス１１００００Ｈ〜１ＦＦＦＦＦＨの主領域に主プログラム（第２プログラム）４０４が格納される。また、ＲＯＭ（Ｂ）５にファームウェアを格納する際のマッピングでは、図５（ｃ）に示すように、アドレス１１００００Ｈ〜１ＦＦＦＦＦＨの主領域に主プログラム（第３プログラム）４０５が格納され、アドレス００００００Ｈ〜００ＦＦＦＦＨの領域は未使用領域となる。
【００４０】
図６は、ＲＯＭ（Ｂ）５がＲＯＭソケット７に対して脱状態にある場合におけるＣＰＵ１からＲＯＭ（Ａ）４及びＲＯＭ（Ｂ）５に対するアクセスを示す図である。
【００４１】
ＲＯＭ（Ｂ）５の脱状態時には、ＣＰＵ１がチップセレクト０信号（ＣＳ０）８を、ＯＲ回路１１を介してＲＯＭ（Ａ）４に出力して、ＲＯＭ（Ａ）４を読み書き可能状態にし、同時に、アドレスバス２を介してアドレス００００００Ｈ〜００ＦＦＦＦＨをＲＯＭ（Ａ）４に対して指定する。これによって、起動プログラム４０３がデータバス３を介してＣＰＵ１へ送信される。
【００４２】
次に、ＣＰＵ１がチップセレクト１信号（ＣＳ１）９を、スイッチ１８（端子Ａ）、ＯＲ回路１１を介してＲＯＭ（Ａ）４に出力して、ＲＯＭ（Ａ）４を読み書き可能状態にし、同時に、アドレスバス２を介してアドレス１１００００Ｈ〜１ＦＦＦＦＦＨをＲＯＭ（Ａ）４に対して指定する。これによって、ＲＯＭ（Ａ）４に格納された主プログラム４０４がデータバス３を介してＣＰＵ１へ送信される。
【００４３】
ＲＯＭ（Ｂ）５の脱状態時にはＣＰＵ１によるＲＯＭ（Ｂ）５に対するアクセスはない。
【００４４】
図７は、ＲＯＭ（Ｂ）５がＲＯＭソケット７に対して着状態にある場合におけるＣＰＵ１からＲＯＭ（Ａ）４及びＲＯＭ（Ｂ）５に対するアクセスを示す図である。
【００４５】
ＲＯＭ（Ｂ）５の着状態時でも、ＣＰＵ１がチップセレクト０信号（ＣＳ０）８を、ＯＲ回路１１を介してＲＯＭ（Ａ）４に出力して、ＲＯＭ（Ａ）４を読み書き可能状態にし、同時に、アドレスバス２を介してアドレス００００００Ｈ〜００ＦＦＦＦＨをＲＯＭ（Ａ）４に対して指定する。これによって、起動プログラム４０３がデータバス３を介してＣＰＵ１へ送信される。
【００４６】
この後、ＲＯＭ（Ｂ）５の着状態時では、ＣＰＵ１がチップセレクト１信号（ＣＳ１）９を、スイッチ１８（端子Ｂ）を介してＲＯＭ（Ｂ）５に出力して、ＲＯＭ（Ｂ）５を読み書き可能状態にし（ＲＯＭ（Ａ）４は読み書き不可能状態になる）、同時に、アドレスバス２を介してアドレス１１００００Ｈ〜１ＦＦＦＦＦＨをＲＯＭ（Ｂ）５に対して指定する。これによって、ＲＯＭ（Ｂ）５に格納された主プログラム４０５がデータバス３を介してＣＰＵ１へ送信される。
【００４７】
このように、ＣＰＵ１は、ＲＯＭ（Ｂ）５のＲＯＭソケット７に対する着脱状態に拘わらず、チップセレクト０信号８及びアドレス００００００Ｈ〜００ＦＦＦＦＨ、並びにチップセレクト１信号９及びアドレス１１００００Ｈ〜１ＦＦＦＦＦＨを出力するだけで、ＲＯＭ（Ｂ）５の着脱状態に応じた適切なファームウェアの読み出し処理を行なうことが可能になる。
【００４８】
図８は、起動プログラム４０３をＣＰＵ１が実行することによって実現する初期設定処理およびファームウェア更新処理の手順を示すフローチャートである。
【００４９】
情報処理装置１００の電源オン時またはリセット時に、起動プログラム４０３がＲＯＭ（Ａ）４からＣＰＵ１に読み込まれると、ＣＰＵ１は起動プログラム４０３を実行して、まず、ＣＰＵ１のバスの初期化等、情報処理装置１００の最低限の初期設定処理を行う（Ｓ６０１）。
【００５０】
つぎに、ＣＰＵ１は、モード切替えスイッチ１３がダウンロードモードの状態（ＯＮ）であるか否かを判別し（Ｓ６０２）、ダウンロードモードの状態（ＯＮ）であるときはステップＳ６０３へ進み、通常モードの状態（ＯＦＦ）であるときはステップＳ６０７へ進む。
【００５１】
ステップＳ６０３では、ＲＯＭ（Ｂ）５がＲＯＭソケット７に装着されている場合（ここでは装着されていることを前提とする）、ＲＯＭ（Ａ）４に格納された起動プログラム４０３を用いて、ＲＯＭ（Ｂ）５に格納されているファームウェア（主プログラム）を更新すべく、ＣＰＵ１がＲＯＭ（Ｂ）５のアドレス１１００００Ｈ〜１ＦＦＦＦＦＨの領域にアクセスし、ＲＯＭ（Ｂ）５の該アドレス領域の記憶内容を全て消去する（Ｓ６０３）。
【００５２】
そして、外部通信Ｉ／Ｆ１４に接続されたホストコンピュータより、ファームウェアデータを所定のパケット単位で１パケットずつ受信し（Ｓ６０４）、この受信データをＲＯＭ（Ｂ）５の上記アドレス領域に書き込む（Ｓ６０５）。ファームウェアデータの全データを受信してＲＯＭ（Ｂ）に書き込みが終了したか否かを判断し（Ｓ６０６）、全データの書き込みが終了したならば本処理を終了し、まだ書き込みが残っているならばステップＳ６０４へ戻る。
【００５３】
なお、ＲＯＭ（Ｂ）５のＲＯＭソケット７への未装着の場合には、ダウンロードを行うことができないようにすることが望ましいが、仮にＲＯＭ（Ａ）４のアドレス１１００００Ｈ〜１ＦＦＦＦＦＨの領域にアクセスして書き換えを行なったとしても、ＲＯＭ（Ａ）４はマスクＲＯＭであって書き換え不可能であるので、不具合は生じない。
【００５４】
一方、モード切替えスイッチ１３が通常モードの状態（ＯＦＦ）であってステップＳ６０７へ進んだ場合は、ＣＰＵ１は、ＲＯＭ（Ｂ）５が脱状態の場合には、ＲＯＭ（Ａ）に格納されている主プログラム４０４を読み込み、またＲＯＭ（Ｂ）５が着状態の場合には、ＲＯＭ（Ｂ）に格納されている主プログラム４０５を読み込む。これによって、例えば情報処理装置１００がＭＦＰに設けられたプリンタ制御部であれば、主プログラムに従って、ＣＰＵ１は、各種モータ、光学系、高電圧発生部等の制御を行なう。
【００５５】
以上のようにして、ファームウェアのダウンロードを、マスクＲＯＭであるＲＯＭ（Ａ）４に格納された起動プログラム４０３によって実現することができ、これによって、ダウンロード用プログラムをＲＯＭ（Ａ）４及びＲＯＭ（Ｂ）５以外の第３のＲＯＭに格納する必要がなくなり、部品点数を減少させることが可能となる。
【００５６】
また、主プログラムを、ＲＯＭ（Ａ）４及びＲＯＭ（Ｂ）５における同一アドレスの領域に格納するので、ＣＰＵ１は、読み出すべき主プログラムが格納されたＲＯＭを知らずとも、該主プログラムを入手することができる。
【００５７】
〔他の実施の形態〕
上記の実施の形態では、ダウンロード用プログラムをＲＯＭ（Ａ）４に格納しているが、これに代わって、ダウンロード用プログラムをホストコンピュータから受信してＲＡＭ６に書き込み、この書き込んだダウンロードプログラムを起動して、ホストコンピュータよりファームウェアデータをダウンロードしてＲＯＭ（Ｂ）５に順次書き込むようにしてもよい。
【００５８】
なお、本発明の目的は、前述した各実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵ、ＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
【００５９】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体およびプログラムは本発明を構成することになる。
【００６０】
また、プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。或いは、上記プログラムは、インターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続される他のコンピュータやデータベース等からダウンロードすることにより供給される。
【００６１】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
【００６２】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施の形態に係る情報処理装置の構成を示すブロック図である。
【図２】ＲＯＭ選択回路における実際の具体的回路構成を示す図であり、特に、ＲＯＭソケットに対してＲＯＭ（Ｂ）が脱状態のときのＲＯＭ選択回路の動作状態を示す。
【図３】ＲＯＭ選択回路における実際の具体的回路構成を示す図であり、特に、ＲＯＭソケットに対してＲＯＭ（Ｂ）が着状態のときのＲＯＭ選択回路の動作状態を示す。
【図４】ＲＯＭ（Ｂ）及びＲＯＭソケットの詳しい構造を示す図である。
【図５】ＲＯＭ（Ａ）、ＲＯＭ（Ｂ）に格納されるファームウェアから見たアドレスマップ（ａ）と、ＲＯＭ（Ａ）でのデータマッピング（ｂ）と、ＲＯＭ（Ｂ）でのデータマッピング（ｃ）とを示す図である。
【図６】ＲＯＭ（Ｂ）がＲＯＭソケットに対して脱状態にある場合におけるＣＰＵからＲＯＭ（Ａ）及びＲＯＭ（Ｂ）に対するアクセスを示す図である。
【図７】ＲＯＭ（Ｂ）がＲＯＭソケットに対して着状態にある場合におけるＣＰＵからＲＯＭ（Ａ）及びＲＯＭ（Ｂ）に対するアクセスを示す図である。
【図８】起動プログラムをＣＰＵが実行することによって実現する初期設定処理およびファームウェア更新処理の手順を示すフローチャートである。
【符号の説明】
【００６４】
１  ＣＰＵ（第１の実行手段、第２の実行手段）
２  アドレスバス
３  データバス
４  ＲＯＭ（Ａ）（第１の不揮発性記憶手段）
５  ＲＯＭ（Ｂ）（第２の不揮発性記憶手段）
６  ＲＡＭ
７  ＲＯＭソケット
８  チップセレクト０信号（ＣＳ０）
９  チップセレクト１信号（ＣＳ１）
１０  チップセレクト２信号（ＣＳ２）
１１  ＯＲ回路
１２  ＲＯＭ選択回路（第１の実行手段、第２の実行手段）
１３  モード切替えスイッチ
１４  外部通信Ｉ／Ｆ
１５  着脱判別信号（第１の実行手段、第２の実行手段）
１６  チップセレクト信号（Ａ）
１７  チップセレクト信号（Ｂ）
１８  スイッチ
１００  情報処理装置
３０１〜３０４  端子（着脱検出手段）
４０１  起動プログラム
４０２  主プログラム
【図１】
2005327112.tif 000003
【図２】
2005327112.tif 000004
【図３】
2005327112.tif 000005
【図４】
2005327112.tif 000006
【図５】
2005327112.tif 000007
【図６】
2005327112.tif 000008
【図７】
2005327112.tif 000009
【図８】
2005327112.tif 000010