(57)【要約】【課題】ファームウェアの更新のような手間無しで、開発者でなくとも、簡易、迅速に使用者の所望する結果が得られるように組み込みシステムの動作や得られる結果を変更できるようにする。【解決手段】組み込みシステムは、ビルド済であって含まれるそれぞれの処理に識別番号が付されたファームウェアを記憶する第１記憶部と、ファームウェアに従って処理を実行する処理部と、識別番号を用いてファームウェアに含まれる処理の有効、無効を定義するための定義ファイルを取得する取得部と、取得部で取得された定義ファイル記憶する第２記憶部と、を含み、処理部は、ファームウェアに含まれる処理のうち、定義ファイルに基づいて有効と認められる識別番号が付された処理を実行し、無効と認められる識別番号が付された処理については、処理を実行しない。【選択図】図９
2015141697.tif 000002
【特許請求の範囲】
【請求項１】
実行可能な形式にビルド済であって含まれるそれぞれの処理に識別番号が付されたファームウェアを不揮発的に記憶する第１記憶部と、
前記ファームウェアに従って処理を実行する処理部と、
前記識別番号を用いて前記ファームウェアに含まれる処理の有効、無効を定義するための定義ファイルを取得する取得部と、
前記取得部で取得された前記定義ファイル記憶する第２記憶部と、を含み、
前記処理部は、前記ファームウェアに含まれる処理のうち、前記定義ファイルに基づいて有効と認められる前記識別番号が付された処理を実行し、無効と認められる前記識別番号が付された処理については、処理を実行しないことを特徴とする組み込みシステム。
【請求項２】
組み込みシステムに関するレポートの印刷を行う印刷部を含み、
前記第２記憶部は、前記ファームウェアで定められた処理に基づいて読み出されるデータである読出対象データを記憶し、
前記ファームウェアは、前記第２記憶部の前記読出対象データのなかから、前記レポートの印刷に必要なデータの読み出しと、読み出したデータを前記印刷部に印刷させるための処理を含み、
前記レポートを印刷するとき、前記処理部は、前記定義ファイルに基づいて、前記レポートの印刷に必要と定められた前記ファームウェアに含まれる各処理を実行すべきか否かを確認し、有効な処理については、前記読出対象データのなかから処理の定義に応じたデータを読み出し、読み出したデータを前記レポート内に印刷させ、無効な処理については、前記読出対象データから処理の定義に応じたデータを読み出さないようにして、無効な処理に対応するデータが前記レポートに印刷されないようにすることを特徴とする請求項１に記載の組み込みシステム。
【請求項３】
組み込みシステムに関するレポートを表示する表示部を含み、
前記第２記憶部は、前記ファームウェアで定められた処理に基づいて読み出されるデータである読出対象データを記憶し、
前記ファームウェアは、前記第２記憶部の前記読出対象データのなかから、前記レポートの表示に必要なデータの読み出しと、読み出したデータを前記表示部に表示させるための処理を含み、
前記レポートを表示するとき、前記処理部は、前記定義ファイルに基づいて、前記レポートの表示に必要と定められた前記ファームウェアに含まれる各処理を実行すべきか否かを確認し、有効な処理については、前記読出対象データのなかから処理の定義に応じたデータを読み出し、読み出したデータを前記レポート内に表示させ、無効な処理については、前記読出対象データから処理の定義に応じたデータを読み出さないようにして、無効な処理に対応するデータが前記レポートに表示されないようにすることを特徴とすることを特徴とする請求項１又は２に記載の組み込みシステム。
【請求項４】
前記定義ファイルは、有効とする処理の前記識別番号が定められるとともに無効にする前記識別番号を含まない、又は、有効とする処理の前記識別番号を含まないとともに無効にする前記識別番号を含む形式で定義されることを特徴とする請求項１乃至３の何れか１項に記載の組み込みシステム。
【請求項５】
前記取得部は、接続された携帯可能な記憶媒体から前記定義ファイルを取得し、
前記第２記憶部は、前記取得部が取得した前記定義ファイルに基づき、前記定義ファイルを更新することを特徴とする請求項１乃至４の何れか１項に記載の組み込みシステム。
【請求項６】
請求項１乃至５の何れか１項に記載の組み込みシステムを含むことを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械、装置に組み込まれる組み込みシステムに関する。また、組み込みシステムを含む画像形成装置に関する。
【背景技術】
【０００２】
複合機のような画像形成装置では、複合機が有する機能単位（例えば、プリント用、スキャン用、コピー用、ファクシミリ用など）で、基本的なソフトウェアが開発される場合がある。そして、これらのソフトウェアは、複合機の不揮発性メモリーに記憶されることがある。また、各使用者の個別の要望に応えられるように、基本的なソフトウェアとは別に、メーカーやソフトウェア開発会社によって、アプリケーションが開発されることがある。ここで、画像形成装置では、複数のソフトウェアやアプリケーションが並行して実行される場合がある。そして、複数のソフトウェアやアプリケーションが共有メモリーのうちの同じ領域を競合して使用しない（同時使用しない）ようにする必要がある。そこで、アプリケーションやプログラムで共有メモリーキーの値が重複しないように調停を行う画像形成装置の一例が特許文献１に記載されている。
【０００３】
具体的に、特許文献１には、共有メモリー領域に固有の共有メモリー識別情報と、前記共有メモリー領域を割り当てられたアプリケーションに固有のアプリ識別情報とを対応付けて保持する共有メモリー管理情報を記憶し、アプリケーションからの要求メッセージを受信し、受信メッセージが共有メモリー識別情報の作成要求であるか否かを判断し、作成要求であるとき、共有メモリー管理情報において登録されていない共有メモリー識別情報を決定し、決定された共有メモリー識別情報を、作成要求を行ったアプリケーションに送信する調停手段を備えた画像形成装置が記載されている。この構成により、共有メモリーの識別情報の内容を意識してアプリケーションを開発する必要がなくして、プログラム開発の効率を高めようとする（特許文献１：請求項１、段落［００１０］等参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−０６５７１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
画像形成装置は、複数のハードウェア（印刷を行う部分、原稿を読み取る部分、通信を行う部分、表示を行う部分など）を含み、これらのハードウェアを動作させるためのソフトウェア（ファームウェア）が組み込まれる組み込みシステムの一種といえる。一般に、ファームウェアは、ＲＯＭに書き込まれる形で、組み込みシステムに組み込まれる。ＲＯＭに書き込む場合、ファームウェアのソースコードに対し、コンパイルやリンクを実行して実行可能な形式にした後（ビルドした後）、ファームウェアがＲＯＭに書き込まれる。
【０００６】
このように、ファームウェアは、ＲＯＭに固定的に書き込まれるなど、ハードウェアとの結びつきが強い場合がある。そのため、組み込みシステムの動作を変更し、ファームウェアの実行結果が変わるように、ファームウェアを変更（更新）することが難しい場合がある。これは、ファームウェアを変更するには、変更後のファームウェアのソースコードを作成し、変更後のソースコードを再びビルドし、ＲＯＭ内のファームウェアをビルド後のものに更新することが必要であり、手間がかかるためである。また、書き換えできないＲＯＭが用いられる場合には、ＲＯＭ自体を付け替えることになる。
【０００７】
画像形成装置でのレポート印刷を例に挙げる。レポート印刷とは、装置の状態を示すようなファームウェアで予め定められた情報や項目を含むレポートを印刷したり、表示させたりする機能である。例えば、レポートの印刷の実行が指示されたとき、ファームウェアのうち、レポートの印刷を行うための処理（関数や命令など）が定義された部分が実行され、所定の情報を含む印刷物（定形内容の印刷物）が画像形成装置から印刷出力される。
【０００８】
レポートのうち、使用者が特定の情報（項目）を印刷しないようなカスタマイズを行いたいとき、従来、非常に手間がかかっている。例えば、カスタマイズの希望者は、画像形成装置の製造者に要望を出す。製造者側では、要望の受け付けやカスタマイズの内容検討を行った後、カスタマイズに対応したファームウェアを作成する。そして、新たなファームウェアのテストを経て、新たなファームウェアをビルドし、ビルド後の新ファームウェアを、カスタマイズを行う装置にインストールする（ファームウェアの書き換えやＲＯＭの交換）。このように、組み込みシステムでは、ファームウェアの更新に非常に手間や時間を要する場合があるという問題がある。
【０００９】
特許文献１記載の技術では、共有メモリーの競合は避けられると考えられるが、カスタマイズや、ファームウェアの更新には、多くの手間や時間がかかるという問題に関する記載はなく、上記の問題に対応できない。
【００１０】
本発明は、上記従来技術の問題点に鑑みてなされたものであり、新しいファームウェアの開発や、再度のファームウェアのビルドや、ファームウェアの更新無しで、開発者でなくとも、簡易、迅速に使用者の所望する結果が得られるように組み込みシステムの動作や得られる結果を変更できるようにすることを課題とする。
【課題を解決するための手段】
【００１１】
上記課題解決のため、請求項１に係る組み込みシステムは、実行可能な形式にビルド済であって含まれるそれぞれの処理に識別番号が付されたファームウェアを不揮発的に記憶する第１記憶部と、前記ファームウェアに従って処理を実行する処理部と、前記識別番号を用いて前記ファームウェアに含まれる処理の有効、無効を定義するための定義ファイルを取得する取得部と、前記取得部で取得された前記定義ファイル記憶する第２記憶部と、を含み、前記処理部は、前記ファームウェアに含まれる処理のうち、前記定義ファイルに基づいて有効と認められる前記識別番号が付された処理を実行し、無効と認められる前記識別番号が付された処理については、処理を実行しないこととした。
【発明の効果】
【００１２】
本発明によれば、新しいファームウェアの開発や、再度のファームウェアのビルドや、ファームウェアの更新無しで、開発者でなくとも、簡易、迅速に使用者の所望する結果が得られるように組み込みシステムの動作や得られる結果を変更することができる。これにより、使用者にとって使いやすく、高い満足度が得られる組み込みシステム、画像形成装置を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係る複合機の構造を示す図である。
【図２】実施形態に係る複合機のハードウェア構成を示す図である。
【図３】実施形態に係る複合機の記憶部を説明するための図である。
【図４】（ａ）、（ｂ）は、ファームウェア内の各処理に付される識別番号と、定義ファイルを説明するための図である。
【図５】レポート設定画面を示す図である。
【図６】レポートに含まれる文字列とファームウェア内の処理の対応関係の一例を示す図である。
【図７】各処理に付された識別番号の一例を示す図である。
【図８】定義ファイルによる動作、実行結果の変更を説明するための図である。
【図９】定義ファイルに基づくファームウェアの実行の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図１〜図９を用いて、本発明の実施形態を説明する。そして、本説明では、組み込みシステム１００としての複合機１０１（画像形成装置に相当）を例に挙げて説明する。但し、本実施の形態に記載されている構成、配置等の各要素は、発明の範囲を限定するものではなく単なる説明例にすぎない。
【００１５】
（複合機１０１の概要）
まず、図１を用いて、複合機１０１の概要を説明する。図１は、実施形態に係る複合機１０１の構造を示す図である。
【００１６】
図１に示すように、本実施形態の複合機１０１は、前面に取り付けられた操作パネル１を有する。そして、複合機１０１は上部に原稿搬送部２ａと画像読取部２ｂを含む読取部２を有する。又、複合機１０１は、内部に、印刷部３として、給紙部３ａ、第１搬送部３ｂ、画像形成部３ｃ、定着部３ｄ、第２搬送部３ｅを含む。
【００１７】
まず、操作パネル１は、複合機１０１の状態や各種メッセージや設定用画面を表示する表示部１１を備える。また、表示部１１に対し、各種操作、設定を受け付けるためのタッチパネル部１２やハードキー１３が設けられる。操作パネル１は、送信方法、送信先のアドレス、用紙のサイズ及び種類、原稿のサイズ及び種類のような送信や印刷の条件などの設定を受け付ける。
【００１８】
原稿を搬送して読み取るとき、原稿搬送部２ａは、原稿トレイに載置された原稿を１枚ずつ読取位置に向けて搬送する。画像読取部２ｂは、搬送される原稿や原稿台に載置された原稿を読み取り、原稿の画像データを生成する。
【００１９】
給紙部３ａは、複数枚の用紙を収容し、印刷のとき、用紙を送り出す。第１搬送部３ｂは、給紙部３ａから供給された用紙を画像形成部３ｃまで搬送する。画像形成部３ｃは、印刷する画像データに基づき、トナー像を形成し、用紙にトナー像を転写する。定着部３ｄは、トナー像が転写された用紙を加熱・加圧して、用紙にトナー像を定着させる。第２搬送部３ｅは、定着部３ｄを通過した用紙を搬送し、機外に（排出トレイ）に排出する。
【００２０】
（複合機１０１のハードウェア構成）
次に、図２に基づき、複合機１０１のハードウェア構成を説明する。図２は、実施形態に係る複合機１０１のハードウェア構成を示す図である。
【００２１】
図２に示すように、本実施形態に係る複合機１０１は、制御部４（処理部に相当）を含む。制御部４は、複合機１０１に含まれる各部を制御する。制御部４は、ＣＰＵ４１や、印刷や送信（ファクシミリ通信を含む）に用いる画像データを生成する画像処理部４２や、その他の電子回路や素子を含む。ＣＰＵ４１は、記憶部５に格納される制御プログラム（ファームウェア６）や制御用のデータに基づき複合機１０１の各部の制御や演算を行う。記憶部５は、ＲＯＭ５１、フラッシュＲＯＭ、ＨＤＤ５３のような不揮発性の記憶装置と、ＲＡＭ５２のような揮発性の記憶装置の組み合わせで構成される。
【００２２】
そして、制御部４は、用紙搬送や、トナー像形成、転写、定着により印刷を行う印刷部３（給紙部３ａ、第１搬送部３ｂ、画像形成部３ｃ、定着部３ｄ、第２搬送部３ｅなど）と読取部２の動作を制御する。そして、制御部４は、コンピューター２００から受信した印刷用データや読取部２の原稿読み取りで得られた画像データに基づき印刷部３に印刷を行わせる（コピー機能、プリンター機能）。
【００２３】
又、制御部４には、通信部４３が接続される。制御部４は通信部４３の動作、通信処理を制御する。通信部４３は、パーソナルコンピューターやサーバーのようなコンピューター２００やファクシミリ装置３００と通信を行うためのインターフェイスである。
【００２４】
又、制御部４は、操作パネル１の表示等の動作を制御する。又、制御部４は、操作パネル１でなされた設定内容を認識し、設定内容や印刷の実行指示を認識する。
【００２５】
取得部４４は、メモリーカードや携帯型磁気記憶装置のような携帯可能な記憶媒体４００から、後述する定義ファイル８のようなデータを取得する部分である。取得部４４は、記憶媒体４００を接続するためのソケットや、接続された記憶媒体４００を認識して記憶媒体４００に格納されるデータを読み出すための回路などを含む。
【００２６】
（記憶部５）
次に、図３を用いて、記憶部５について説明する。図３は、実施形態に係る複合機１０１の記憶部５を説明するための図である。
【００２７】
図３に示すように、本実施形態の複合機１０１の記憶部５は、ＲＯＭ５１（第１記憶部に相当）、ＲＡＭ５２、ＨＤＤ５３（第２記憶部に相当）を含む。
【００２８】
ＲＯＭ５１は、制御部４の基板に実装される。ＲＯＭ５１には、ＥＥＰＲＯＭやフラッシュＲＯＭを用いることができる。そして、ＲＯＭ５１には、ファームウェア６が格納される（不揮発的に記憶される）。
【００２９】
ファームウェア６は、組み込みシステム１００（複合機１０１）に所望の動作を行わせるために組み込まれるソフトウェアである。ＲＯＭ５１には、ソースコードに対し、コンパイルやリンクを行ってビルド済みの（実行可能な形式の）ファームウェア６が記憶される。
【００３０】
本実施形態の複合機１０１は、コピー機能、プリンター機能、スキャン送信機能、ＦＡＸ機能のように、複数の機能を有する。図３に示すように、これらの各機能に応じて、コピー用ファームウェア６１、プリント用ファームウェア６２、スキャン送信用ファームウェア６３、ＦＡＸ用ファームウェア６４がＲＯＭ５１に記憶される。尚、本実施形態の複合機１０１には、ボックス機能のような上記以外の機能が搭載され、対応するファームウェア６がＲＯＭ５１に記憶されるが、上述以外のそれぞれの機能のファームウェア６の例示や説明は、割愛する。
【００３１】
操作パネル１のタッチパネル部１２やハードキー１３により、複合機１０１が有する機能のうち、何れの機能を用いるか選択できるようになっている。言い換えると、操作パネル１のタッチパネル部１２やハードキー１３のような操作部は、用いる機能を選択する入力を受け付ける。
【００３２】
そして、用いる機能が選択されると、制御部４は、予めＲＡＭ５２に読み出していたファームウェア６のうち、選択された機能に対応するファームウェア６を実行する（機能が選択されてからＲＯＭ５１からＲＡＭ５２に対応するファームウェア６が読み出されてもよい）。そして、制御部４は、ファームウェア６のうち、操作パネル１でなされた操作、入力や、ジョブの実行指示に応じた部分の処理（命令、関数、ルーチンなど）を実行する。その結果、制御部４は、操作パネル１への入力に応じた表示を表示部１１に行わせたり、印刷を印刷部３に行わせたり、読取部２に原稿を読み取らせたり、通信部４３に画像データの送信を行わせる。
【００３３】
また、記憶部５は、ＨＤＤ５３を含む。ＨＤＤ５３は、コネクタやコードなどで制御部４の基板と通信可能に接続される。ＨＤＤ５３に変えてＳＳＤやフラッシュＲＯＭが用いられてもよい。そして、ＨＤＤ５３は、制御用データ５３ａや、画像データや、ファームウェア６で定められた処理に基づいて読み出されるデータ（読出対象データ７）など、様々なデータを記憶する（詳細は後述）。
【００３４】
例えば、ＨＤＤ５３は、制御用データ５３ａとして、印刷部３や読取部２に動作を行わせるときの設定値やパラメータのようなデータを記憶する。制御部４は、ファームウェア６に基づく理の実行に応じ、制御用データ５３ａ中の必要なデータへのアクセス（ＲＡＭ５２への読み出し）が行われる。制御部４は、読み出されたデータに基づき、制御、処理を行う。
【００３５】
（識別番号と定義ファイル８）
次に、図３、図４に基づき、ファームウェア６で定められる各処理に付される識別番号と定義ファイル８について説明する。図４（ａ）、（ｂ）は、ファームウェア６内の各処理に付される識別番号と、定義ファイル８を説明するための図である。
【００３６】
ファームウェア６には、複合機１０１の各部分に、適切な動作を行わせるための処理が複数定められる。定められる処理としては、関数、命令、ルーチンなどがある。
【００３７】
そして、図４の（ａ）に示すように、本実施形態の複合機１０１（組み込みシステム１００）のファームウェア６で定められるそれぞれの処理には、識別番号が付される。図４（ａ）の例では、「ｆｕｎｃ＿ａ（）」の関数（処理）に「０１００１」の識別番号が、「ｆｕｎｃ＿ｂ（）」の関数に「０１００２」の識別番号が、「ｍｅｍｂｅｒ＿ａ（）」の関数に「０２０００」の識別番号が、「ｍｅｍｂｅｒ＿ｂ（）」の関数に「０２００１」の識別番号が、付される例を示している。
【００３８】
一方、図４（ｂ）の例では、「ｆｕｎｃ＿ａ（）」の関数（処理）に「０１００１」の識別番号が、「ｆｕｎｃ＿ｂ（）」の関数に「０１００２」の識別番号が、「ｆｕｎｃ＿ｄ（）」の関数に「０１００４」の識別番号が、「ｍｅｍｂｅｒ＿ａ（）」の関数に「０２０００」の識別番号が、「ｍｅｍｂｅｒ＿ｄ（）」の関数に「０２００３」の識別番号が、付される例を示している。
【００３９】
このように、識別番号の値は、処理ごとに異なる。言い換えると、識別番号は、ファームウェア６で定義される処理ごとに、ユニークな値である。例えば、コンパイルやリンクのときに、各処理に識別番号が付される。例えば、コンパイラーやリンカーが識別番号を付与する処理を行う。
【００４０】
そして、定義ファイル８は、処理に付された識別番号を用いて、有効な処理（実行する処理）と無効な処理（実行しない処理）を定義するためのファイルである。例えば、ＨＤＤ５３からの読出対象データ７の読み出しや読み出したデータを利用する処理について、識別番号が付される。
【００４１】
図４（ａ）に示す定義ファイル８は、有効な処理の識別番号が列挙して記されている形式の定義ファイル８である。この形式のとき、制御部４は、ファームウェア６で定められた処理を実行するに際し、実行しようとする処理に付された識別番号が、定義ファイル８に含まれているか否かを確認する。そして、実行しようとする処理に付された識別番号が定義ファイル８に含まれているとき、制御部４は、その処理を実行させる。例えば、制御部４は、処理（関数や命令やルーチンなど）で定義されるＨＤＤ５３の記憶箇所（アドレス）から、処理で定められている読出対象データ７を読み出す。
【００４２】
図４（ａ）の例では、定義ファイル８に、「０１００１」、「０１００２」、「０２０００」、「０２００１」の識別番号が記されているので、制御部は、「ｆｕｎｃ＿ａ（）」、「ｆｕｎｃ＿ｂ（）」、「ｍｅｍｂｅｒ＿ａ（）」、「ｍｅｍｂｅｒ＿ｂ（）」の関数を実行し、読出対象データ７のうち、実行する関数でアクセスが指示されたデータを読み出す。
【００４３】
一方、実行しようとする処理に付された識別番号が定義ファイル８に含まれていないとき、制御部４は、その処理を実行せず、スキップする。
【００４４】
一方、図４（ｂ）に示す定義ファイル８は、無効な処理（実行しない処理）の識別番号が列挙して記されている形式の定義ファイル８である。この形式のとき、制御部４は、ファームウェア６で定められた処理を実行するに際し、実行しようとする処理に付された識別番号が、定義ファイル８に含まれているか否かを確認する。そして、実行しようとする処理に付された識別番号が定義ファイル８に含まれているとき、制御部４は、その処理を実行しない（スキップする）。例えば、制御部４は、定義ファイル８に識別番号が記されている処理（関数や命令やルーチンなど）で定義されるＨＤＤ５３の記憶箇所（アドレス）から、処理で定められている読出対象データ７を読み出さない。一方、実行しようとする処理に付された識別番号が定義ファイル８に含まれていないとき、制御部４は、その処理を実行させる。
【００４５】
図４（ｂ）の例では、定義ファイル８に、「０１００４」、「０２００３」の識別番号が記されているので、制御部６は、定義ファイル８に記された識別番号が付された「ｆｕｎｃ＿ｄ（）」と、「ｍｅｍｂｅｒ＿ｄ（）」、の関数を実行せず、読出対象データ７のうち、関数でアクセスが指示されたデータの読み出しを禁止する。
【００４６】
一方、制御部４は、識別番号が定義ファイル８に含まれていない識別番号が付された処理を実行すめ。図４（ｂ）の例では、定義ファイル８に、「０１００１」、「０１００２」、「０２０００」の識別番号はないので、制御部は、「ｆｕｎｃ＿ａ（）」、「ｆｕｎｃ＿ｂ（）」、「ｍｅｍｂｅｒ＿ａ（）」の関数を実行し、読出対象データ７のうち、実行する関数でアクセスが指示されたデータを読み出す。
【００４７】
このように、定義ファイル８に識別番号を含める、含めないによって、ファームウェア６に含まれる処理のうち、特定の処理を実行することや、実行しないことを定めることができる。このような特定の処理の実行、不実行を定義し、今までと複合機１０１の動作を異ならせるには、本実施形態の複合機１０１では、定義ファイル８があればよく、ファームウェア６の更新、修正、再ビルドは不要である。
【００４８】
この定義ファイル８は、ＨＤＤ５３に記憶される。定義ファイル８は、複合機１０１に接続された記憶媒体４００からダウンロードすることにより取得される。具体的に、使用者は、所望の動作がなされるように定義ファイル８をコンピューターや、携帯情報端末（例えば、タブレット端末やスマートフォン）などを用いて作成する。そして、使用者は、作成した定義ファイル８を記憶媒体４００に記憶させる。続いて、使用者は、定義ファイル８が記憶された記憶媒体４００を取得部４４に接続する（差し込む）。取得部４４への記憶媒体４００の接続を取得部４４が認識すると、制御部４は、記憶媒体４００に格納される定義ファイル８を読み出し、ＨＤＤ５３に記憶させる。
【００４９】
尚、無線通信や有線通信により、複合機１０１の通信部４３とコンピューターや携帯情報端末を通信可能に接続し、記憶媒体４００を介さない通信によって、制御部４は、定義ファイル８をダウンロードして、ＨＤＤ５３に記憶させるようにしてもよい。
【００５０】
（定義ファイル８を用いた組み込みシステム１００の動作変更）
次に、図３、図５〜図８を用いて、定義ファイル８を用いた組み込みシステム１００の動作変更について説明する。図５は、レポート設定画面Ｓ１を示す図である。図６は、レポート９に含まれる文字列とファームウェア６内の処理の対応関係の一例を示す図である。図７は、各処理に付された識別番号の一例を示す図である。図８は、定義ファイル８による動作、実行結果の変更を説明するための図である。
【００５１】
以下、定義ファイル８を用いた組み込みシステム１００の動作の変更（得られる結果の変更）を説明する。尚、以下の例では、レポート９の印刷や表示を例に挙げて説明するが、本発明は、レポート９の印刷に限られない。例えば、定義ファイル８を用いて、ファームウェア６のうち、特定の処理の無効化を行うことで、特定の設定項目については設定されてもジョブには反映されないようにしたり、特定の情報については一切印刷、表示されないようにしたり、表示部１１にボタンやキーが表示されないようにして特定の設定項目や、設定項目の設定値の設定自体を行えないようにしたりすることができる。
【００５２】
まず、レポート９の印刷や表示について説明する。複合機１０１に関する情報を印刷、表示できれば、複合機１０１を管理するサービスマンや管理者や、設定を行う使用者にとって、便利である。そのため、本実施形態の複合機１０１では、各種レポート９の印刷、表示を行えるようになっている。レポート９の印刷や表示を行うには、表示部１１にレポート設定画面Ｓ１を表示させる。操作パネル１で所定の操作がなされると、制御部４は、レポート設定画面Ｓ１を表示部１１に表示させる。
【００５３】
表示部１１は、レポート設定画面Ｓ１内に、複数の印刷キーＫ１を表示する。操作パネル１（制御部４）は、タッチパネル部１２の出力に基づき、いずれかの印刷キーＫ１に対し操作がなされたかを認識する（印刷キーＫ１に対する操作を受け付ける）。そして、制御部４は、印刷キーＫ１に対して操作があったとき、操作された印刷キーＫ１に対応するレポート９の印刷指示がなされたと認識する。その結果、制御部４は、操作された印刷キーＫ１に対応するレポート９が記された印刷物を印刷部３に出力させる。
【００５４】
また、表示部１１は、レポート設定画面Ｓ１内に、複数の表示キーＫ２を表示する。操作パネル１（制御部４）は、タッチパネル部１２の出力に基づき、いずれかの表示キーＫ２に対し操作がなされたかを認識する（表示キーＫ２に対する操作を受け付ける）。そして、制御部４は、表示キーＫ２に対して操作があったとき、操作された表示キーＫ２に対応するレポート９の表示指示がなされたと認識する。その結果、制御部４は、操作された表示キーＫ２に対応するレポート９を表示部１１に表示させる。
【００５５】
具体的に、複合機１００のステータスのレポート９の印刷や表示の指示がなされたとき（複合機１００のステータスのレポート９の印刷キーＫ１や表示キーＫ２の表示位置がタッチされたとき）、制御部４は、レポート９として複合機１００のステータスのレポート９の印刷や表示を行わせる。複合機１００のステータスのレポート９は、複合機１０１の状態に関する情報を複数含むレポート９（印刷物や画面）である。
【００５６】
ＨＤＤ５３は、複合機１００のステータスのレポート９の印刷、表示に要するステータス情報７１を記憶する。言い換えると、ステータス情報７１は、複合機１００のステータスのレポート９の印刷や表示の機能を実行すると読み出される読出対象データ７として、ＨＤＤ５３に記憶される（図３参照）。具体的に、ステータス情報７１は、複合機１０１の状態に関する情報である。ステータス情報７１には、複合機１０１の型番や、現在の設定内容（各種設定の現在の設定値）の情報や、装着メモリーのサイズや種類を示す情報や、複合機１０１に装着されているオプション装置（原稿搬送部２ａや後処理装置など）や、累計印刷枚数といった情報が含まれる。ステータス情報７１には、上述の情報以外の情報を含ませることができ、複合機１００のステータスのレポート９の印刷、表示に要する予め定められた情報が含められる。
【００５７】
複合機１００のステータスのレポート９の印刷や表示の指示がなされたとき、制御部４は、ファームウェア６のうち、複合機１００のステータスのレポート９の印刷や表示に関する部分の処理を行う。そして、制御部４は、処理の定義内容に応じて、ＨＤＤ５３からステータス情報７１を読み出す。そして、制御部４は、読み出したステータス情報７１を用いて、複合機１０１の状態を示す情報の印刷や表示を行わせる。
【００５８】
また、ネットワークに関するステータスのレポート９の印刷や表示の指示がなされたとき（ネットワークに関するステータスのレポート９の印刷キーＫ１や表示キーＫ２の表示位置がタッチされたとき）、制御部４は、レポート９としてネットワークに関するステータスのレポート９の印刷や表示を行わせる。ネットワークに関するステータスのレポート９は、通信に関する情報を複数含むレポート９（印刷物や画面）である。
【００５９】
ＨＤＤ５３は、ネットワークに関するステータスのレポート９の印刷、表示に要するネットワークステータス情報７２を記憶する。言い換えると、ネットワークステータス情報７２は、ネットワークに関するステータスのレポート９の印刷や表示の機能を実行すると読み出される読出対象データ７として、ＨＤＤ５３に記憶される（図３参照）。具体的に、ネットワークステータス情報７２は、複合機１０１の通信に関する情報である。例えば、ネットワークステータス情報７２は、ファームウェア６のバージョン情報や、複合機１０１のネットワークアドレスや、通信で用いているプロトコルを示す情報などを含む。ネットワークステータス情報７２には、上述の情報以外の情報を含ませることができ、ネットワークに関するステータスのレポート９の印刷、表示に要する予め定められた情報が含められる。
【００６０】
ネットワークに関するステータスのレポート９の印刷や表示の指示がなされたとき、制御部４は、ファームウェア６のうち、ネットワークに関するステータスのレポート９の印刷や表示に関する部分の処理を行う。そして、制御部４は、処理の定義内容に応じて、ＨＤＤ５３からネットワークステータス情報７２を読み出す。そして、そして、制御部４は、読み出したネットワークステータス情報７２を用い、複合機１０１の通信に関する情報の印刷や表示を行わせる。
【００６１】
また、ジョブ履歴のレポート９の印刷や表示の指示がなされたとき（ジョブ履歴のレポート９の印刷キーＫ１や表示キーＫ２の表示位置がタッチされたとき）、制御部４は、ジョブ履歴のレポート９の印刷や表示を行わせる。ジョブ履歴のレポート９は、実行されたジョブの状態に関する情報を複数含むレポート９（印刷物や画面）である。
【００６２】
ＨＤＤ５３は、ジョブ履歴のレポート９の印刷、表示に要するジョブ履歴情報７３を記憶する。言い換えると、ジョブ履歴情報７３は、レポート９の印刷や表示の機能を実行すると読み出される読出対象データ７として、ＨＤＤ５３に記憶される（図３参照）。具体的に、ジョブ履歴情報７３は、複合機１０１が行った印刷や送信ジョブの履歴に関する情報である。ジョブ履歴情報７３には、各ジョブの実行開始日時や、各ジョブの実行完了日時や、実行されたジョブの種類や、ジョブを実行した使用者、各ジョブのデータサイズといった項目の情報が含まれる。ジョブ履歴情報７３には、上述の情報以外の情報を含ませることができ、ジョブ履歴のレポート９の印刷、表示に要する予め定められた情報が含められる。
【００６３】
ジョブ履歴のレポート９の印刷や表示の指示がなされたとき、制御部４は、ファームウェア６のうち、ジョブ履歴のレポート９の印刷や表示に関する部分の処理を行う。そして、そして、制御部４は、処理の定義内容に応じて、ＨＤＤ５３からジョブ履歴情報７３を読み出す。そして、制御部４は、読み出したジョブ履歴情報７３を用いて、実行されたジョブの実行に関する時間やジョブの内容が記されたリストを印刷、表示させる。
【００６４】
尚、その他、複合機１０１が内蔵するフォントの一覧であるフォントリストや、アドレス帳（複合機１０１の記憶部５に記憶される宛先名やアドレスのなどのデータベースの内容一覧）をレポート９として、印刷や表示できるようにしてもよい。
【００６５】
次に、図６、図７を用いて、ファームウェア６のうち、レポート９の印刷や表示のために、実行される処理について説明する。
【００６６】
図６は、レポート９をＨＤＤ５３に記憶されたデータに基づく文字列を項目（情報）として含めて生成するときに実行されるファームウェア６での処理の一部を示している。図６では、レポート９に文字列Ａ〜文字列Ｈを情報として含めるとき、ファームウェア６では、処理Ａ〜処理Ｈを実行すべきことが定められていることを示している。
【００６７】
具体的に、制御部４は、ファームウェア６のうち、レポート９の印刷や表示に関する処理Ａを実行したとき、ＨＤＤ５３に含まれる読出対象データ７のなかから、文字列Ａを読み出して、印刷や表示に利用する。（処理Ｂ〜Ｈ、文字列Ｂ〜Ｈも同様）。例えば、文字列Ａが複合機１０１の型番を示し、複合機１００のステータスのレポート９に複合機１０１の型番の情報を含める場合、ファームウェア６のうち、複合機１００のステータスのレポート９の印刷や表示を行うための部分には、処理Ａが含められる。そして、複合機１００のステータスのレポート９の印刷や表示のとき、制御部４は、ファームウェア６中の処理Ａに相当する関数や命令やルーチンを実行して、ＨＤＤ５３から複合機１０１の型番を示す情報を読み出し、利用する。
【００６８】
また、図７に示すように、ファームウェア６に含まれる処理には、識別番号が付される。図７では、ファームウェア６のうち、処理Ａ〜Ｈの８つの処理について、それぞれ「１１００１」〜「１１００８」の識別番号が付されていることを示している。
【００６９】
次に、図８を用いて、定義ファイル８の変更（更新）により、得られる結果の変更について説明する。尚、図８の定義ファイル８は、ファームウェア６に含まれる処理のうち、実行する処理を定義するタイプのファイルである。もし、定義ファイル８がファームウェア６に含まれる処理のうち、実行しない処理を定義するタイプのファイルであれば、図８の定義ファイル８には、「１１００３」、「１１００５」、「１１００７」と記載されることになる。
【００７０】
図８の上側の左の図は、定義ファイル８変更前のレポート９の一例を示している。変更前のレポート９は、デフォルトのレポート９を示す。言い換えると、複合機１０１に搭載されるファームウェア６のうち、レポート９生成のための処理を全て実行したときに生成されるレポート９を示す。
【００７１】
図８の上側の右の図は、定義ファイル８変更後に生成されるレポート９の一例を示している。例えば、変更後のレポート９は、使用者の意図に基づき、デフォルトのレポート９のうち、特定の情報（項目、文字列）を省いたレポート９の一例を示す。言い換えると、複合機１０１に搭載されるファームウェア６のうち、レポート９生成のための処理の一部を実行しないときに生成されるレポート９を示す。
【００７２】
複合機１０１は、世界各国で輸出され、様々な言語圏で用いられる。そして、操作パネル１は、複数種の言語のうち、表示部１１での表示や、レポート９に含まれる文字のような複合機１０１で用いられる文字列の言語の選択を受け付ける（例えば、日本語、英語、スペイン語など）。表示やレポート９に含まれる文字列は、複数種の言語に予め翻訳され、ＨＤＤ５３に記憶される。
【００７３】
ここで、文字列が誤って翻訳されたり、誤解を招くような意味合いに翻訳されたりするなど、不適切な文字列に翻訳される場合がある。このような、不適切な文字列をレポート９に含めたくない使用者がいる。また、複合機１０１の使用国、使用地域での特有の考え方や、あるいは、使用者の会社、団体の方針などによって、レポート９に含まれる情報のうち、一部の情報を秘密にしたい（含めたくない）という要望が特に高い場合も考えられる。
【００７４】
このような要望に応えるには、使用者が所望する文字列（情報）がレポート９に含まれないように、ファームウェア６を作り直す必要があった。しかし、ファームウェア６の作り直しや、ファームウェア６の更新には手間がかかる。
【００７５】
しかし、本実施形態の組み込みシステム１００では、図８の上側の右の図に示すように、定義ファイル８をＨＤＤ５３にダウンロードしておくことにより、ファームウェア６を変更すること無く、組み込みシステム１００の動作や、得られる結果（レポート９の印刷や表示の結果）を変更することができる。
【００７６】
そして、図８の下側の左の図は、変更前の定義ファイル８の一例を示している。また、図８の下側の右の図は、変更後の定義ファイル８の一例を示している。
【００７７】
具体的に、図８の定義ファイル８をみると、変更前の定義ファイル８には、「１１００１」〜「１１００８」の範囲の識別番号が定義されている。これにより、レポート９では、文字列Ａ〜Ｈが全て生成され、文字列Ａ〜Ｈの全てがレポート９に含められる。
【００７８】
一方、図８の変更後の定義ファイル８では、文字列Ｃの生成（処理Ｃ）に対応する識別番号「１１００３」と、文字列Ｅの生成（処理Ｅ）に対応する識別番号「１１００５」と、文字列Ｇの生成（処理Ｇ）に対応する識別番号「１１００７」が定義されていない（消されている）。
【００７９】
その結果、制御部４は、定義ファイル８で消された識別番号（定義されていない識別番号）に対応する処理を実行しない。その結果、図８に示す例では、制御部４は、変更後の定義ファイル８に基づき、文字列Ｃ、文字列Ｅ、及び文字列Ｇが生成されず、文字列Ｃ、文字列Ｅ、及び文字列Ｇは、レポート９に含められない。言い換えると、制御部４は、定義ファイル８で有効と定まる処理のみを実行する。
【００８０】
（定義ファイル８に基づくファームウェア６の実行）
次に、図９を用いて、本実施形態の組み込みシステム１００での定義ファイル８に基づくファームウェア６の実行の流れについて説明する。図９は、定義ファイル８に基づくファームウェア６の実行の流れの一例を示すフローチャートである。
【００８１】
図９のスタートは、制御部４が、組み込みシステム１００を動作させて、ある結果を得るために（例えば、レポート９の印刷物）、ファームウェア６に含まれる処理（関数、命令、ルーチン）の実行を開始する時点である。
【００８２】
まず、制御部４は、定義ファイル８を認識する（ステップ♯１）。例えば、制御部４は、定義ファイル８をＨＤＤ５３からＲＡＭ５２に読み出し、定義ファイル８を参照できる状態とする。
【００８３】
そして、使用者の指示に基づく結果を得る上で、最初に実行すべき処理に付された識別番号と定義ファイル８を比較する（ステップ♯２）。
【００８４】
続いて、制御部４は、定義ファイル８と比較した処理（これから実行しようとする処理）を実行してよいか否かを確認する（ステップ♯３）。具体的に、定義ファイル８に、実行してよい（有効な）処理に付された識別番号が定義されているとき、制御部４は、定義ファイル８に含まれる識別番号のうち、実行しようとする処理の識別番号と一致する識別番号がある場合、処理を実行してよいと判断し、一致する識別番号がない場合、処理を実行すべきでないと判断する。一方、定義ファイル８に、実行を所望しない（無効な）処理を示す識別番号が定義されているとき、制御部４は、定義ファイル８に含まれる識別番号のうち、実行しようとする処理の識別番号が一致する識別番号がある場合、処理を実行すべきでないと判断し、一致する識別番号がなければ処理を実行してよいと判断する。
【００８５】
もし、処理を実行してもよければ（ステップ♯３のＹｅｓ）、制御部４は、処理（関数や命令）の内容に基づき、処理を実行する（ステップ♯４）。例えば、制御部４は、ＨＤＤ５３から関数で定義されたデータの読み出す処理を行ったり、読み出したデータをレポート９として印刷したり、読み出したデータをレポート９として表示部１１に表示させる。
【００８６】
そして、ステップ♯４の後、制御部４は、使用者の指示に基づく結果を得る上で、まだ実行すべき処理があるか否かを確認する(ステップ♯５)。
【００８７】
また、処理を実行すべきでない場合（ステップ♯３のＮｏ）も、フローは、ステップ♯５に移行する。この場合、ファームウェア６で処理の実行が定義されていても、処理は実行されない。
【００８８】
まだ実行すべき処理があるとき（ステップ♯５のＹｅｓ）、制御部４は、次に実行すべき処理の識別番号と、定義ファイル８を比較する（ステップ♯６）。そして、フローは、ステップ♯３に戻る。
【００８９】
一方、もはや、実行すべき処理が無くなったとき（ステップ♯５のＮｏ）、本フローは終了する（エンド）。これにより、定義ファイル８に基づき、有効な処理のみを実行することにより、使用者は、組み込みシステム１００（複合機１０１）の動作を変更、調整し、使用者の要望に応じたカスタマイズを行える。
【００９０】
このようにして、本実施形態の組み込みシステム１００（複合機１０１）は、実行可能な形式にビルド済であって含まれるそれぞれの処理（関数、命令、ルーチンなど）に識別番号が付されたファームウェア６を不揮発的に記憶する第１記憶部５（ＲＯＭ５１）と、ファームウェア６に従って処理を実行する処理部（制御部４）と、識別番号を用いてファームウェア６に含まれる処理の有効、無効を定義するための定義ファイル８を取得する取得部４４と、取得部４４で取得された定義ファイル８記憶する第２記憶部５（ＨＤＤ５３）と、を含み、処理部は、ファームウェア６に含まれる処理のうち、定義ファイル８に基づいて有効と認められる識別番号が付された処理を実行し、無効と認められる識別番号が付された処理については、処理を実行しないこととした。
【００９１】
従来、現在とは動作を異ならせるには、組み込みシステム１００（複合機１０１）のファームウェア６の変更が必要であった。言い換えると、ファームウェア６の更新以外には、組み込みシステム１００でなされるファームウェア６に基づく動作を変更できなかった。しかし、ファームウェア６の変更に、時間、手間がかかっていた。
【００９２】
しかし、この構成によれば、ソースコードの修正、追加や、コンパイルやリンクのやり直し（再ビルド）をしなくても、定義ファイル８によって、ファームウェア６に基づく組み込みシステム１００（複合機１０１）が提供する機能の動作や、その実行結果を変更することができる。言い換えると、定義ファイル８により、組み込みシステム１００の動作や、その実行結果を初期状態と異ならせることができる。また、ファームウェア６を変更することなく、定義ファイル８によりファームウェア６内に定められた各処理の有効、無効を設定することができる。しかも、ファームウェア６に含まれる各処理に付された識別番号を用いた定義ファイル８により、簡易、迅速に組み込みシステム１００の動作や、実行結果の変更を行うことができる。また、組み込みシステム１００の開発者でなくとも、使用者の好みに合わせて、組み込みシステム１００の動作、機能、処理を、カスタマイズすることができる（調整することができる）
【００９３】
また、本実施形態の組み込みシステム１００（複合機１０１）は、組み込みシステム１００（複合機１０１）に関するレポート９の印刷を行う印刷部３を含む。そして、第２記憶部５（ＨＤＤ５３）は、ファームウェア６で定められた処理に基づいて読み出されるデータである読出対象データ７を記憶し、ファームウェア６は、第２記憶部５の読出対象データ７のなかから、レポート９の印刷に必要なデータの読み出しと、読み出したデータを印刷部３に印刷させるための処理を含み、レポート９を印刷するとき、処理部（制御部４）は、定義ファイル８に基づいて、レポート９の印刷に必要と定められたファームウェア６に含まれる各処理を実行すべきか否かを確認し、有効な処理については、読出対象データ７のなかから処理の定義に応じたデータを読み出し、読み出したデータをレポート９内に印刷させ、無効な処理については、読出対象データ７から処理の定義に応じたデータを読み出さないようにして、無効な処理に対応するデータがレポート９に印刷されないようにすることとした。
【００９４】
これにより、使用者は、定義ファイル８に基づき、不要な情報が印刷されないようにするなどに、レポート９に印刷される情報を自由に好みに合わせて変更することができる。また、使用者は、定義ファイル８で識別番号を定義して、必要な情報、項目だけがレポート９に印刷されるように、組み込みシステム１００（複合機１０１）の印刷動作や印刷結果を変えることができる。従って、使用者は、自由に好みに合ったレポート９を得ることができる。
【００９５】
また、本実施形態の組み込みシステム１００（複合機１０１）は、組み込みシステム１００（複合機１０１）に関するレポート９を表示する表示部１１を含む。そして、第２記憶部５（ＨＤＤ５３）は、ファームウェア６で定められた処理に基づいて読み出されるデータである読出対象データ７を記憶し、ファームウェア６は、第２記憶部５の読出対象データ７のなかから、レポート９の表示に必要なデータの読み出しと、読み出したデータを表示部１１に表示させるための処理を含み、レポート９を表示するとき、処理部（制御部４）は、定義ファイル８に基づいて、レポート９の表示に必要と定められたファームウェア６に含まれる各処理を実行すべきか否かを確認し、有効な処理については、読出対象データ７のなかから処理の定義に応じたデータを読み出し、読み出したデータをレポート９内に表示させ、無効な処理については、読出対象データ７から処理の定義に応じたデータを読み出さないようにして、無効な処理に対応するデータがレポート９に表示されないようにすることとした。
【００９６】
これにより、使用者は、定義ファイル８で識別番号を定義して、必要な情報、項目だけが表示されるように、組み込みシステム１００が行う表示の内容を変えることができる。従って、使用者は自由に好みに合った表示を組み込みシステム１００（複合機１０１）に行わせることができる。
【００９７】
また、定義ファイル８は、有効とする処理の識別番号が定められるとともに無効にする識別番号を含まない、又は、有効とする処理の識別番号を含まないとともに無効にする識別番号を含む形式で定義されることとした。
【００９８】
これにより、識別番号を定義ファイル８に含めるか、あるいは、含めないようにすることで、ファームウェア６に含まれる処理のそれぞれについて、有効か無効かを容易に定義することができる。
【００９９】
また、取得部４４は、接続された携帯可能な記憶媒体４００から定義ファイル８を取得し、第２記憶部５（ＨＤＤ５３）は、取得部４４が取得した定義ファイル８に基づき、定義ファイル８を更新することとした。
【０１００】
これにより、メモリーカードや外付ＨＤＤ５３のような記憶媒体４００から使用者が作成した定義ファイル８を組み込みシステム１００（複合機１０１）に簡易に記憶させることができる。
【０１０１】
また、実施形態に係る画像形成装置（複合機１０１）は、実施形態に係る組み込みシステム１００を含む。これにより、コンパイルやリンクのやり直し（ビルド）をしなくても、ファームウェア６に基づく組み込みシステム１００（複合機１０１）が提供する機能や、組み込みシステム１００の動作、処理結果を簡易に変更することができる画像形成装置を提供することができる。
【０１０２】
尚、上記の説明では、組み込みシステム１００として複合機１０１を例に挙げたが、複写機、ＦＡＸ装置、プリンターのような組み込みシステム１００（画像形成装置）に対しても適用することができる。また、印刷や表示の何れか一方を行う組み込みシステム１００（制御用端末など）にも適用することができる。
【０１０３】
又、本発明の実施形態を説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実施することができる。
【産業上の利用可能性】
【０１０４】
本発明は、携帯通信装置と近距離の無線通信を行う通信部４３を含む画像形成装置に利用可能である。また、この画像形成装置と携帯通信装置を含む通信システムや、携帯通信装置の制御方法にも利用可能である。
【符号の説明】
【０１０５】
１００  組み込みシステム（複合機）      １０１  複合機（画像形成装置）
１      操作パネル                      １１    表示部
４      制御部（処理部）                ４４    取得部
５      記憶部                          ５１    ＲＯＭ（第１記憶部）
５３    ＨＤＤ（第２記憶部）            ６      ファームウェア
７      読出対象データ                  ８      定義ファイル
９      レポート
【図１】
2015141697.tif 000003
【図２】
2015141697.tif 000004
【図３】
2015141697.tif 000005
【図４】
2015141697.tif 000006
【図５】
2015141697.tif 000007
【図６】
2015141697.tif 000008
【図７】
2015141697.tif 000009
【図８】
2015141697.tif 000010
【図９】
2015141697.tif 000011