(57)【要約】【課題】電子機器の起動時にファームウェアを読み出せない場合でも、ファームウェアの復旧を可能とする電子機器を提供する。【解決手段】第１カーネルを含むファームウェアを記憶可能なＳＳＤ５３と、第２カーネルを含む更新プログラムを記憶するＲＯＭ４９と、ブート処理によりファームウェア又は更新プログラムを読み出して第１又は第２カーネルを起動し、起動した第１又は第２カーネルによりＳＳＤ５３へのデータの書き込みを可能とするシステム制御部１９とを備える。システム制御部１９は、ファームウェアを読み出せない場合に、更新プログラムを読み出して第２カーネルを起動するブート処理を行い、起動した第２カーネルによってデータの書き込みが可能となったＳＳＤ５３にファームウェアに対する更新用データを書き込む。【選択図】図７
2016126443.tif 000002
【特許請求の範囲】
【請求項１】
第１カーネルを含むファームウェアを記憶可能な第１不揮発メモリーと、
第２カーネルを含む更新プログラムを記憶する第２不揮発メモリーと、
ブート処理により前記ファームウェア又は更新プログラムを読み出して前記第１又は第２カーネルを起動し、前記起動した第１又は第２カーネルにより前記第１不揮発メモリーへのデータの書き込みを可能とする制御部とを備え、
前記制御部は、前記ファームウェアを読み出せない場合に、前記更新プログラムを読み出して前記第２カーネルを起動するブート処理を行い、前記起動した第２カーネルによってデータの書き込みが可能となった前記第１不揮発メモリーに前記ファームウェアに対する更新用データを書き込む、
ことを特徴とする電子機器。
【請求項２】
請求項１記載の電子機器であって、
前記更新用データを記憶する外部記憶媒体を接続するための外部インターフェイスを備え、
前記制御部は、前記外部インターフェイスに接続された前記外部記憶媒体から前記更新用データを取得して前記第１不揮発メモリーに書き込む、
ことを特徴とする電子機器。
【請求項３】
請求項１記載の電子機器であって、
前記更新用データを記憶する外部サーバーにネットワークを介して接続するためのネットワークインターフェイスを備え、
前記制御部は、前記ネットワークインターフェイスに接続された前記外部サーバーから前記更新プログラムを取得して前記第１不揮発メモリーに書き込む、
ことを特徴とする電子機器。
【請求項４】
請求項１〜３の何れか一項に記載の電子機器であって、
前記更新プログラムは、前記第１不揮発メモリーの初期ファイルシステムデータを含み、
前記制御部は、前記起動した第２カーネルにより、前記読み出されている更新プログラムの前記初期ファイルシステムデータにより前記第１不揮発メモリーの初期ファイルシステムをマウントし、前記初期ファイルシステムによって前記第１不揮発メモリーへアクセスして前記第１不揮発メモリーのファイルシステムを認識し、前記認識した前記第１不揮発メモリーのファイルシステムをマウントして前記第１不揮発メモリーへのデータの書き込みを可能とする、
ことを特徴とする電子機器。
【請求項５】
第１カーネルを含むファームウェアを記憶可能な第１不揮発メモリーと、第２カーネルを含む更新プログラムを記憶する第２不揮発メモリーとを備える電子機器のファームウェア復旧プログラムであって、
前記ファームウェア又は更新プログラムを読み出して前記第１又は第２カーネルを起動するブート処理機能と、
前記起動した第１又は第２カーネルにより前記第１不揮発メモリーへのデータの書き込みを可能とするマウント機能と、
前記ファームウェアを読み出せない場合に、前記ブート処理機能において前記アップデートプログラムを読み出して前記第２カーネルを起動させるブート管理機能と、
前記起動した第２カーネルによってデータの書き込みが可能となった前記第１不揮発メモリーに前記ファームウェアに対するアップデート用データを書き込むアップデート処理機能と、
をコンピューターに実現させることを特徴とするファームウェア復旧プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、起動時にファームウェアを復旧可能とする電子機器及びファームウェア復旧プログラムに関する。
【背景技術】
【０００２】
パーソナルコンピューター等の情報処理装置やデジタル複合機等の画像形成装置を含む電子機器においては、ユーザーへのストレスを低減させる観点等から、起動時間の短縮化の要望がある。
【０００３】
電子機器の起動時には、ＲＯＭ（Read Only Memory）からのファームウェアの読み出し等が行われるため、ファームウェアの読み出しスピードを上げることで起動時間の短縮効果が期待される。
【０００４】
ファームウェアの読み出しスピードは、ハードウェア面から比較的簡易に上げることができる。すなわち、ファームウェアは、一般的に不揮発性のフラッシュメモリーに記憶されているが、これに代えてＳＳＤ（Solid State Drive）に記憶すれば、読み出しスピードを上げることが可能である。ＳＳＤは、複数のフラッシュメモリーへの並列アクセスによる読出しの高速化がなされるためである。
【０００５】
しかし、ＳＳＤは、電子機器の動作中の電源断等によってファイルシステムが破損しやすいという問題がある。
【０００６】
このため、ファームウェアをＳＳＤに記憶する場合は、ＳＳＤ上のファイルシステムの破損によってファームウェアを読み出すことができなくなり、電子機器を起動できなくなるおそれがある。
【０００７】
また、ＳＳＤを交換する場合等は、ファームウェアを記憶する前の新規なＳＳＤを電子機器に取り付けると、ＳＳＤ内にファームウェアが存在しないので、ファイルシステムが破損した場合と同様に電子機器を起動できなくなる。
【０００８】
これに対し、例えば特許文献１には、ファームウェアのマスタープログラムとバックアッププログラムとを記憶しておき、マスタープログラム及びバックアッププログラムの一方によって電子機器を起動して、破損している同他方を復旧する技術が開示されている。
【０００９】
しかし、特許文献１の技術では、起動時に何れのファームウェアも読み出せない場合には対応することができない。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００３−１２２５７５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
発明が解決しようとする課題は、電子機器の起動時にファームウェアを読み出せない場合に、ファームウェアの復旧ができない点である。
【課題を解決するための手段】
【００１２】
本発明は、第１カーネルを含むファームウェアを記憶可能な第１不揮発メモリーと、第２カーネルを含む更新プログラムを記憶する第２不揮発メモリーと、ブート処理により前記ファームウェア又は更新プログラムを読み出して前記第１又は第２カーネルを起動し、前記起動した第１又は第２カーネルにより前記第１不揮発メモリーへのデータの書き込みを可能とする制御部とを備え、前記制御部は、前記ファームウェアを読み出せない場合に、前記更新プログラムを読み出して前記第２カーネルを起動するブート処理を行い、前記起動した第２カーネルによってデータの書き込みが可能となった前記第１不揮発メモリーに前記ファームウェアに対する更新用データを書き込む電子機器を最も主要な特徴とする。
【発明の効果】
【００１３】
本発明によれば、電子機器の起動時にファームウェアを読み出せない場合でも、更新プログラムに含まれる第２カーネルによって、第１不揮発メモリーへのデータの書き込みを可能とするまでの電子機器の起動と第１不揮発メモリーへのファームウェアの更新用データの書き込みとを行うことができ、ファームウェアの復旧が可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施例１に係る電子機器の構成を示すブロック図である。
【図２】図１の電子機器のシステム制御部の詳細を示すブロック図である。
【図３】図１の電子機器での通常の起動処理のシーケンスを示す概念図である。
【図４】図３の起動処理の流れを示すフローチャートである。
【図５】図１の電子機器でのファームウェアのアップデート処理のシーケンスを示す概念図である。
【図６】図５のアップデート処理の流れを示すフローチャートである。
【図７】図１の電子機器でのファームウェアの復旧処理のシーケンスを示す概念図である。
【図８】図７の復旧処理の流れを示すフローチャートである。
【図９】本発明の実施例２に係る電子機器の構成を示すブロック図である。
【図１０】図９のシステム制御部の詳細を示すブロック図である。
【図１１】図９の電子機器でのファームウェアの復旧処理のシーケンスを示す概念図である。
【図１２】図１１の復旧処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１５】
電子機器の起動時にファームウェアを読み出せない場合でも、ファームウェアの復旧を可能とするという目的を、第１不揮発メモリーに記憶される第１カーネルを含むファームウェアを読み出せない場合に、第２不揮発メモリーに記憶されている第２カーネルを含む更新プログラムを読み出して第２カーネルを起動することにより実現した。
【実施例１】
【００１６】
［電子機器の構成］
図１は、本発明の実施例１に係る電子機器の概略構成を示すブロック図である。
【００１７】
電子機器１は、例えばデジタル複合機等の画像形成装置であり、コピー機能、プリント機能、ファクシミリ機能等の各種の機能を有している。なお、電子機器１は、パーソナルコンピューターやその他の情報処理装置等のように、起動時にファームウェアを読み出すものであれば、画像形成装置以外であってもよい。
【００１８】
実施例１の電子機器１は、スキャナー部３、プリンター部５、ファクシミリ部７、外部インターフェイスとしてのＵＳＢインターフェイス９、ネットワークインターフェイス１１、操作パネル部１３、主記憶装置１５、補助記憶装置１７、及びシステム制御部１９を備える。
【００１９】
スキャナー部３は、スキャナー本体２１及びスキャナー制御部２３を有し、スキャナー制御部２３の制御によりスキャナー本体２１で原稿画像を読み込んで画像データを形成する。
【００２０】
プリンター部５は、プリンターエンジン２５及びプリンター制御部２７を有し、プリンター制御部２７の制御によりプリンターエンジン２５で画像データに基づいて用紙上に画像を形成する。
【００２１】
ファクシミリ部７は、回線ポート２９及びファクシミリ制御部３１を有し、ファクシミリ制御部３１の制御により回線ポート２９から電話回線を介してファクシミリを送受信する。
【００２２】
ＵＳＢインターフェイス９は、ＵＳＢポート３３及びＵＳＢホスト制御部３５を有し、ＵＳＢホスト制御部３５の制御によりＵＳＢポート３３に接続された外部記憶媒体としてのＵＳＢメモリー３７に対するデータの送受信を可能とする。
【００２３】
ネットワークインターフェイス１１は、ネットワークポート３９及びネットワーク制御部４１を有し、ネットワーク制御部４１の制御により、ネットワークポート３９からインターネット等のネットワークを介して外部装置に対するデータの送受信を可能とする。
【００２４】
操作パネル部１３は、タッチパネル式の画面等を含むパネル本体４５及びパネル制御部４７を有し、パネル制御部４７の制御により電子機器１に対する操作入力の受け付け及び操作状態の表示をパネル本体４５上で行う。
【００２５】
主記憶装置１５は、ＲＯＭ（Read Only Memory）４９及びＲＡＭ（Random Access Memory）５１等を有する。
【００２６】
ＲＯＭ４９は、実施例１の第２不揮発メモリーとしてファームウェアの更新プログラムを記憶するもので、例えば不揮発性の半導体メモリーであるフラッシュメモリーによって構成されている。ＲＯＭ４９内には、更新プログラムの他、電子機器１の起動時に必要なブートプログラム、ロゴデータ、ブートモードフラグが記憶される。更新プログラム、ブートプログラム、ブートモードフラグの詳細については後述する。
【００２７】
ＲＡＭ５１は、揮発性の半導体メモリー等で構成される揮発メモリーであり、作業領域として機能するものである。
【００２８】
補助記憶装置１７は、ＳＳＤ（Solid State Drive）５３及びＨＤＤ（Hard Disk Drive）５５等を有する。
【００２９】
ＳＳＤ５３は、実施例１の第１不揮発メモリーとしてファームウェアを記憶するもので、複数の不揮発性のフラッシュメモリーが並列アクセス可能に構成されている。ＳＳＤ５３では、並列アクセスにより、フラッシュメモリーであるＲＯＭ４９よりもデータの読み出しスピードが速い。ＳＳＤ５３には、ＳＳＤ制御部５７が内蔵され、データの読み出しや書き込みが制御される。なお、ファームウェアの詳細については後述する。
【００３０】
ＨＤＤ５５は、複数のハードディスクを内蔵した不揮発性のメモリーであり、内蔵するＨＤＤ制御部５９によってデータの読み出しや書き込みが制御される。
【００３１】
なお、ＨＤＤ制御部５９を含む上述の各部の制御部２３，２７，３１，３５，４１，４７，及び５７は、演算処理装置で構成することができる。
【００３２】
システム制御部１９は、ＣＰＵ（Central Processing Unit）等の演算処理装置であり、上記各部を含めたシステム全体の制御を行うものである。
【００３３】
電子機器１の起動時には、システム制御部１９がＳＳＤ５３からファームウェアを読み出して電子機器１の起動処理を実行する。また、実施例１のシステム制御部１９は、ＳＳＤ５３からファームウェアを読み出せない場合又はアップデートが要求されている場合に、ＲＯＭ４９から更新プログラムを読み出してファームウェアの復旧処理又はアップデート処理を実行する。復旧処理及びアップデート処理は、ファームウェアを更新プログラムによって更新する処理であり、更新の結果が異なるものである。すなわち、ファームウェアの復旧処理は、ファームウェアの更新の結果、破損しているファームウェアを復旧する処理であり、アップデート処理は、ファームウェアの更新の結果、既存のファームウェアをアップデートする処理となる。
【００３４】
[システム制御部]
図２は、図１の電子機器１のシステム制御部１９の詳細を示すブロック図である。
【００３５】
システム制御部１９は、電子機器１の起動直後にＲＯＭ４９内のブートプログラムを実行することによってブートを起動する。システム制御部１９は、起動されたブートにより、ブート処理部６１、ブートモード設定部６３、及びブート管理部６５として機能する。
【００３６】
ブート処理部６１は、ブート処理機能を実現し、カーネルを起動するブート処理を行うものである。実施例１では、ファームウェアに含まれる第１カーネル又は更新プログラムに含まれる第２カーネルを起動する。
【００３７】
第１カーネルを起動する場合、ブート処理部６１は、ＳＳＤ５３からファームウェアを読み出してＲＡＭ５１に展開し、展開されたファームウェアに含まれる第１カーネルを起動する。
【００３８】
第２カーネルを起動する場合、ブート処理部６１は、ＲＯＭ４９から更新プログラムを読み出してＲＡＭ５１に展開し、更新プログラムに含まれる第２カーネルを起動する。
【００３９】
なお、ＳＳＤ５３内のファームウェアには、第１カーネルの他、ルートファイルシステムデータ及びアプリケーションデータが含まれる。また、ＲＯＭ４９内の更新プログラムには、第２カーネルの他、ＳＳＤ５３の初期ファイルシステムデータが含まれる。
【００４０】
ブート起動後でカーネルの起動前は、ブート処理部６１が周辺機器を初期化する。周辺機器の初期化後には、ブート処理部６１が、ロゴデータをＲＯＭ４９から読み出してＲＡＭ５１上に展開し、操作パネル部１３上へロゴの表示を行う。
【００４１】
ブートモード設定部６３は、ブートモード設定機能を実現し、ブート処理が通常モード、アップデートモード、及び復旧モードの何れであるかを、ＲＯＭ４９内のブートモードフラグによって設定する。
【００４２】
ブートモード設定部６３は、電子機器１の再起動時にはブートモードフラグを通常モードに設定する。また、後述するようにアップデートの要求がある場合は、ブートモード設定部６３が電子機器１の再起動時にブートモードをアップデートモードに設定する。また、ブート処理部６１がＳＳＤ５３からファームウェアを読み出せない場合には、ブートモードフラグを復旧モードに設定する。
【００４３】
ファームウェアをＳＳＤ５３から読み出せない場合としては、ＳＳＤ５３上のファイルシステムが損傷した場合や、ＳＳＤ５３の交換等によってファームウェアがＳＳＤ５３に記憶されていない場合等である。
【００４４】
ブート管理部６５は、ブート管理機能を実現し、ブート処理部６１がＳＳＤ５３からファームウェアを読み出せない場合、つまりブートモードフラグが復旧モードである場合に、ブート処理部６１にＲＯＭ４９から更新プログラムを読み出させて第２カーネルを起動させる。
【００４５】
実施例１のブート管理部６５は、ブートモードフラグがアップデートモードである場合にも、ブート処理部６１に第２カーネルを起動させる。
【００４６】
なお、ブート管理部６５は、ブートモードフラグが通常モードである場合、ブート処理部６１に第１カーネルを起動させる。
【００４７】
第１カーネルが起動した場合は、起動した第１カーネルにより、システム制御部１９がルートファイルシステムマウント部６７及びアプリケーションマウント部６９として機能する。
【００４８】
ルートファイルシステムマウント部６７は、ルートファイルシステムマウント機能を実現し、ＲＡＭ５１上に展開されたファームウェアに含まれるルートファイルシステムデータによって、ルートファイルシステムをマウントする。ルートファイルシステムは、ルートディレクトリに対するツリー構造のディレクトリーツリーであり、ＳＳＤ５３やＨＤＤ５５に対するデータの読み出し及び書き込みを可能とする。
【００４９】
従って、実施例１のシステム制御部１９は、起動した第１カーネル（ルートファイルシステムマウント部６７）により、第１不揮発メモリーであるＳＳＤ５３へのデータの書き込みを可能とする制御部を構成する。
【００５０】
アプリケーションマウント部６９は、アプリケーションマウント機能を実現し、ＲＡＭ５１上に展開されたファームウェアに含まれるアプリケーションをマウントして起動する。アプリケーション起動後には、システム制御部１９がアップデート判断部７１として機能する。
【００５１】
アップデート判断部７１は、アップデート判断機能を実現し、アップデートの要求を受け付け、ＲＯＭ４９内のブートモードフラグを通常モードからアップデートモードに変更し、電子機器１を再起動する。アップデートの要求は、ＵＳＢインターフェイス９にアップデート用データが記憶されているＵＳＢメモリー３７が接続されていることで行われる。
【００５２】
一方、第２カーネルが起動した場合は、システム制御部１９がＳＳＤ５３の初期ファイルシステムマウント部（以下、「ＳＳＤ初期ファイルシステムマウント部」と称する）７３、ＳＳＤ５３のファイルシステムマウント部（以下「ＳＳＤファイルシステムマウント部」と称する）７５、更新処理部７７として機能する。
【００５３】
ＳＳＤ初期ファイルシステムマウント部７３は、ＳＳＤ５３に対する初期ファイルシステムマウント機能を実現し、ＲＡＭ５１上に展開された更新プログラムに含まれる初期ファイルシステムデータにより、ＳＳＤ５３の初期ファイルシステムをマウントしてＳＳＤ５３へのアクセスを可能とする。
【００５４】
ＳＳＤファイルシステムマウント部７５は、ＳＳＤ５３に対するファイルマウント機能を実現し、ＳＳＤ５３へアクセスしてファイルシステムを認識し、認識したＳＳＤ５３のファイルシステムをマウントする。ＳＳＤ５３のファイルシステムは、ディレクトリーツリーであり、ＳＳＤ５３に対するデータの読み出しを可能とする。
【００５５】
従って、実施例１のシステム制御部１９は、起動した第２カーネル（ＳＳＤファイルシステムマウント部７５）により、第１不揮発メモリーであるＳＳＤ５３へのデータの書き込みを可能とする制御部を構成する。
【００５６】
更新処理部７７は、更新処理機能を実現し、データの書き込みが可能となったＳＳＤ５３に、ファームウェアに対する更新用データを書き込む。実施例１の更新用データは、ＳＳＤ５３に記憶されているファームウェアと同一の同一データ又はそのファームウェアに対するアップデート用データである。
【００５７】
更新用データは、ＵＳＢインターフェイス９に接続されるＵＳＢメモリー３７内に記憶されている。このため、更新処理部７７は、更新用データをＵＳＢメモリー３７から取得する際に、ＵＳＢインターフェイス９に接続されたＵＳＢメモリー３７をマウントする。
【００５８】
［起動処理］
図３は、図１の電子機器１での通常の起動処理のシーケンスをＲＯＭ４９、ＲＡＭ５１、及びＳＳＤ５３と共に示す概念図、図４は、図３の起動処理のフローチャートである。
【００５９】
起動処理は、図３及び図４のように電子機器１の電源を投入することで開始され、まずステップＳ１において「ブート起動」が実行される。すなわち、システム制御部１９は、ＲＯＭ４９内のブートプログラムをＲＡＭ５１上のＢｏｏｔ領域内に展開してブートを起動する。
【００６０】
ブートの起動後は、ステップＳ２において「周辺機器の初期化及びロゴの表示」が実行される。すなわち、システム制御部１９のブート処理部６１は、周辺機器を初期化する。また、周辺機器の初期化後には、ブート処理部６１が、ロゴデータをＲＯＭ４９から読み出してＲＡＭ５１上のＬＣＤＣ領域に展開し、操作パネル部１３上へロゴの表示を行う。
【００６１】
ロゴの表示後は、ステップＳ３において「ブートモードが通常モードか？」の判断が実行される。すなわち、ブート管理部６５は、ＲＯＭ４９内のブートモードフラグによってブートモードが通常モードがアップデートモードかを判断する。
【００６２】
通常の起動処理では、ブートモードが通常モードとなっており、ステップＳ４へ移行する。なお、ブートモードがアップデートモードである場合は、図５及び図６のアップデート処理へと移行する。
【００６３】
ステップＳ４では、ブート管理部６５がブート処理部６１に通常の起動処理を続行させ、「ファームウェアの読出し」が実行される。すなわち、ブート処理部６１は、ＳＳＤ５３からファームウェアを読み出し、読み出したファームウェアの第１カーネルをＲＡＭ５１上のＯＳ領域に、ルートファイルシステムデータをＲｏｏｔＦＳ領域に、アプリケーションデータをアプリケーション領域に、それぞれ展開する。
【００６４】
次いで、ステップＳ５では、「ファームウェアを読み出せたか？」の判断が実行される。すなわち、ブート管理部６５は、ステップＳ４でのファームウェアの読出しができか否かを判断する。ファームウェアの読出しができた場合は、ステップＳ６へ移行して通常の起動処理が続行される。一方、ファームウェアの読出しができなかった場合は、ステップＳ７において「ブートモードを復旧モードに設定」が実行され、ＲＯＭ４９内のアップデートモードフラグが復旧モードに設定されて、図７及び８の復旧処理へと移行する。
【００６５】
ステップＳ６では、「第１カーネルの起動」が実行される。すなわち、ブート処理部６１は、ＲＡＭ５１上に展開した第１カーネルを起動する。
【００６６】
第１カーネルの起動後は、ステップＳ８において「ルートファイルシステムのマウント」が実行される。すなわち、システム制御部１９のルートファイルシステムマウント部６７は、ＲＡＭ５１上に展開されたルートファイルシステムデータによってルートファイルシステムをマウントし、ＨＤＤ５５やＳＳＤ５３に対するデータの読み出しや書き込みを可能とする。
【００６７】
次いで、ステップＳ９では、「アプリケーションの起動」が実行される。すなわち、システム制御部１９のアプリケーションマウント部６９は、ＲＡＭ５１上に展開されたアプリケーションデータにより、アプリケーションをマウントして起動する。
【００６８】
アプリケーション起動後は、ステップＳ１０において「アップデートの要求ないか？」の判断が実行される。すなわち、システム制御部１９のアップデート判断部７１は、ファームウェアのアップデートの要求の有無を判断する。実施例１では、更新用データを記憶しているＵＳＢメモリー３７がＵＳＢインターフェイス９に接続されているか否かを判断する。
【００６９】
判断の結果、ＵＳＢインターフェイス９にＵＳＢメモリー３７が接続されていないか、或いは接続されていてもＵＳＢメモリー３７内にファームウェアの更新用データが記憶されていなければ、起動処理が終了する。
【００７０】
一方、更新用データを記憶しているＵＳＢメモリー３７がＵＳＢインターフェイス９に接続されている場合は、ファームウェアのアップデートの要求があるものと判断される。
【００７１】
この場合は、ステップＳ１１において「ブートモードをアップデートモードに変更」が実行される。すなわち、アップデート判断部７１は、ＲＯＭ４９内のブートモードフラグをアップデートモードに設定する。
【００７２】
こうしてブートモードフラグが変更されると、ステップＳ１２において「再起動」が実行され、電子機器１が再起動されることになる。これにより、上記起動処理が再開されて、ステップＳ３からアップデート処理へと移行する。
【００７３】
［アップデート処理］
図５は、図１の電子機器１でのファームウェアのアップデート処理のシーケンスをＲＯＭ４９、ＲＡＭ５１、及びＳＳＤ５３と共に示す概念図、図６は、図５のアップデート処理のフローチャートである。
【００７４】
アップデート処理は、電子機器１を再起動に応じ、通常の起動処理と同様に図４のステップＳ１及びＳ２のブートの起動、周辺機器の初期化、及びロゴの表示が行われる。
【００７５】
ロゴの表示後は、図４のステップＳ３において、システム制御部１９のブート管理部６５がＲＯＭ４９内のブートモードフラグによってアップデートモードであると判断され、図６のフローチャートが開始される。
【００７６】
すなわち、アップデート処理は、まず図６のステップＳ２１において「更新プログラムの読み出し」が実行される。すなわち、ブート管理部６５は、ブート処理部６１にアップデート処理を実行させ、ブート処理部６１は、ＲＯＭ４９から更新プログラムを読み出す。読み出した更新プログラムは、ブート処理部６１がＲＡＭ５１上のＯＳ領域に展開する。
【００７７】
次いで、ステップＳ２２では、「第２カーネルの起動」が実行される。すなわち、ブート処理部６１は、ＲＡＭ５１上に展開した更新プログラムの第２カーネルを起動する。
【００７８】
第２カーネルの起動後は、ステップＳ２３において「ＳＳＤ初期ファイルシステムマウント」が実行される。すなわち、システム制御部１９のＳＳＤ初期ファイルシステムマウント部７３は、ＲＡＭ５１上に展開された更新プログラムに含まれる初期ファイルシステムデータにより、ＳＳＤ５３の初期ファイルシステムをマウントする。従って、ＳＳＤ５３へのアクセスが可能となる。
【００７９】
次いで、ステップＳ２４では、「ＳＳＤファイルシステムマウント」が実行される。すなわち、システム制御部１９のＳＳＤファイルシステムマウント部７５は、ＳＳＤ５３へのアクセスにより、ＳＳＤ５３のファイルシステムを認識してマウントする。従って、ＳＳＤ５３に対するデータの書き込みが可能となる。
【００８０】
データの書き込みが可能となったＳＳＤ５３に対しては、ステップＳ２５において「更新用データの書き込み」が実行される。すなわち、システム制御部１９の更新処理部７７は、ＵＳＢインターフェイス９に接続されているＵＳＢメモリー３７をマウントし、マウントされたＵＳＢメモリー３７から更新用データを読み出す。
【００８１】
そして、更新処理部７７は、読み出した更新用データをＳＳＤ５３に書き込み、ファームウェアを更新してアップデートする。なお、ＵＳＢメモリー３７は、アップデートの要求としてＵＳＢインターフェイス９に接続されたものである。
【００８２】
こうしてファームウェアのアップデートが完了すると、ステップＳ２６において「ブートモードを通常モードに変更」が実行される。すなわち、ブートモード設定部６３は、ＲＯＭ４９内のブートモードフラグを通常モードに変更する。
【００８３】
その後は、ステップＳ２７において「再起動」が実行され、電子機器１が再起動されることになる。
【００８４】
［復旧処理］
図７は、図１の電子機器１でのファームウェアの復旧処理のシーケンスをＲＯＭ４９、ＲＡＭ５１、及びＳＳＤ５３と共に示す概念図、図８は、図７の復旧処理のフローチャートである。
【００８５】
復旧処理は、ＳＳＤ５３に記憶されているファームウェアが破損し又はＳＳＤ５３にファームウェアが記憶されていない場合において、通常の起動処理でＳＳＤ５３からファームウェアを読み出せないときに行わせるものである。
【００８６】
従って、復旧処理は、電子機器１の電源を投入することよって開始され、通常の起動処理と同様にブートの起動、図４のステップＳ１〜Ｓ３のように、周辺機器の初期化、ロゴの表示、ブートモードの判断が行われる。なお、復旧処理の際は、ブートモードが通常モードとなっており、ブート管理部６５は、ブート処理部６１に通常の起動処理を続行させ、図４のステップＳ４に移行する。
【００８７】
ステップＳ４では、ブート処理部６１が通常の起動処理としてＳＳＤ５３からのファームウェアの読み出しを開始するが、ＳＳＤ５３からファームウェアを読み出すことができないことになる。
【００８８】
このため、図４のステップＳ５では、ファームウェアが読み出せないものとして判断され、図４のステップＳ７では、ブートモードフラグが復旧モードに設定され、図８のフローチャートが開始される。
【００８９】
なお、図８の復旧処理のフローチャートは、アップデート処理の図６のフローチャートと基本的に同一である。すなわち、図８のステップＳ３１〜Ｓ３４及びステップＳ３７〜Ｓ３９は、それぞれ図６のステップＳ２１〜Ｓ２４及びステップＳ２５〜Ｓ２７に対応する。
【００９０】
従って、復旧処理は、図８のステップＳ３１〜Ｓ３４において、更新プログラムの読み出し、第２カーネルの起動、ＳＳＤ５３の初期ファイルシステムのマウント、ＳＳＤ５３のファイルシステムのマウントが実行される。
【００９１】
ＳＳＤ５３のファイルシステムのマウント後は、ステップＳ３５において「ＵＳＢメモリーの接続の受け付け」が実行される。すなわち、システム制御部１９の更新処理部７７は、操作パネル部１３上で、ファームウェアの更新用データを記憶するＵＳＢメモリー３７の接続をサービスマン等に促す表示を行う。これにより、ＵＳＢメモリー３７の接続を受け付けることになる。
【００９２】
その後は、ステップＳ３６において「ＵＳＢメモリーが接続されたか？」の判断が実行される。すなわち、更新処理部７７は、更新用データを記憶するＵＳＢメモリー３７がＵＳＢインターフェイス９に接続されたか否かを判断する。
【００９３】
ＵＳＢメモリー３７が接続された場合は、ステップＳ３７において、更新処理部７７がＵＳＢメモリー３７から更新用データを読み出して、データの書き込みが可能となったＳＳＤ５３に対して書き込む。こうして、ファームウェアの更新又は新規記憶による復旧が実行される。
【００９４】
一方、ＵＳＢメモリー３７が接続されない限りは、ステップＳ３６の判断が繰り返されることになる。
【００９５】
こうしてファームウェアの復旧が完了すると、ステップＳ３８においてブートモードを通常モードに設定され、ステップＳ３９において電子機器１が再起動されることになる。
【００９６】
なお、アップデート処理では、復旧処理のステップＳ３５及びＳ３６が省略されているが、復旧処理と同一のアルゴリズムの図８のフローチャートによって実行してもよい。この場合は、アップデート処理においてステップＳ３５及びＳ３６が行われるが、ＵＳＢメモリー３７が既にＵＳＢインターフェイス９に接続されているので、それらのステップが事実上省略されることになる。
【００９７】
［実施例１の効果］
以上説明したように、実施例１の電子機器１は、第１カーネルを含むファームウェアを記憶可能なＳＳＤ５３と、第２カーネルを含む更新プログラムを記憶するＲＯＭ４９と、ブート処理によりファームウェア又は更新プログラムを読み出して第１又は第２カーネルを起動し、起動した第１又は第２カーネルによりＳＳＤ５３へのデータの書き込みを可能とするシステム制御部１９とを備える。
【００９８】
システム制御部１９は、ファームウェアを読み出せない場合に、更新プログラムを読み出して第２カーネルを起動するブート処理を行い、起動した第２カーネルによってデータの書き込みが可能となったＳＳＤ５３にファームウェアに対する更新用データを書き込む。
【００９９】
従って、実施例１では、電子機器１の起動時にファームウェアを読み出せない場合でも、更新プログラムに含まれる第２カーネルによって、ＳＳＤ５３へのデータの書き込みを可能とするまでの電子機器１の起動とＳＳＤ５３へのファームウェアの更新用データの書き込みとを行うことができる。このため、電子機器１の起動時に読み出せなかったファームウェアの復旧が可能となる。
【０１００】
このように、実施例１では、起動時にＳＳＤ５３のファームウェアの復旧が可能であるため、ＳＳＤ５３にファームウェアを記憶して起動時間の短縮化を実現することができる。
【０１０１】
また、実施例１では、ファームウェアの復旧処理と同一のアルゴリズムによってアップデートを行わせることができる。この場合は、電子機器１に必要なファームウェアのアップデート処理機能を搭載するだけで、ファームウェアの復旧機能も搭載することが可能となる。
【０１０２】
実施例１の電子機器１は、更新用データを記憶するＵＳＢメモリー３７を接続するためのＵＳＢインターフェイス９を備え、システム制御部１９がＵＳＢインターフェイス９に接続されたＵＳＢメモリー３７から更新用データを取得してＳＳＤ５３に書き込む。
【０１０３】
従って、実施例１では、ＵＳＢメモリー３７を利用してファームウェアの容易且つ確実な復旧が可能となる。
【０１０４】
更新プログラムは、ＳＳＤ５３の初期ファイルシステムデータを含み、システム制御部１９は、起動した第２カーネルにより、読み出されている更新プログラムの初期ファイルシステムデータによりＳＳＤ５３の初期ファイルシステムをマウントし、初期ファイルシステムによってＳＳＤ５３へアクセスしてＳＳＤ５３のファイルシステムを認識し、認識したＳＳＤ５３のファイルシステムをマウントしてＳＳＤ５３へのデータの書き込みを可能とする。
【０１０５】
従って、実施例１では、起動した第２カーネルによって、ＳＳＤ５３へのデータの書き込みを確実に実現することができる。
【実施例２】
【０１０６】
図９ は、本発明の実施例２に係る電子機器の概略構成を示すブロック図、図１０ は、図９のシステム制御部の詳細を示すブロック図である。なお、実施例２は、実施例１と基本構成が共通し、対応する構成部分に同符号を付して重複した説明を省略する。すなわち、図９及び図１０は、それぞれ実施例１の図１及び図２と対応関係にあり、図１及び図２と対応する構成部分に同符号を付している。
【０１０７】
実施例２の電子機器１は、復旧処理において、外部サーバー７９に記憶された更新用データを読み出してＳＳＤ５３に書き込むものである。
【０１０８】
このため、システム制御部１９は、第２カーネルの起動により、ネットワークファイルシステムマウント部８１としても機能する。
【０１０９】
ネットワークファイルシステムマウント部８１は、ネットワークファイルシステムマウント機能を実現し、外部サーバー７９へのアクセス情報をＲＯＭ４９から取得してＮＦＳ（Network File System）マウントする。
【０１１０】
これにより、更新処理部７７は、ネットワーク４３によって外部サーバー７９から更新用データを読み出すことが可能となる。
【０１１１】
図１１は、図９の電子機器１でのファームウェアの復旧処理のシーケンスをＲＯＭ４９、ＲＡＭ５１、ＳＳＤ５３、及び外部サーバー７９と共に示す概念図、図１２は、図１１の復旧処理のフローチャートである。
【０１１２】
実施例２の復旧処理は、実施例１と同様に図４のステップＳ１〜Ｓ５及びＳ７によって、周辺機器の初期化、ロゴの表示、ブートモードの判断、ファームウェアの読み出しを開始、ブートモードフラグの復旧モードへの設定がなされ、図１２のフローチャートが開始される。
【０１１３】
なお、図１２の復旧処理のフローチャートは、基本的に図８のフローチャートと基本的に同一であり、ステップＳ４１〜Ｓ４４及びＳ４６〜Ｓ４８が図８のステップＳ３１〜Ｓ３４及びＳ３７〜Ｓ３９に対応する。
【０１１４】
従って、復旧処理は、実施例１の復旧処理と同様、図１２のステップＳ４１〜ｓ４４において、更新プログラムを読み出し、第２カーネルを起動し、ＳＳＤ５３の初期ファイルシステムをマウントし、ＳＳＤ５３のファイルシステムをマウントする。
【０１１５】
次いで、ステップＳ４５では、「外部サーバーをＮＦＳマウント」が実行される。すなわち、システム制御部１９のネットワークファイルシステムマウント部８１は、外部サーバー７９へのアクセス情報をＲＯＭ４９から取得して外部サーバー７９をＮＦＳマウントし、外部サーバー７９からの更新用データの読み出しを可能とする。
【０１１６】
次いで、ステップＳ４６では、「更新用データの書き込み」が実行され、更新処理部７７が外部サーバー７９から更新用データをダウンロードしてＳＳＤ５３に対して書き込む。
【０１１７】
こうして、ファームウェアの更新又は新規記憶による復旧が実行されると、ステップＳ４７において「ブートモードを通常モードに設定」が実行され、ブートモード設定部６３は、ＲＯＭ４９内のブートモードフラグを通常モードに設定する。
【０１１８】
その後は、ステップＳ４８において「再起動」が実行され、電子機器１が再起動されることになる。
【０１１９】
このように実施例２では、外部サーバー７９から自動的に更新用データをダウンロードしてＳＳＤ５３内のファームウェアを復旧することができ、サービスマン等による復旧対応作業の必要性がなく、メンテナンスコストの削減を図ることができる。
【符号の説明】
【０１２０】
１  電子機器
９  ＵＳＢインターフェイス（外部インターフェイス）
１１  ネットワークインターフェイス
１９  システム制御部
３７  ＵＳＢメモリー（外部記憶媒体）
４９  ＲＯＭ（第２不揮発メモリー）
５３  ＳＳＤ（第１不揮発メモリー）
７９  外部サーバー
【図１】
2016126443.tif 000003
【図２】
2016126443.tif 000004
【図４】
2016126443.tif 000005
【図６】
2016126443.tif 000006
【図８】
2016126443.tif 000007
【図９】
2016126443.tif 000008
【図１０】
2016126443.tif 000009
【図１２】
2016126443.tif 000010
【図３】
2016126443.tif 000011
【図５】
2016126443.tif 000012
【図７】
2016126443.tif 000013
【図１１】
2016126443.tif 000014