(57)【要約】【課題】  ファームウェアの変更のために、装置に取り付けられた記憶媒体を物理的に交換することや、ファームウェア自体を外部から書き換えることなく、出荷された製品モデルに応じたファームウェアを適用可能な画像形成装置を提供する。【解決手段】  同一処理部を動作させうる複数のファームウェアを保持するデータ保持手段と、前記処理部に対して適用させるファームウェアの変更要求を取得する変更要求取得手段と、前記変更要求取得手段を介した変更要求の受け付け可否を判断し、変更要求の受け付けを許可した場合に、適用させるファームウェアを変更する制御手段とを備えることを特徴とする画像形成装置。【選択図】  図１
2016015684.tif 000002
【特許請求の範囲】
【請求項１】
同一処理部を動作させうる複数のファームウェアを保持するデータ保持手段と、
前記処理部に対して適用させるファームウェアの変更要求を取得する変更要求取得手段と、
前記変更要求取得手段を介した変更要求の受け付け可否を判断し、変更要求の受け付けを許可した場合に、適用させるファームウェアを変更する制御手段とを備えること
を特徴とする画像形成装置。
【請求項２】
前記制御手段は、変更要求の受け付けを許可する状態から不許可とする状態に変更するときに、複数のファームウェアの内、適用されたファームウェア以外の他のファームウェアの少なくとも一部を前記データ保持手段から消去させること
を特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記制御手段は、装置が製造中であるか又は出荷中であるかの状況に応じて適用させるファームウェアの変更要求の受け付け可否を判断すること
を特徴とする請求項１又は請求項２に記載の画像形成装置。
【請求項４】
適用させるファームウェアを特定するための設定値を保持する設定値保持手段を備え、
前記変更要求取得手段は、前記設定値の変更要求を取得すること
を特徴とする請求項１乃至請求項３の何れか１項に記載の画像形成装置。
【請求項５】
前記設定値保持手段は、装置本体に対して着脱自在な可搬性記憶装置に設けられること
を特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記処理部は所定のファイル名を有するファームウェアを使用可能とし、前記変更要求取得手段は、適用されたファームウェアのファイル名を前記所定のファイル名に上書きする変更要求を取得すること
を特徴とする請求項１乃至請求項３の何れか１項に記載の画像形成装置。
【請求項７】
複数のファームウェアには、装置電源投入時に前記処理部に適用され、適用させるファームウェアの変更機能を奏することが可能な保守用ファームウェアと、次の装置電源投入時に適用させるファームウェアの変更機能を奏することが不能な出荷用ファームウェアとが含まれること
を特徴とする請求項１乃至請求項６の何れか１項に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置に関するものである。
【背景技術】
【０００２】
近年、プリント機能を備えた画像形成装置や、コピー、スキャナ、ファックス、プリント等の複数の機能を兼ね備えた複合機、又はＭＦＰ（Multifunction Peripheral）と呼ばれる画像形成装置が普及している。
【０００３】
これらの画像形成装置の中には、装置を動作させるためのメインファームウェアを格納したＦｌａｓｈメモリ等の記憶媒体の交換・書き換えを行うことにより、画像形成装置の制御基板を交換することなく、異なる仕向け先に対応することや、異なる装置仕様に対応することを可能とするものがある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−３１４７９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ファームウェアの変更のために、装置に取り付けられている記憶媒体を交換する従来の方法では、その物理的な交換に時間を要するとともに、交換のための部品を別途準備する必要があり、製造コストが増大するといった問題があった。
【０００６】
上記記憶媒体の物理的な交換に代えて、装置外部からファームウェアを書き換えることも可能であるが、ファームウェアの書き換えには長い書き換え時間を要し、結果として製造にかかる時間が長くなるため、製造コストの増大を招く要因となっていた。
【０００７】
本発明はこのような実状に鑑みてなされたものであり、本発明の課題は、ファームウェアの変更のために、装置に取り付けられた記憶媒体を物理的に交換することや、ファームウェア自体を外部から書き換えることなく、出荷された製品モデルに応じたファームウェアを適用可能な画像形成装置を提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明に係る画像形成装置は、同一処理部を動作させうる複数のファームウェアを保持するデータ保持手段と、前記処理部に対して適用させるファームウェアの変更要求を取得する変更要求取得手段と、前記変更要求取得手段を介した変更要求の受け付け可否を判断し、変更要求の受け付けを許可した場合に、適用させるファームウェアを変更する制御手段とを備えることを特徴としている。
【発明の効果】
【０００９】
本発明によれば、ファームウェアの変更のために、装置に取り付けられた記憶媒体を物理的に交換することや、ファームウェア自体を外部から書き換えることなく、出荷された製品モデルに応じたファームウェアを適用可能な画像形成装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態に係るプリンタ０１の構成を説明するブロック図である。
【図２】第１の実施形態に係るメインファームウェアの選択工程を説明するシーケンス図である。
【図３】第２の実施形態に係るプリンタ２１の構成を説明するブロック図である。
【図４】第２の実施形態に係るメインファームウェアの選択工程を説明するシーケンス図である。
【図５】第３の実施形態に係るプリンタ３１の構成を説明するブロック図である。
【図６】第３の実施形態に係るメインファームウェアの選択工程を説明するシーケンス図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面を用いて説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【００１２】
［第１の実施形態］
図１は、本実施形態に係る画像形成装置としてのプリンタ０１の構成を説明するブロック図である。本実施系形態に係るプリンタ０１は図示せぬ印刷エンジンを備え、受信した印刷ジョブに基く画像を用紙等に印刷することが可能な画像形成装置である。
【００１３】
また、本実施形態に係るプリンタ０１は、同一処理部を動作させうる複数のファームウェアから、その製品モデルに応じたファームウェアをメインファームウェアとして選択することを短時間で容易に行うことができ、メインファームウェアの変更に係る作業時間を短縮することが可能な画像形成装置である。このような機能を奏するプリンタ０１は、図１に示すように、少なくとも、制御部０２と、記憶媒体たるＦｌａｓｈメモリ０５とを備え、外部装置たるＰＣ（Personal Computer）１３とインタフェース１２を介して接続されている。
【００１４】
制御部０２は、処理部としてのＣＰＵ（Central Processing Unit）０３と、ＲＡＭ（Random Access Memory）０４とを備える。ＣＰＵ０３はマイクロプロセッサ等から構成された、変更要求取得手段又は制御手段であり、Ｂｏｏｔファームウェア又はファームウェアに記述された処理内容を実行することで、当該Ｂｏｏｔファームウェア又はファームウェアにより奏される機能を実現する。ＲＡＭ０４は、ファームウェアを展開可能な揮発性の記憶装置であり、ＣＰＵ０３のワーキングエリアとして用いられる。そして、このような構成を備えた制御部０２は、電源ＯＮ時に、Ｆｌａｓｈメモリ０５に格納されたＢｏｏｔファームウェア０６を用い、同じくＦｌａｓｈメモリ０５に格納されたファームウェア（０８〜１１）の何れかをメインファームウェアとしてをＲＡＭ０４上に展開させ、当該メインファームウェアに記述された処理内容を実行することで、プリンタ０１全体を統括的に制御する。
【００１５】
本実施形態に係るデータ保持手段としてのＦｌａｓｈメモリ０５には、Ｂｏｏｔファームウェア０６と、ファームウェア（保守用ファーム）０８と、ファームウェア（製品ファームＡ）０９，ファームウェア（製品ファームＢ）１０，ファームウェア（製品ファームＣ）１１の３種の製品出荷用のファームウェアとが書き込まれている。そして、Ｆｌａｓｈメモリ０５は、以下に説明する出荷設定値、製品モデル設定値を保持する設定値保持領域０７を備える。
【００１６】
Ｂｏｏｔファームウェア０６は、プリンタ０１の電源ＯＮ時にＣＰＵ０３が最初に読み込むファームウェアであり、プリンタ０１全体を統括的に制御するためのファームウェアをメインファームウェアとしてＲＡＭ０４に展開させる責務を持つ。Ｂｏｏｔファームウェア０６を読み込んだＣＰＵ０３は、Ｆｌａｓｈメモリ０５の設定値保持領域０７が保持する設定値を確認してファームウェア（保守用ファーム）０８、ファームウェア（製品ファームＡ）０９、ファームウェア（製品ファームＢ）１０、又はファームウェア（製品ファームＣ）１１の何れかのファームウェアをＲＡＭ０４に展開させる。
【００１７】
ファームウェア（保守用ファーム）０８は、Ｂｏｏｔファームウェア０６を読み込んだＣＰＵ０３がＲＡＭ０４に展開させるファームウェアの１つである。ファームウェア（保守用ファーム）０８は、製品出荷後には使用されず、製品出荷用のファームウェア（製品ファームＡ）０９、ファームウェア（製品ファームＢ）１０、又はファームウェア（製品ファームＣ）１１の何れかを選択可能とするためにＲＡＭ０４に展開されるファームウェアである。
【００１８】
ファームウェア（製品ファームＡ）０９，ファームウェア（製品ファームＢ）１０，ファームウェア（製品ファームＣ）１１のそれぞれは、Ｂｏｏｔファームウェア０６を読み込んだＣＰＵ０３がＲＡＭ０４にメインファームウェアとして展開させる製品出荷用のファームウェアである。なお、本実施形態においては、製品出荷用のファームウェアとして、製品ファームＡ、製品ファームＢ、及び製品ファームＣの３種のファームウェアが存在するものとして説明するが、この個数に制限はない。この様に、製品出荷用のファームウェアが複数存在するのは、プリンタ０１には、装置仕様・ハード構成・仕向け先等が異なる複数の製品モデルが存在するためである。
【００１９】
設定値保持領域０７は、表１に示す出荷設定値及び製品モデル設定値を保持する。出荷設定値は、装置が製造又は出荷の何れかの工程にあるかを示すための設定値であり、製品モデル設定値は、Ｆｌａｓｈメモリ０５に複数書き込まれているファームウェアのうち、製品出荷用のメインファームウェアとして、そのファームウェアを使用するかを示す設定値である。
【００２０】
【表１】
2016015684.tif 000003
【００２１】
インタフェース１２は、例えば、ＬＡＮ（Local Area Network）やＵＳＢ（Universal Serial Bus）等を介した通信を制御する通信制御手段を備え、ＰＣ１３等の外部装置とのデータ送受信に関る処理を行う。インタフェース１２の主な役割としては、印刷ジョブの受信、設定値保持領域０７に書き込まれた設定値を書き換えるための書き換えデータの受信、又は外部装置に対する応答の返信等である。
【００２２】
ＰＣ１３は、印刷ジョブや設定値保持領域０７に書き込まれた設定値を書き換えるための書き換えデータをプリンタ０１に対して送信する外部装置である。
【００２３】
次に、上記構成を備えたプリンタ０１の動作について、図１並びに表１に加え、表２、表３、表４、及び図２のメインファームウェア選択シーケンス図を用いて説明する。
【００２４】
表２は、設定値保持領域０７における設定項目の値とプリンタ０１の振る舞いとの関係を説明する表である。
【００２５】
【表２】
2016015684.tif 000004
【００２６】
表２に示されるように、設定値保持領域０７における出荷設定値が０ｘＦＦ（製造中）の場合(Ｎｏ１〜Ｎｏ４)、ＰＣ１３から製品モデル設定値の書き換えを行うことができる。一方、設定値保持領域０７における出荷設定値が０ｘＦＦ以外の場合（Ｎｏ５〜Ｎｏ８）、ＰＣ１３から製品モデル設定値の書き換えを行うことができない。そして、設定値保持領域０７における製品モデル設定値に応じて、ＣＰＵ０３はＲＡＭ０４上にメインファームウェアとして展開するファームウェアを変更する。
【００２７】
表３は、設定値保持領域０７に書き込まれた設定値を書き換えるための書き換えデータとデータ受信時におけるプリンタ０１の振る舞いとの関係を説明する表である。
【００２８】
【表３】
2016015684.tif 000005
【００２９】
表３に示されるように、製品モデル設定値をファームウェア（製品ファームＡ）０９を表す０ｘ０１，ファームウェア（製品ファームＢ）１０を表す０ｘ０２，ファームウェア（製品ファームＣ）１１を表す０ｘ０３の何れかに書き換える書き換えデータは、設定値保持領域０７における出荷設定値が０ｘＦＦ（製造中）の場合に有効となり（Ｎｏ９）、製品モデル設定値は、受信した書き換えデータで示される設定値に書き換えられる。
【００３０】
また、出荷設定値を０ｘ００（出荷中）に書き換える書き換えデータは、設定値保持領域０７における出荷設定値が０ｘＦＦの場合に有効となり（Ｎｏ１１）、出荷設定値は、０ｘ００に書き換えられる。この際、製品モデル設定値に対応するファームウェア以外のファームウェアは消去される。
【００３１】
次に、プリンタ０１製造時におけるメインファームウェアの選択工程について図２のメインファームウェア選択シーケンス図を用いて説明する。なお、図２で示すメインファームウェア選択シーケンス図では、メインファームウェアとしてファームウェア（製品ファームＡ）を選択する場合の例を説明する。
【００３２】
まず、メインファームウェアを選択するために、オペレータはプリンタ０１の電源をＯＮにする（ステップＳ１−１）。なお、製品製造時における最初の電源ＯＮ時では、設定値保持領域０７の出荷設定値は０ｘＦＦ（製造中）であり、製品モデル設定値はファームウェア（保守用ファーム）０８を表す０ｘＦＦである。
【００３３】
ステップＳ１−２において、プリンタ０１の電源ＯＮに伴いＢｏｏｔファームウェア０６を読み込んだＣＰＵ０３は、設定値保持領域０７が保持する設定値を確認し、ファームウェア（保守用ファーム）０８をメインファームウェアとしてＲＡＭ０４上に展開する。
【００３４】
そして、ＣＰＵ０３は、ＲＡＭ０４上に展開されたファームウェア（保守用ファーム）０８に基づき駆動する（ステップＳ１−３）。
【００３５】
次に、オペレータは、製品モデル設定値をファームウェア（製品ファームＡ）を表す０ｘ０１に書き換えるための書き換えデータをＰＣ１３を介して送信する（ステップＳ１−４）。
【００３６】
ステップＳ１−５において、ファームウェア（保守用ファーム）０８に基づき駆動しているＣＰＵ０３は、設定値保持領域０７の出荷設定値を確認する。出荷設定値が０ｘＦＦ以外の場合、ＣＰＵ０３はステップＳ１−４において送信された書き換えデータを受け捨てる。一方、出荷設定値が０ｘＦＦ（製造中）である場合、ＣＰＵ０３は書き換えデータを受け付けるとともに、設定値保持領域０７の製品モデル設定値を０ｘ０１に書き換える。
【００３７】
そして、オペレータは、出荷設定値を０ｘ００（出荷中）に書き換える書き換えデータをＰＣ１３を介してプリンタ０１に送信する（ステップＳ１−６）。
【００３８】
ステップＳ１−７において、ファームウェア（保守用ファーム）０８に基づき駆動しているＣＰＵ０３は、設定値保持領域０７の出荷設定値を確認する。出荷設定値が０ｘＦＦ以外の場合、ＣＰＵ０３はステップＳ１−６において送信された書き換えデータを受け捨てる。一方、出荷設定値が０ｘＦＦ（製造中）である場合、ＣＰＵ０３は書き換えデータを受け付けるとともに、設定値保持領域０７の出荷設定値を０ｘ００に書き換える。
【００３９】
また、ファームウェア（保守用ファーム）０８に基づき駆動しているＣＰＵ０３は、製品モデル設定値０ｘ０１に該当するファームウェア（製品ファームＡ）以外のファームウェアを消去する（ステップＳ１−８）。この場合、ＣＰＵ０３は、ファームウェア（製品ファームＢ）１０及びファームウェア（製品ファームＣ）１１を消去する。
【００４０】
以上が、プリンタ０１製造時におけるメインファームウェアの選択工程である。上記工程により、複数の製品出荷用のファームウェアから、製品モデルに対応するファームウェアが選択され、使用されないファームウェアは消去されることになる。
【００４１】
以上のように、本実施形態によれば、装置に取り付けられたＦｌａｓｈメモリ等の記憶媒体を物理的に交換することや、メインファームウェアを外部から書き換えることなく、出荷された製品モデルに応じたメインファームウェアを適用することができる。
【００４２】
ところで、Ｆｌａｓｈメモリに書き込まれているファームウェアの中には、外部とのライセンス契約によって提供されている有料のソフトウェアパッケージが含まれる場合がある。こうした有料のソフトウェアパッケージは、出荷台数に関らず一定額であるものがあるが、装置１台当りの単価が設定され、出荷台数に応じてライセンス料を外部ライセンサーに支払う形態のものもある。
【００４３】
選択肢となる複数のファームウェアが事前に制御基板上に書き込まれる場合、結果として、製品出荷の際に選択されないファームウェアが制御基板上に書き込まれたままとなる。これに有料のソフトウェアパッケージが含まれると、出荷後に動作しないファームウェアに対してライセンス料が発生することになる。
【００４４】
しかしながら、本実施形態では、事前にＦｌａｓｈメモリに複数書き込まれているファームウェアのうち、製品モデルに対応しないファームウェアは消去される。したがって、製品出荷後には動作しないファームウェアに外部からライセンスを受けているソフトウェアパッケージが含まれている場合でも、本実施形態によれば、無用なライセンス料が発生することを防止することができる。
【００４５】
［第２の実施形態］
第１の実施形態のように、Ｆｌａｓｈメモリ０５が設定値保持領域０７を有し、当該設定値保持領域０７が保持する製品モデル設定値をＣＰＵ０３が確認することでメインファームウェアが選択される構成であると、ときに、設定値保持領域０７が保持する製品モデル設定値が誤ってファームウェア（保守用ファーム）０８を表す０ｘＦＦに初期化されたり、Ｆｌａｓｈメモリ０５上に残されているメインファームウェアを表す製品モデル設定値が該当しない値に変更されてしまった場合に、製品モデルに対応するファームウェアが存在するにも関らず、装置が起動しないといった問題が発生する可能性がある。
【００４６】
本実施形態では、Ｂｏｏｔファームウェア０６を読み込んだＣＰＵ０３が設定値保持領域０７が保持する製品モデル設定値を確認する工程を廃しながらも、第１の実施形態と同等な効果を得ることができ、更に、製品モデルに対応するメインファームウェアが存在するにも関らず、装置が起動しないといった問題を回避することが可能な本発明の他の形態について説明する。
【００４７】
図３は、本実施形態に係る画像形成装置としてのプリンタ２１の構成を説明するブロック図である。なお、本実施形態の説明においては、第１の実施形態と同一な構成については同一の符号を付してその説明を省略する。
【００４８】
プリンタ２１は、第１の実施形態に係るプリンタ０１が備えるＦｌａｓｈメモリ０５に替えてＦｌａｓｈメモリ０５'を備える。
【００４９】
本実施形態に係るＦｌａｓｈメモリ０５'には、Ｂｏｏｔファームウェア０６と、ＲＡＭ展開用メインファームウェア２０：ファームウェア（保守用ファーム）０８'と、ファームウェア（製品ファームＡ）０９'，ファームウェア（製品ファームＢ）１０'，ファームウェア（製品ファームＣ）１１'の３種の製品出荷用のファームウェアとが書き込まれている。
【００５０】
Ｂｏｏｔファームウェア０６は、プリンタ０１の電源ＯＮ時にＣＰＵ０３が最初に読み込むファームウェアであり、プリンタ２１全体を統括的に制御するためのファームウェアをメインファームウェアとしてＲＡＭ０４に展開させる責務を持つ。Ｂｏｏｔファームウェア０６を読み込んだＣＰＵ０３は、Ｆｌａｓｈメモリ０５'上において、ＲＡＭ展開用メインファームウェア２０を表す固定ファイル名（例：ＦＬＡＳＨＯ：／ｍａｉｎｆｉｒｍ．ｄａｔ）を持ったファームウェアをメインファームウェアとしてＲＡＭ０４に展開させる。
【００５１】
ＲＡＭ展開用メインファームウェア２０は、Ｆｌａｓｈメモリ０５'のＦＬＡＳＨＯパーティションにｍａｉｎｆｉｒｍ．ｄａｔというファイル名で書き込まれている。製造時には、ＲＡＭ展開用メインファームウェア２０にはファームウェア（保守用ファーム）０８'が対応付けられており、Ｂｏｏｔファームウェア０６を読み込んだＣＰＵ０３は、プリンタ２１の電源ＯＮ時に当該ＲＡＭ展開用メインファームウェア２０としてファームウェア（保守用ファーム）０８'をＲＡＭ０４に展開させる。ファームウェア（保守用ファーム）０８'は、製品出荷後には使用されず、ファームウェア（製品ファームＡ）０９'、ファームウェア（製品ファームＢ）１０'、又はファームウェア（製品ファームＣ）１１'の何れかを選択可能とするためにＲＡＭ０４に展開されるファームウェアである。
【００５２】
ファームウェア（製品ファームＡ）０９'，ファームウェア（製品ファームＢ）１０'，ファームウェア（製品ファームＣ）１１'のそれぞれは、製造時にＦｌａｓｈメモリ０５'のＦＬＡＳＨＯパーティションにｆｉｒｍＡ．ｄａｔ，ｆｉｒｍＢ．ｄａｔ，ｆｉｒｍＣ．ｄａｔというファイル名で書き込まれている。Ｂｏｏｔファームウェア０６を読み込んだＣＰＵ０３は、ＦＬＡＳＨＯパーティションに書き込まれたｍａｉｎｆｉｒｍ．ｄａｔというファイル名を有するファームウェアのみをメインファームウェアとしてＲＡＭ０４に展開させるため、この時点では、それぞれ、ｆｉｒｍＡ．ｄａｔ，ｆｉｒｍＢ．ｄａｔ，ｆｉｒｍＣ．ｄａｔとのファイル名を有するファームウェア（製品ファームＡ）０９'、ファームウェア（製品ファームＢ）１０'、ファームウェア（製品ファームＣ）１１'はＲＡＭ０４上に展開されることはない。なお、本実施形態においては、製品出荷用のファームウェアとして、製品ファームＡ、製品ファームＢ、及び製品ファームＣの３種のファームウェアが存在するものとして説明するが、この個数に制限はない。この様に、製品出荷用のファームウェアが複数存在するのは、プリンタ２１には、装置仕様・ハード構成・仕向け先等が異なる複数の製品モデルが存在するためである。
【００５３】
インタフェース１２'は、例えば、ＬＡＮやＵＳＢ等を介した通信を制御する制御手段を備え、ＰＣ１３'等の外部装置とのデータ送受信に関る処理を行う。インタフェース１２の主な役割としては、印刷ジョブの受信、ファームウェア（製品ファームＡ）０９'，ファームウェア（製品ファームＢ）１０'，ファームウェア（製品ファームＣ）１１'の何れかのファイル名をＲＡＭ展開用メインファームウェアのファイル名に書き換えるための書き換えデータの受信、又は外部装置に対する応答の返信等である。
【００５４】
ＰＣ１３'は、印刷ジョブやファームウェア（製品ファームＡ）０９'，ファームウェア（製品ファームＢ）１０'，ファームウェア（製品ファームＣ）１１'の何れかのファイル名をＲＡＭ展開用メインファームウェアのファイル名に書き換えるための書き換えデータをプリンタ２１に対して送信する外部装置である。
【００５５】
次に、上記構成を備えたプリンタ２１の動作について、図３、表４及び図４のメインファーム選択シーケンス図を用いて説明する。
【００５６】
表４は、製品出荷用のファームウェアのファイル名をＲＡＭ展開用メインファームウェアのファイル名に書き換えるための書き換えデータとプリンタ２１の振る舞いとの関係を説明する表である。
【００５７】
【表４】
2016015684.tif 000006
【００５８】
表４のＮｏ１５〜Ｎｏ１７に示されるように、ＲＡＭ０４上に展開されているファームウェアがファームウェア（保守用ファーム）０８'である場合、プリンタ２１は、製品出荷用のファームウェアのファイル名をＲＡＭ展開用メインファームウェアのファイル名に書き換えるための書き換えデータを受け付ける処理をし、かつ、他のファームウェアを消去する。
【００５９】
また、表４のＮｏ１８〜Ｎｏ２０に示されるように、ＲＡＭ０４上に展開されているファームウェアがファームウェア（保守用ファーム）０８'以外である場合、プリンタ２１は、製品出荷用のファームウェアのファイル名をＲＡＭ展開用メインファームウェアのファイル名に書き換えるための書き換えデータを受け捨てる。
【００６０】
次に、プリンタ２１製造時におけるメインファームウェアの選択工程について図４のメインファームウェア選択シーケンス図を用いて説明する。なお、図４で示すメインファームウェア選択シーケンス図では、メインファームウェアとしてファームウェア（製品ファームＡ）を選択する場合の例を説明する。
【００６１】
まず、メインファームウェアを選択するために、オペレータはプリンタ２１の電源をＯＮにする（ステップＳ２−１）。なお、製品製造時における最初の電源ＯＮ時では、ＲＡＭ展開用メインファームウェア２０としてファームウェア（保守用ファーム）０８'がＦＬＡＳＨＯパーティションにｍａｉｎｆｉｒｍ．ｄａｔというファイル名で書き込まれている。
【００６２】
ステップＳ２−２において、プリンタ２１の電源ＯＮに伴いＢｏｏｔファームウェア０６を読み込んだＣＰＵ０３は、ＦＬＡＳＨＯパーティションにｍａｉｎｆｉｒｍ．ｄａｔとして書き込まれているファームウェア（保守用ファーム）０８'をメインファームウェアとしてＲＡＭ０４上に展開する。
【００６３】
そして、ＣＰＵ０３は、ＲＡＭ０４上に展開されたファームウェア（保守用ファーム）０８'に基づき駆動する（ステップＳ２−３）。
【００６４】
次に、オペレータは、ファームウェア（製品ファームＡ）０９'のファイル名（ｆｉｒｍＡ．ｄａｔ）をＲＡＭ展開用メインファームウェアのファイル名（ｍａｉｎｆｉｒｍ．ｄａｔ）に書き換えるための書き換えデータをＰＣ１３を介して送信する（ステップＳ２−４）。
【００６５】
ステップＳ２−５において、ＣＰＵ０３はファームウェア（保守用ファーム）０８'に基づき駆動しているため、送信された書き換えデータを受け付ける。一方、メインファームウェアとしてＲＡＭ０４上に展開されたファームウェアが、ファームウェア（製品ファームＡ）０９'，ファームウェア（製品ファームＢ）１０'，ファームウェア（製品ファームＣ）１１'の何れかである場合、ＣＰＵ０３は送信された書き換えデータを受け付けない。
【００６６】
ファームウェア（保守用ファーム）０８'に基づき駆動しているＣＰＵ０３は、ファームウェア（製品ファームＡ）０９'のファイル名（ｆｉｒｍＡ．ｄａｔ）をＲＡＭ展開用メインファームウェアのファイル名（ｍａｉｎｆｉｒｍ．ｄａｔ）に上書きして変更する（ステップＳ２−６）。この結果、ＦＬＡＳＨＯパーティションには、ファームウェア（製品ファームＡ）０９'がｍａｉｎｆｉｒｍ．ｄａｔというファイル名で存在することになる。そして、ＦＬＡＳＨＯパーティション上のファームウェア（保守用ファーム）０８'は、当該上書きにより消去される。
【００６７】
また、ファームウェア（保守用ファーム）０８'に基づき駆動しているＣＰＵ０３は、ファームウェア（製品ファームＡ）０９'以外のファームウェア（ファームウェア（製品ファームＢ）１０'，ファームウェア（製品ファームＣ）１１'）を消去する（ステップＳ２−７）。この結果、ＦＬＡＳＨＯパーティション上には、ファームウェア（製品ファームＡ）０９'のみがｍａｉｎｆｉｒｍ．ｄａｔというファイル名で存在することになる。
【００６８】
以上が、プリンタ２１製造時におけるメインファームウェアの選択工程である。上記工程により、複数の製品出荷用のファームウェアから、製品モデルに対応するファームウェアが選択され、使用されないファームウェアは消去されることになる。
【００６９】
以上のように、第２の実施形態によれば、第１の実施形態の効果に加え、製品モデルに対応するメインファームウェアが存在するにも関らず、装置が起動しないといった問題を回避することができる。
【００７０】
［第３の実施形態］
本実施形態では、第２の実施形態と同様に、Ｂｏｏｔファームウェア０６を読み込んだＣＰＵ０３が設定値保持領域０７が保持する製品モデル設定値を確認する工程を廃しながらも、第１の実施形態及び第２の実施形態と同等な効果が得られるとともに、オペレータが、製品モデル設定値を書き換えるための書き換えデータ、又はファームウェアのファイル名を書き換えるための書き換えデータ等をＰＣ１３を介して送信する必要が無く、出荷された製品モデルに応じたメインファームウェアの選択に係る手間を軽減することが可能な本発明の他の形態について説明する。
【００７１】
図５は、本実施形態に係る画像形成装置としてのプリンタ３１の構成を説明するブロック図である。なお、本実施形態の説明においては、第１の実施形態又は第２の実施形態と同一な構成については同一の符号を付してその説明を省略する。
【００７２】
プリンタ３１は、第１の実施形態に係るＦｌａｓｈメモリ０５又は第２の実施形態に係るＦｌａｓｈメモリ０５'に替えてＦｌａｓｈメモリ０５''を有し、可搬性記憶装置としてのＵＳＢメモリ２１と接続可能なＵＳＢＨｏｓｔポート２２を備える。
【００７３】
本実施形態に係るＦｌａｓｈメモリ０５''には、Ｂｏｏｔファームウェア０６'と、出荷設定値を保持する設定値保持領域０７'と、ファームウェア（製品ファームＡ）０９'，ファームウェア（製品ファームＢ）１０'，ファームウェア（製品ファームＣ）１１'の３種の製品出荷用のファームウェアとが書き込まれている。
【００７４】
Ｂｏｏｔファームウェア０６'は、プリンタ３１の電源ＯＮ時にＣＰＵ０３が最初に読み込むファームウェアであり、プリンタ３１全体を統括的に制御するためのファームウェアをメインファームウェアとしてＲＡＭ０４に展開させる責務を持つ。Ｂｏｏｔファームウェア０６'を読み込んだＣＰＵ０３は、Ｆｌａｓｈメモリ０５''の設定値保持領域０７'が保持する出荷設定値を確認する。ここで、設定値保持領域０７'が保持する出荷設定値が出荷中を表す０ｘ００である場合、ＣＰＵ０３は、Ｆｌａｓｈメモリ０５''において固定ファイル名（例：ＦＬＡＳＨＯ：／ｍａｉｎｆｉｒｍ．ｄａｔ）を有するファームウェアをメインファームウェアとみなし、ＲＡＭ０４上に展開させる。一方、設定値保持領域０７'が保持する出荷設定値が製造中を表す０ｘＦＦである場合、ＣＰＵ０３は、ＵＳＢＨｏｓｔポート２２を介してＵＳＢメモリ２１にアクセスし、当該ＵＳＢメモリ２１に書き込まれている設定ファイルに応じた処理を行う。
【００７５】
設定値保持領域０７'は、表５に示す出荷設定値及び製品モデル設定値を保持する。出荷設定値は、装置が製造又は出荷の何れかの工程にあるかを示すための設定値である。
【００７６】
【表５】
2016015684.tif 000007
【００７７】
ＵＳＢＨｏｓｔポート２２は、ＵＳＢメモリ２１との接続を可能とするコネクタと、ＵＳＢメモリ２１に対する情報の読み込み・書き込みを制御するコントローラとを備える。
【００７８】
ＵＳＢメモリ２１は、メインファームウェアとしてＲＡＭ０４上に展開されるファームウェアを定義する設定ファイル（ｐｒｉｎｔｅｒｃｏｎｆｉｇ．ｄａｔ）を書き込むことが可能であるとともに、ＵＳＢＨｏｓｔポート２２を介して当該設定ファイルの読み込みが可能な可搬性記憶装置であり、記憶素子として、例えば、Ｆｌａｓｈメモリ等の半導体メモリを用いることができる。
【００７９】
表６は、ＵＳＢメモリ２１に書き込まれている設定ファイル（ｐｒｉｎｔｅｒｃｏｎｆｉｇ．ｄａｔ）の設定値とプリンタ３１との振る舞いとの関係を説明する表である。
【００８０】
【表６】
2016015684.tif 000008
【００８１】
表６のＮｏ２１〜Ｎｏ２３に示されるように、出荷設定値が製造中を表す０ｘＦＦである場合、ＣＰＵ０３は、ＵＳＢＨｏｓｔポート２２を介してＵＳＢメモリ２１にアクセスし、設定ファイルの設定値に従い、製品出荷用のファームウェアのファイル名をＲＡＭ展開用メインファームウェアのファイル名に書き換えるための書き換えデータの受け付け処理を行う。そして、ＣＰＵ０３は、他の製品出荷用のファームウェアを消去し、設定値保持領域０７'における出荷設定値を出荷中を表す０ｘ００に書き換える。
【００８２】
また、表６のＮｏ２４〜Ｎｏ２６に示されるように、出荷設定値が出荷中を表す０ｘ００である場合、ＣＰＵ０３は、ＳＢＨｏｓｔポート２２を介してＵＳＢメモリ２１にアクセスしない。
【００８３】
次に、プリンタ３１製造時におけるメインファームウェアの選択工程について図６のメインファームウェア選択シーケンス図を用いて説明する。なお、図６で示すメインファームウェア選択シーケンス図では、メインファームウェアとしてファームウェア（製品ファームＡ）を選択する場合の例を説明する。
【００８４】
まず、メインファームウェアを選択するために、オペレータはファームウェア（製品ファームＡ）を選択する設定ファイルが書き込まれたＵＳＢメモリ２１をＵＳＢＨｏｓｔポート２２を介してプリンタ３１に装着する（ステップＳ３−１）。
【００８５】
次に、オペレータはプリンタ３１の電源をＯＮにする（ステップＳ３−２）。なお、製品製造時における最初の電源ＯＮ時では、設定値保持領域０７'の出荷設定値は０ｘ００（製造中）である。
【００８６】
ステップＳ３−２において、プリンタ３１の電源ＯＮに伴いＢｏｏｔファームウェア０６'を読み込んだＣＰＵ０３は、設定値保持領域０７'が保持する出荷設定値を確認する（ステップＳ３−３）。
【００８７】
ここで、設定値保持領域０７'が保持する出荷設定値が出荷中を表す０ｘ００である場合（ステップＳ３−４  Ｙｅｓ）、Ｂｏｏｔファームウェア０６'を読み込んだＣＰＵ０３は、Ｆｌａｓｈメモリ０５''において固定ファイル名（例：ＦＬＡＳＨＯ：／ｍａｉｎｆｉｒｍ．ｄａｔ）を有するファームウェアをメインファームウェアとみなし、ＲＡＭ０４上に展開させようとするが、この時点では、メインファームウェアとするファームウェアが存在しないため、Ｂｏｏｔファームウェア０６'を読み込んだＣＰＵ０３は処理を終了する（ステップＳ３−５）。
【００８８】
一方、設定値保持領域０７'が保持する出荷設定値が出荷中を表す０ｘ００でない場合、換言すると、出荷設定値が製造中を表す０ｘＦＦである場合（ステップＳ３−４  Ｎｏ）、Ｂｏｏｔファームウェア０６'を読み込んだＣＰＵ０３は、ＵＳＢＨｏｓｔポート２２を介してＵＳＢメモリ２１にアクセスし、当該ＵＳＢメモリ２１に書き込まれている設定ファイルを読み込む（ステップＳ３−６）。
【００８９】
ステップＳ３−７において、Ｂｏｏｔファームウェア０６'を読み込んだＣＰＵ０３は、ＵＳＢメモリ２１から読み込んだ設定ファイルに基づき、ファームウェア（製品ファームＡ）０９'のファイル名（ｆｉｒｍＡ．ｄａｔ）をＲＡＭ展開用メインファームウェアのファイル名（ｍａｉｎｆｉｒｍ．ｄａｔ）に上書きして変更する。
【００９０】
また、Ｂｏｏｔファームウェア０６'を読み込んだＣＰＵ０３は、ファームウェア（製品ファームＡ）０９'以外のファームウェア（ファームウェア（製品ファームＢ）１０'，ファームウェア（製品ファームＣ）１１'）を消去し（ステップＳ３−８）、次いで、設定値保持領域０７'における出荷設定値を出荷中を表す０ｘ００に書き換える（ステップＳ３−９）。
【００９１】
これらのプリンタ３１製造時におけるメインファームウェアの選択工程が終了すると、オペレータはプリンタ３１の電源をＯＦＦにする（ステップＳ３−１０）。
【００９２】
オペレータが、次にプリンタ３１の電源をＯＮにすると、プリンタ３１はファームウェア（製品ファームＡ）０９'をメインファームウェアとして駆動することになる。
【００９３】
以上が、プリンタ３１製造時におけるメインファームウェアの選択工程である。上記工程により、複数の製品出荷用のファームウェアから、製品モデルに対応するファームウェアが選択され、使用されないファームウェアは消去されることになる。
【００９４】
以上のように、第３の実施形態によれば、第１の実施形態及び第２の実施形態の効果に加え、出荷された製品モデルに応じたメインファームウェアの選択に係る手間を軽減することができる。
【００９５】
本発明の実施形態の説明において、画像形成装置の好適な例としてプリンタを一例にして説明したが、本発明はＭＦＰ、ファクシミリ、複写装置、ディジタル複合機、プリンタ複合機等にも適用可能である。
【符号の説明】
【００９６】
０１，２１，３１  画像形成装置
０２  制御部
０３  ＣＰＵ
０４  ＲＡＭ
０５，０５'，０５''  Ｆｌａｓｈメモリ
０６，０６'  Ｂｏｏｔファームウェア
０７，０７'  設定値保持領域
０８，０８'  ファームウェア（保守用ファーム）
０９，０９'  ファームウェア（製品ファームＡ）
１０，１０'  ファームウェア（製品ファームＢ）
１１，１１'  ファームウェア（製品ファームＣ）
１２  インタフェース
１３  ＰＣ
２０  ＲＡＭ展開用メインファームウェア
２１  ＵＳＢメモリ
２２  ＵＳＢＨｏｓｔポート
【図１】
2016015684.tif 000009
【図２】
2016015684.tif 000010
【図３】
2016015684.tif 000011
【図４】
2016015684.tif 000012
【図５】
2016015684.tif 000013
【図６】
2016015684.tif 000014