(57)【要約】【課題】組み込み機器のファームウェアの不具合対策を容易にする。【解決手段】デジタル複合機１０へのファームウェアの書き込みにあたっては、ファームウェアの実行ファイルをデジタル複合機１０へ転送させることにより、フラッシュメモリ１２１に書き込まれたファームウェアの実行ファイルを書き換える（ステップＳ１０１）。続いて、ソースコードをデジタル複合機１０に保存しておくか否かを決定し、保存しておく場合（ステップＳ１０２で"YES"）、ステップＳ１０１でデジタル複合機１０に転送した実行ファイルの生成の基礎となったソースコードが保存されているネットワーク上の共有フォルダを指定し（ステップＳ１０３）、指定した共有フォルダ内のソースコードをデジタル複合機１０へ転送させることにより、当該ソースコードをＣＦインターフェース１３０に装着されたＣＦカード６０にコピーする（ステップＳ１０４）。【選択図】図３
2007310695.tif 000002
【特許請求の範囲】
【請求項１】
組み込み機器の動作を規定するファームウェアの実行ファイルを、前記組み込み機器の第１格納手段に、前記組み込み機器に内蔵されたコンピュータによって実行可能に格納する第１格納工程と、
前記実行ファイルの生成の基礎となったソースコードを前記組み込み機器の第２格納手段に格納する第２格納工程と、
を備える組み込み機器へのファームウェアの書込方法。
【請求項２】
前記第２格納工程で格納されるソースコードが、暗号化されている請求項１に記載の組み込み機器へのファームウェアの書込方法。
【請求項３】
前記第２格納工程で格納されるソースコードが、ファームウェアとソースコードとの対応づけの情報に基づいて特定される請求項１又は請求項２に記載の組み込み機器へのファームウェアの書込方法。
【請求項４】
動作を規定するファームウェアの実行ファイルを、内蔵のコンピュータによって実行可能に格納する第１格納手段と、
前記実行ファイルの生成の基礎となったソースコードを格納する第２格納手段と、
を備える組み込み機器。
【請求項５】
前記第２格納手段が、前記組み込み機器から取り外し可能な記録媒体である請求項４に記載の組み込み機器。
【請求項６】
前記第２格納手段が、前記組み込み機器の外部からアクセス可能である請求項４に記載の組み込み機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組み込み機器及び組み込み機器へのファームウェアの書込方法に関する。
【背景技術】
【０００２】
従来より、組み込み機器のファームウェアの不具合対策は、不具合のあるファームウェアのソースコードを探し出してデバッグし、デバッグ後のソースコードから新たに実行ファイルを生成して組み込み機器に書き込むことにより行われている。
【０００３】
なお、特許文献１は、本願発明と関連する先行技術文献であり、プログラムのバージョンアップ指示を正確に受け付けるための技術に関する。
【０００４】
【特許文献１】特開２００４−３１０２３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、従来の技術では、ファームウェアのソースコードが失われている場合、ファームウェアの不具合対策が困難になるという問題があった。このような問題は、古い組み込み機器に書き込まれたファームウェアの不具合対策が必要となった場合等に起こりうる。また、従来の技術では、ファームウェアのバージョンアップが繰り返された結果、ソースコードと実行ファイルとの対応関係が不明確になってしまった場合にも、ファームウェアの不具合対策が困難になるという問題がある。
【０００６】
本発明は、これらの問題を解決するためになされたもので、組み込み機器のファームウェアの不具合対策を容易にすることを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、請求項１の発明は、組み込み機器の動作を規定するファームウェアの実行ファイルを、前記組み込み機器の第１格納手段に、前記組み込み機器に内蔵されたコンピュータによって実行可能に格納する第１格納工程と、前記実行ファイルの生成の基礎となったソースコードを前記組み込み機器の第２格納手段に格納する第２格納工程と、を備える組み込み機器へのファームウェアの書込方法である。
【０００８】
請求項２の発明は、前記第２格納工程で格納されるソースコードが、暗号化されている請求項１に記載の組み込み機器へのファームウェアの書込方法である。
【０００９】
請求項３の発明は、前記第２格納工程で格納されるソースコードが、ファームウェアとソースコードとの対応づけの情報に基づいて特定される請求項１又は請求項２に記載の組み込み機器へのファームウェアの書込方法である。
【００１０】
請求項４の発明は、動作を規定するファームウェアの実行ファイルを、内蔵のコンピュータによって実行可能に格納する第１格納手段と、前記実行ファイルの生成の基礎となったソースコードを格納する第２格納手段とを備える組み込み機器である。
【００１１】
請求項５の発明は、前記第２格納手段が、前記組み込み機器から取り外し可能な記録媒体である請求項４に記載の組み込み機器である。
【００１２】
請求項６の発明は、前記第２格納手段が、前記組み込み機器の外部からアクセス可能である請求項４に記載の組み込み機器である。
【発明の効果】
【００１３】
請求項１ないし請求項６の発明によれば、ファームウェアの実行ファイルの生成の基礎となったソースコードを組み込み機器の第２格納手段から得ることができるので、ファームウェアの不具合対策が容易になる。
【００１４】
請求項２の発明によれば、ソースコードを秘密の状態に維持しておくことができる。
【００１５】
請求項３の発明によれば、適切なソースコードを第２格納手段に格納することが容易になる。
【００１６】
請求項５又は請求項６の発明によれば、ソースコードを参照することが容易になる。
【発明を実施するための最良の形態】
【００１７】
＜１  ファームウェアの開発システムの構成＞
図１は、デジタル複合機１０の動作を規定するファームウェアの開発システム１Ａの望ましい構成を示すブロック図である。
【００１８】
図１に示すように、開発システム１Ａは、開発したファームウェアの適用対象となるデジタル複合機１０と、ファームウェアの開発が行われる開発用パーソナルコンピュータ（以下、「開発用ＰＣ」）２０と、デジタル複合機１０と開発用ＰＣ２０とを通信可能に接続するネットワーク３０とを備える。
【００１９】
デジタル複合機１０は、フラッシュメモリ１２１に書き込まれたファームウェアをマイクロコンピュータ１１０が実行して各構成を統括制御することにより、コピー機能、ファックス機能、スキャナ機能及びプリンタ機能等を有する組み込み機器として動作する。デジタル複合機１０は、コンパクトフラッシュ（登録商標）カード（以下、「ＣＦカード」）６０を着脱可能なコンパクトフラッシュ（登録商標）インターフェース（以下、「ＣＦインターフェース」）１３０を備える。デジタル複合機１０は、ＣＦインターフェース１３０に装着されたＣＦカード６０にアクセスすることができる。
【００２０】
開発用ＰＣ２０は、ソースコードを編集するために用いられるエディタ２０１、ソースコードをコンパイルしてオブジェクトコードを生成するために用いられるコンパイラ２０２、オブジェクトコードをリンクして実行ファイルを生成するために用いられるリンケージエディタ２０３及びネットワーク３０を介してファイルを転送するために用いられるＦＴＰプログラム２０４等を、一般的なパーソナルコンピュータに実装することにより構成されている。さらに、開発用ＰＣ２０も、ＣＦカード６０を着脱可能なＣＦインターフェース２１１を備える。開発用ＰＣ２０は、ＣＦインターフェース２１１に装着されたＣＦカード６０にアクセスすることができる。
【００２１】
デジタル複合機１０のファームウェアの開発者は、開発用ＰＣ２０において、ファームウェアのソースコードをエディタ２０１で編集し、編集が終わったソースコードをコンパイラ２０２でコンパイルしてオブジェクトファイルを生成し、生成したオブジェクトファイルをリンケージエディタ２０３でリンクすることにより、ファームウェアの実行ファイルを得る。なお、ファームウェアのソースコードは、一の実行ファイルの生成の基礎となった一群ごとに、ネットワーク３０上の共有フォルダ（不図示）に保存される。
【００２２】
＜２  デジタル複合機の構成＞
続いて、デジタル複合機１０の構成について、図２のブロック図を参照しながら説明する。
【００２３】
図２に示すように、デジタル複合機１０は、ＭＰＵ（マイクロプロセッサ；MicroProcessor Unit）１１１、ＲＯＭ１１２及びＲＡＭ１１３を備える。ＭＰＵ１１１、ＲＯＭ１１２及びＲＡＭ１１３によって実現されるマイクロコンピュータ１１０は、フラッシュメモリ１２１に格納されたファームウェアを実行することにより、デジタル複合機１０の各構成を統括制御し、デジタル複合機１０の各種機能を実現している。
【００２４】
デジタル複合機１０のフラッシュメモリ１２１は、記憶内容を書き換え可能な不揮発性メモリであり、継続的に保持すべき各種の情報を記憶する。また、デジタル複合機１０の画像メモリ１２２は、デジタル複合機１０が処理対象とする画像を画像データとして一時的に記憶する。
【００２５】
デジタル複合機１０は、画像読取部１２３及び画像記録部１２４を備える。画像読取部１２３は、ＣＣＤ（Charge Coupled Device）イメージセンサ等により原稿に描かれた画像を読み取り、当該画像に係る画像データを生成する。画像読取部１２３は、ＡＤＦ（Automatic Document Feeder）方式又はＦＢＳ（Flat Bed Scanner）方式により原稿に描かれた画像を読み取ることができる。画像記録部１２４は、電子写真方式により、画像データに係る画像を記録媒体上に形成する。
【００２６】
デジタル複合機１０には、ユーザインターフェースとして、操作の対象となる操作部１２５と、情報を視認可能に表示する表示部１２６とが設けられる。デジタル複合機１０では、表示部１２６に液晶タッチパネルディスプレイが採用されており、表示部１２６が操作部１２５の一部を兼ね備えている。
【００２７】
ネットワークインターフェース１２７は、例えば、イーサネット（登録商標）により、デジタル複合機１０をネットワーク３０に接続する。
【００２８】
ＮＣＵ（網制御装置；Network Control Unit）１２８及びＭＯＤＥＭ（モデム；MOdulator DEModulator）１２９は、公衆交換電話網９１を経由したファックス画像の送受信に用いられる。ＮＣＵ１２８は、公衆交換電話網９１への接続を制御する。ＮＣＵ１２８は、通信先の電話番号に対応したダイヤル信号を送出する機能及び着信を検出する機能を備える。ＭＯＤＥＭ１２９は、ＩＴＵ（国際電気通信連合）−Ｔ勧告Ｔ.３０にしたがったファックス伝送制御手順に基づいて、Ｖ．１７，Ｖ．２７ｔｅｒ，Ｖ．２９等にしたがった送信データの変調及び受信データの復調を行う。又は、ＭＯＤＥＭ１２９は、これらに加えて、Ｖ．３４にしたがった送信データの変調及び受信データの復調を行う。
【００２９】
先述したように、デジタル複合機１０は、ＣＦカード６０を着脱可能なＣＦインターフェース１３０を備える。デジタル複合機１０は、ＣＦインターフェース１３０に装着されたＣＦカード６０にアクセスすることができる。
【００３０】
コピーモードでは、デジタル複合機１０は、画像読取部１２３を用いて原稿に描かれた画像を読み取り、画像記録部１２４を用いて当該画像を記録紙等の記録媒体上に形成することにより、原稿から記録媒体へ画像をコピーする。
【００３１】
ファックスモードでは、デジタル複合機１０は、画像読取部１２３を用いて原稿に描かれた画像を読み取り、ＮＣＵ１２８及びＭＯＤＥＭ１２９を用いて当該画像に係る画像データを他のファックス装置へ送信する（ファックス送信）。また、デジタル複合機１０は、他のファックス装置から送信されてきた画像データに係る画像を、画像記録部１２４を用いて記録媒体上に形成する（ファックス受信）。なお、デジタル複合機１０は、公衆交換電話網９１を用いたファックスの送受信において、Ｇ３方式やスーパーＧ３方式を用いている。
【００３２】
スキャナモードでは、デジタル複合機１０は、画像読取部１２３を用いて原稿上の画像を読み取り、当該画像に係る画像データを内蔵のフラッシュメモリ１２１へ格納する。
【００３３】
プリンタモードでは、デジタル複合機１０は、クライアントコンピュータからネットワーク３０を経由して送信されてきた画像データを受信し、画像記録部１２４を用いて当該画像データに係る画像を記録媒体上に形成する。
【００３４】
＜３  デジタル複合機へのファームウェアの書き込み＞
図３は、デジタル複合機１０へのファームウェアの書き込みの手順を示すフローチャートである。
【００３５】
図３に示すように、デジタル複合機１０へのファームウェアの書き込みにあたっては、まず、ＦＴＰプログラム２０４を起動して、ファームウェアの実行ファイルをデジタル複合機１０へ転送させることにより、フラッシュメモリ１２１に書き込まれたファームウェアの実行ファイルを書き換える（ステップＳ１０１）。
【００３６】
続いて、ソースコードをデジタル複合機１０に保存しておくか否かを決定し、保存しておく場合（ステップＳ１０２で"YES"）、ステップＳ１０１でデジタル複合機１０に転送した実行ファイルの生成の基礎となったソースコードが保存されているネットワーク上の共有フォルダを指定し（ステップＳ１０３）、指定した共有フォルダ内のソースコードをデジタル複合機１０へ転送させることにより、当該ソースコードをＣＦインターフェース１３０に装着されたＣＦカード６０にコピーする（ステップＳ１０４）。なお、ステップＳ１０４において、ソースコードを暗号化し、暗号化されたソースコードをＣＦカード６０に書き込むようにすれば、ソースコードを秘密の状態に維持しておくことができる。
【００３７】
このようなファームウェアの書き込みにより、デジタル複合機１０には、ファームウェアの実行ファイルがフラッシュメモリ１２１に書き込まれるとともに、当該実行ファイルの生成の基礎となったソースコードがＣＦインターフェース１３０に装着されたＣＦカード６０に書き込まれることになる。
【００３８】
そして、このようなデジタル複合機１０では、ファームウェアの不具合対策を行う必要が生じた場合、ネットワーク３０を介してＣＦインターフェース１３０に装着されたＣＦカード６０にアクセスするか、又は、ＣＦカード６０をデジタル複合機１０のＣＦインターフェース１３０から取り外して開発用ＰＣ２０のＣＦインターフェース２１１に装着してアクセスすることにより、ファームウェアの実行ファイルの生成の基礎となったソースコードを得ることができるので、ファームウェアの不具合対策を容易に行うことができる。
【００３９】
＜４  変形例＞
上述の説明では、デジタル複合機１０へのファームウェアの書き込みを例として説明を行ったが、本発明は、デジタル複合機１０以外の組み込み機器へのファームウェアの書き込みに対しても適用可能である。
【００４０】
また、上述の説明では、ファームウェアの実行ファイルの生成の基礎となったソースコードをＣＦインターフェース１３０に装着されたＣＦカード６０に書き込んだが、当該ソースコードの書き込み先は、ＣＦインターフェース１３０に装着されたＣＦカード６０に限られない。すなわち、ＣＦカード６０以外の記録媒体、例えば、ＳＤメモリカード、ｘＤピクチャーカード（登録商標）、メモリースティック等のフラッシュメモリ類やＵＳＢ（Universal Serial Bus）ストレージ（特に、ＵＳＢフラッシュメモリ）等を着脱可能なインターフェースをデジタル複合機１０に儲け、当該インターフェースに装着された記録媒体にソースコードを書き込むようにしてもよい。あるいは、ネットワーク３０を介して外部からアクセス可能なフラッシュメモリ１２１等にソースコードを書き込んでもよい。
【００４１】
また、上述の説明では、ステップＳ１０３において、ソースコードが保存されたネットワーク上の共有フォルダを指定したが、これに代えて、ファームウェアとソースコードとの対応づけの情報を参照し、当該情報に基づいてＣＦインターフェース１３０に装着されたＣＦカード６０に書き込むべきソースコードを特定するようにすれば、適切なソースコードを自動的にＣＦインターフェース１３０に装着されたＣＦカード６０に書き込むことができる。
【図面の簡単な説明】
【００４２】
【図１】デジタル複合機１０のファームウェアの開発システム１Ａの望ましい構成を示すブロック図である。
【図２】デジタル複合機１０の構成を示すブロック図である。
【図３】デジタル複合機へのファームウェアの書き込みの手順を示すフローチャートである。
【符号の説明】
【００４３】
１Ａ  開発システム
１０  デジタル複合機
２０  開発用ＰＣ
３０  ネットワーク
６０  ＣＦカード
１１０  マイクロコンピュータ
１２１  フラッシュメモリ
１３０  ＣＦインターフェース
【図１】
2007310695.tif 000003
【図２】
2007310695.tif 000004
【図３】
2007310695.tif 000005