(57)【要約】【課題】専用のアドレス変換回路を設ける必要なく、また、効率的にブートプログラムの書き換えを行うことができる画像処理装置を提供すること。【解決手段】画像処理装置１において、メモリ３が、ブートプログラムを記憶するための領域である第１のブートプログラム部１２および第２のブートプログラム部１３と、第１のブートプログラム部１２および第２のブートプログラム部１３のどちらに記憶してあるブートプログラムを用いて起動するかを示す判別フラグを記憶する判別フラグ部１１と、判別フラグ部１１に記憶された判別フラグに基づいて第１のブートプログラム部１２に記憶してあるブートプログラムまたは第２のブートプログラム部１３に記憶してあるブートプログラムを実行するプログラムである判別プログラムを記憶してある領域である判別プログラム部１０とを有し、起動時に、ＣＰＵ２が、判別プログラム部１０に記憶してある判別プログラムを実行する。【選択図】  図２
2004355310.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、起動時に前記ＣＰＵによって実行されるブートプログラムを記憶するメモリとを有する画像処理装置において、
前記メモリが、ブートプログラムを記憶するための領域である第１のブートプログラム部および第２のブートプログラム部と、前記第１のブートプログラム部および前記第２のブートプログラム部のどちらに記憶してあるブートプログラムを用いて起動するかを示す判別フラグを記憶する判別フラグ部と、前記判別フラグ部に記憶された判別フラグに基づいて前記第１のブートプログラム部に記憶してあるブートプログラムまたは前記第２のブートプログラム部に記憶してあるブートプログラムを実行するプログラムである判別プログラムを記憶してある領域である判別プログラム部とを有し、
起動時に、前記ＣＰＵが、前記判別プログラム部に記憶してある判別プログラムを実行する
ことを特徴とする画像処理装置。
【請求項２】
ブートプログラムの書き換え時には、前記ＣＰＵが、前記判別フラグ部に記憶された判別フラグに基づいて前記第１のブートプログラム部または前記第２のブートプログラム部に新たなブートプログラムを書き込むとともに、前記判別フラグ部に記憶された判別フラグが前記第１のブートプログラム部および前記第２のブートプログラム部のどちらに記憶してあるブートプログラムを用いて起動するかを示すように前記判別フラグを更新する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判別プログラム部の先頭アドレスは、前記ＣＰＵが起動時に最初にプログラムコードをフェッチするアドレスであることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記メモリがフラッシュメモリであることを特徴とする請求項１または２に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理装置に関し、特に、起動時のブートプログラムに特徴を有する画像処理装置に関する。
【０００２】
【従来の技術】
従来から、いわゆるＣＰＵ（中央演算処理装置）を有して、このＣＰＵによって制御されて動作し、画像データを取り扱う画像処理装置が知られている。その一例としては、原稿の画像を読み取って画像データとして出力する画像読取手段や、画像データに対して様々な画像処理を施す画像処理手段や、画像データに基づいて用紙に画像形成を行う画像形成手段を備えたスキャナやプリンタやディジタル複写機等が挙げられる。
【０００３】
このような画像処理装置では、電源投入がされて起動する際に、一般にブートプログラムと呼ばれるソフトウェアプログラムがＣＰＵにおいて動作し、他の動作の準備が行われる。このブートプログラムは、画像処理装置が有する不揮発性の記憶手段に記憶され、必要に応じて読み出されて実行される。
【０００４】
ところで、このようなブートプログラムにもバグがあったり、仕様変更等のためなどで書き換える必要が生じることがある。
【０００５】
特許文献１に記載の発明では、このような場合に対応し、メモリ装置に格納されているブートプログラムを書き換える際に、書き換えの手順を効率化し、ブートプログラムの書き換えの際に用いるフラッシュメモリに対するストレスを減らし、フラッシュメモリの寿命を延ばすことができるようにしている。
【０００６】
【特許文献１】
特開２００１−２０９５４３号公報
【発明が解決しようとする課題】
ところが、上述の従来技術においては、以下のような問題があった。
【０００７】
特許文献１に記載の発明では、ブートプログラムを格納する不揮発メモリエリアを２つ有し、ブートプログラム書き換え時には、使用されていないエリアに対して書き換えを行った後に、専用のアドレス変換回路を使用して以前のブートプログラム格納アドレスとアドレス変換を行うことで、次回の起動には更新後のブートプログラムを起動するようにしている。
【０００８】
このため、特許文献１に記載の発明では、専用のアドレス変換回路が必要となり、その分コストが高くなってしまうという問題があった。
【０００９】
本発明は上記の点に鑑みてなされたもので、専用のアドレス変換回路を設ける必要なく、また、効率的にブートプログラムの書き換えを行うことができる画像処理装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明は上記の目的を達成するために、ＣＰＵと、起動時に前記ＣＰＵによって実行されるブートプログラムを記憶するメモリとを有する画像処理装置において、前記メモリが、ブートプログラムを記憶するための領域である第１のブートプログラム部および第２のブートプログラム部と、前記第１のブートプログラム部および前記第２のブートプログラム部のどちらに記憶してあるブートプログラムを用いて起動するかを示す判別フラグを記憶する判別フラグ部と、前記判別フラグ部に記憶された判別フラグに基づいて前記第１のブートプログラム部に記憶してあるブートプログラムまたは前記第２のブートプログラム部に記憶してあるブートプログラムを実行するプログラムである判別プログラムを記憶してある領域である判別プログラム部とを有し、起動時に、前記ＣＰＵが、前記判別プログラム部に記憶してある判別プログラムを実行することを特徴とする。
【００１１】
また本発明は請求項１に記載の発明において、ブートプログラムの書き換え時には、前記ＣＰＵが、前記判別フラグ部に記憶された判別フラグに基づいて前記第１のブートプログラム部または前記第２のブートプログラム部に新たなブートプログラムを書き込むとともに、前記判別フラグ部に記憶された判別フラグが前記第１のブートプログラム部および前記第２のブートプログラム部のどちらに記憶してあるブートプログラムを用いて起動するかを示すように前記判別フラグを更新することを特徴とする。
【００１２】
また本発明は請求項１または２に記載の発明において、前記判別プログラム部の先頭アドレスは、前記ＣＰＵが起動時に最初にプログラムコードをフェッチするアドレスであることを特徴とする。
【００１３】
また本発明は請求項１または２に記載の発明において、前記メモリがフラッシュメモリであることを特徴とする。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
【００１５】
図１は、本発明による画像処理装置の一実施の形態の構成を示すブロック図である。
【００１６】
図１に示すように、本実施の形態の画像処理装置は、ＣＰＵ２とメモリ３とフラッシュメモリ４とデバイスコントローラ５とをシステムバス６で接続して構成される。
【００１７】
ＣＰＵ２は画像処理装置１全体の制御を行うためのＣＰＵ（中央演算処理装置）であり、メモリ３は新しいブートプログラムを一時的に格納するためのメモリであり、フラッシュメモリ４は不揮発性のメモリであって起動の際に用いるブートプログラムやブートプログラムの書き換えに際して用いる後述の各種エリアを有するメモリであり、デバイスコントローラ５は書き換えに用いる新しいブートプログラムを外部のパソコン等から取り込む際に用いられるものであってたとえばＵＳＢ／ＩＥＥＥ１２８４等である。また、フラッシュメモリ４は、電気的に消去、書き込みが可能なメモリであり、ＲＯＭであってもかまわない。
【００１８】
図２は、図１に示した画像処理装置１のメモリマッピングおよびそれぞれの格納内容を示す図であり、（ａ）はフラッシュメモリ４のマッピングを示す図、（ｂ）はメモリ３のマッピングを示す図である。
【００１９】
図２（ａ）に示すように、フラッシュメモリ４のアドレスＡから始まる領域１０は後述する判別プログラムが格納されている判別プログラム部１０であり、アドレスＢから始まる領域１１は後述する判別フラグが格納される判別フラグ部１１であり、アドレスＣから始まる領域１２は起動に用いるブートプログラムを格納しておく第１の領域である第１のブートプログラム部１２であり、アドレスＤから始まる領域１３は起動に用いるブートプログラムを格納しておく第２の領域である第２のブートプログラム部１３である。
【００２０】
また、図２（ｂ）に示すように、メモリ３のアドレスＥから始まる領域１４は書き換えに用いる新たなブートプログラムが一時的に格納される新ブートプログラム領域１４である。
【００２１】
画像処理装置１の電源投入時やリセット実行時には、ＣＰＵ２は、フラッシュメモリ４のアドレスＡからプログラムコードをフェッチして実行するように設定されている。
【００２２】
次に、本実施の形態の動作について説明する。
【００２３】
図３は、本実施の形態の画像処理装置１において、電源投入またはリセットがされたときの起動処理を示すフローチャートである。
【００２４】
まず、画像処理装置１の電源を投入したり、リセットを実行すると（Ａ−１）、ＣＰＵ２は、フラッシュメモリ４のアドレスＡからプログラムコードをフェッチし（Ａ−２）、そこからプログラムを実行する。
【００２５】
判別プログラム部１０には、本実施の形態にかかる判別プログラムが格納されており、ステップ（Ａ−２）においてはＣＰＵ２によってこの判別プログラムが実行されることになる。
【００２６】
判別プログラムでは、フラッシュメモリ４のアドレスＢから判別フラグとして先頭４バイトの読み出しを行う（Ａ−３）。
【００２７】
判別プログラムでは、その後、ステップ（Ａ−３）において読み出した判別フラグの値が０ｘＦＦＦＦＦＦＦＦであるか否かを判別し（Ａ−４）、判別フラグの値が０ｘＦＦＦＦＦＦＦＦであれば、フラッシュメモリ４のアドレスＣをＣＰＵ２のプログラムカウンタに設定し（Ａ−５）、これによってＣＰＵ２では第１のブートプログラム部１２に格納されているブートプログラムを実行する（Ａ−６）。
【００２８】
一方、ステップ（Ａ−４）において判別フラグの値が０ｘＦＦＦＦＦＦＦＦでなければ、フラッシュメモリ４のアドレスＤをＣＰＵ２のプログラムカウンタに設定し（Ａ−７）、これによってＣＰＵ２では第２のブートプログラム部１３に格納されているブートプログラムを実行する（Ａ−８）。
【００２９】
次に、ブートプログラムの更新すなわち書き換えの場合の処理について説明する。
【００３０】
図４は、本実施の形態の画像処理装置において、電源投入またはリセットがされたときの起動処理を示すフローチャートである。
【００３１】
まず、デバイスコントローラ５を介してパソコン等の外部機器から書き換えるべき新たなブートプログラムを受信した画像処理装置１では、ＣＰＵ２によって制御されて、その新ブートプログラムをメモリ３のアドレスＥから始まる新ブートプログラム領域１４に一時的に保持する（Ｂ−１）。
【００３２】
続いてＣＰＵ２では、フラッシュメモリ４のアドレスＢから判別フラグとして先頭４バイトの読み出しを行う（Ｂ−２）。
【００３３】
ＣＰＵ２では、その後、ステップ（Ｂ−２）において読み出した判別フラグの値が０ｘＦＦＦＦＦＦＦＦであるか否かを判別し（Ｂ−３）、判別フラグの値が０ｘＦＦＦＦＦＦＦＦであれば、現在起動時に使用しているブートプログラムはフラッシュメモリ４のアドレスＣから始まる第１のブートプログラム部１２に格納してあるものであると判断できるため、現在使用していないフラッシュメモリ４のアドレスＤから始まる第２のブートプログラム部１３のフラッシュメモリ領域を消去する（Ｂ−４）。
【００３４】
その後、ステップ（Ｂ−１）においてメモリ３に保持した新ブートプログラムデータを第２のブートプログラム部１３に書き込む（Ｂ−５）。ステップ（Ｂ−５）において新ブートプログラムデータの第２のブートプログラム部１３への書き込みが正常に完了したならば、判別フラグを更新するため、フラッシュメモリ４のアドレスＢから始まる判別フラグ部１１の先頭４バイトに０ｘ００００００００を書き込む（Ｂ−６）。
【００３５】
一方、ステップ（Ｂ−３）において判別フラグの値が０ｘＦＦＦＦＦＦＦＦでなければ、現在起動時に使用しているブートプログラムはフラッシュメモリ４のアドレスＤから始まる第２のブートプログラム部１３に格納してあるものであると判断できるため、現在使用していないフラッシュメモリ４のアドレスＣから始まる第１のブートプログラム部１２のフラッシュメモリ領域を消去する（Ｂ−７）。
【００３６】
その後、ステップ（Ｂ−１）においてメモリ３に保持した新ブートプログラムデータを第１のブートプログラム部１２に書き込む（Ｂ−８）。ステップ（Ｂ−８）において新ブートプログラムデータの第１のブートプログラム部１２への書き込みが正常に完了したならば、判別フラグを更新するため、フラッシュメモリ４のアドレスＢから始まる判別フラグ部１１の先頭４バイトのフラッシュメモリ領域に対して消去を行う（Ｂ−９）。これは、フラッシュメモリ領域に対して消去を行うとフラッシュメモリの特性上消去されたエリアが０ｘＦＦＦＦＦＦＦＦになることを利用したものである。
【００３７】
以上の手順によって、新しいブートプログラムの書き込み時には、２つあるブートプログラムエリアを交互に書き換えることによって効率的に書き換えを行うことができる。
【００３８】
【発明の効果】
以上説明したように、本発明によれば、専用のアドレス変換回路を設ける必要なく、また、効率的にブートプログラムの書き換えを行うことができる画像処理装置を提供することができる。
【図面の簡単な説明】
【図１】本発明による画像処理装置の一実施の形態の構成を示すブロック図である。
【図２】図１に示した画像処理装置１のメモリマッピングおよびそれぞれの格納内容を示す図であり、（ａ）はフラッシュメモリ４のマッピングを示す図、（ｂ）はメモリ３のマッピングを示す図である。
【図３】本実施の形態の画像処理装置において、電源投入またはリセットがされたときの起動処理を示すフローチャートである。
【図４】本実施の形態の画像処理装置において、電源投入またはリセットがされたときの起動処理を示すフローチャートである。
【符号の説明】
１  画像処理装置
２  ＣＰＵ
３  メモリ
４  フラッシュメモリ
５  デバイスコントローラ
６  システムバス
１０  判別プログラム部
１１  判別フラグ部
１２  第１のブートプログラム部
１３  第２のブートプログラム部
１４  新ブートプログラム領域
【図１】
2004355310.tif 000003
【図２】
2004355310.tif 000004
【図３】
2004355310.tif 000005
【図４】
2004355310.tif 000006