(57)【要約】【課題】  インタフェースに保持されている通信設定情報をリセット処理によりリセットした後の、通信設定情報をインタフェースに再度保持させる処理を適切に実行することを目的とする。【解決手段】  インタフェースが保持している通信設定情報をリセットするリセット処理を実行するリセット手段と、リセット処理が実行される前から第２メモリに保存されていた前記通信設定情報を、前記リセット処理が実行された後、前記インタフェースに保持させる適用処理を実行する適用手段を有する回路を提供することで課題を解決する。【選択図】  図１
2019207577.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを保持する第１メモリと通信するための通信設定情報を保持可能であり、前記第１メモリと同じ前記通信設定情報を保持している状態において前記第１メモリと通信可能であるインタフェースを制御する回路であって、
前記通信設定情報を、第２メモリに保存する保存手段と、
前記インタフェースが保持している前記通信設定情報をリセットするリセット処理を実行するリセット手段と、
前記リセット処理が実行される前から前記第２メモリに保存されていた前記通信設定情報を、前記リセット処理が実行された後、前記インタフェースに保持させる適用処理を実行する適用手段と、
前記リセット処理及び前記適用処理が実行された後、前記リセット処理が実行される前から前記第２メモリに保存されていた前記通信設定情報を保持する前記インタフェースを介して、前記第１メモリが保持する所定のプログラムに、前記第１メモリが保持している前記通信設定情報をリセットすることなくアクセスするアクセス手段と、
を有することを特徴とする回路。
【請求項２】
前記第１メモリと前記インタフェースに同じ前記通信設定情報を保持させるための設定処理によって生成された前記通信設定情報が前記第２メモリに保存されることを特徴とする請求項１に記載の回路。
【請求項３】
前記第１メモリの識別情報を取得する情報取得手段をさらに有し、
前記取得された前記第１メモリの識別情報に基づいて、前記通信設定情報が生成される請求項２に記載の回路。
【請求項４】
前記設定処理は、前記第１メモリに保持されている設定プログラムを少なくとも１つのプロセッサーが実行することによって実行されることを特徴とする請求項２又は３に記載の回路。
【請求項５】
前記設定処理は、前記設定処理によって生成された情報ではない、初期値の前記通信設定情報を前記第１メモリと前記インタフェースが保持している状態で実行されることを特徴とする請求項２乃至４のいずれか１項に記載の回路。
【請求項６】
前記設定処理は、前記回路及び前記第１メモリに電力が供給されていない状態から、前記回路及び前記第１メモリに電力が供給されている状態に遷移したことに基づいて実行されることを特徴とする請求項２乃至５のいずれか１項に記載の回路。
【請求項７】
前記回路及び前記第１メモリに電力が供給されている状態から、前記回路及び前記第１メモリに電力が供給されていない状態に遷移した場合、前記インタフェースが保持している前記通信設定情報及び、前記第１メモリが保持している前記通信設定情報がリセットされることを特徴とする請求項１乃至６のいずれか１項に記載の回路。
【請求項８】
少なくとも１つのプロセッサーが実行するプログラムにエラーが発生したか否かを検知する検知手段と、
前記エラーが発生したことが検知されたことに基づいて、前記リセット処理が実行されることを特徴とする請求項１乃至７のいずれか１項に記載の回路。
【請求項９】
前記リセット処理は、ウォッチドックリセットであることを特徴とする請求項１乃至８のいずれか１項に記載の回路。
【請求項１０】
前記リセット処理において、前記インタフェースが保持している前記通信設定情報がリセットされ、前記第１メモリが保持している前記通信設定情報がリセットされないことを特徴とする請求項１乃至９のいずれか１項に記載の回路。
【請求項１１】
前記第２メモリに保持されている情報は、前記リセット処理が実行されてもリセットされないことを特徴とする請求項１乃至１０のいずれか１項に記載の回路。
【請求項１２】
前記リセット処理が実行される前に、前記リセット処理に関する通知を受信する受信手段と、
前記通知が受信された場合、前記第１メモリの状態に関する情報を前記第２メモリに保存する情報保存手段と、
前記リセット処理が実行された後、前記第１メモリの状態に関する情報が示す状態を特定する特定手段と、
前記特定された状態が、前記第１メモリが処理を実行していない状態であるＩＤＬＥ状態以外の状態である場合、前記第１メモリの状態を、前記ＩＤＬＥ状態に遷移させることを特徴とする請求項１乃至１１のいずれか１項に記載の回路。
【請求項１３】
前記リセット処理が実行される前に、前記リセット処理に関する通知を受信する受信手段と、
前記通知が受信された場合、前記第１メモリの状態に関する情報を前記第２メモリに保存する情報保存手段と、
前記リセット処理が実行された後、前記第１メモリの状態に関する情報が示す状態を特定する第１特定手段と、
前記特定された状態が、前記第１メモリが処理を実行していないＩＤＬＥ状態と異なる所定の状態である場合、前記リセット処理が実行された後の前記第１メモリの状態を特定する第２特定手段と、
前記特定された、前記リセット処理が実行された後の前記第１メモリの状態が、前記所定の状態である場合、前記第１メモリを前記ＩＤＬＥ状態に遷移させることを特徴とする請求項１乃至１１のいずれか１項に記載の回路。
【請求項１４】
前記リセット処理が実行された後、前記リセット処理が、少なくとも１つのプロセッサーが実行するプログラムにエラーが発生したことに基づいて実行されたか否かを判定する判定手段と、を有し、
前記リセット処理が、少なくとも１つのプロセッサーが実行するプログラムにエラーが発生したことに基づいて実行された場合、前記リセット処理が実行される前から前記第２メモリに保存されていた前記通信設定情報を保持する前記インタフェースを介して、前記第１メモリが保持する前記所定のプログラムにアクセスし、
前記リセット処理が、少なくとも１つのプロセッサーが実行するプログラムにエラーが発生したこと以外の要因に基づいて実行された場合、前記第１メモリと前記インタフェースに同じ前記通信設定情報を保持させるための設定処理によって、前記リセット処理が実行された後に生成された前記通信設定情報を保持する前記インタフェースを介して、前記第１メモリが保持する前記所定のプログラムにアクセスすることを特徴とする請求項１乃至１３のいずれか１項に記載の回路。
【請求項１５】
前記通信設定情報のリセットとは、前記通信設定情報を初期値に変更する処理、前記通信設定情報を削除する処理のうち少なくとも１つの処理であることを特徴とする請求項１乃至１４のいずれか１項に記載の回路。
【請求項１６】
前記第１メモリが保持しているプログラムに基づいて、印刷部に印刷を実行させる印刷手段をさらに有することを特徴とする請求項１乃至１５のいずれか１項に記載の回路。
【請求項１７】
前記通信設定情報は、前記第１メモリとの通信に用いられる通信プロトコルに関する情報であることを特徴とする請求項１乃至１６のいずれか１項に記載の回路。
【請求項１８】
請求項１乃至１７のいずれか１項に記載の回路を備える情報処理装置。
【請求項１９】
プログラムを保持する第１メモリと通信するための通信設定情報を保持可能であり、前記第１メモリと同じ前記通信設定情報を保持している状態において前記第１メモリと通信可能であるインタフェースを制御する回路の制御方法であって、
前記通信設定情報を、第２メモリに保存する保存ステップと、
前記インタフェースが保持している前記通信設定情報をリセットするリセット処理を実行するリセットステップと、
前記リセット処理が実行される前から前記第２メモリに保存されていた前記通信設定情報を、前記リセット処理が実行された後、前記インタフェースに保持させる適用処理を実行する適用ステップと、
前記リセット処理及び前記適用処理が実行された後、前記リセット処理が実行される前から前記第２メモリに保存されていた前記通信設定情報を保持する前記インタフェースを介して、前記第１メモリが保持する所定のプログラムに、前記第１メモリが保持している前記通信設定情報をリセットすることなくアクセスするアクセスステップと、
を有することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路、制御方法、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
従来、ウォッチドッグリセット等のリセット処理により、インタフェースに保持されている、メモリと通信するための通信設定情報をリセットする回路が知られている。特許文献１には、ウォッチドッグリセットにより、ＣＰＵやインタフェースを含むシステムを初期化する装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−２１９９６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、インタフェースに保持されている通信設定情報をリセット処理によりリセットする回路が普及するに当たり、リセット処理後に、通信設定情報をインタフェースに保持させる処理を適切に実行することが望まれている。
【０００５】
そこで、本発明は、インタフェースに保持されている通信設定情報をリセット処理によりリセットした後の、通信設定情報をインタフェースに再度保持させる処理を適切に実行することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の回路は、プログラムを保持する第１メモリと通信するための通信設定情報を保持可能であり、前記第１メモリと同じ前記通信設定情報を保持している状態において前記第１メモリと通信可能であるインタフェースを制御する回路であって、
前記通信設定情報を、第２メモリに保存する保存手段と、
前記インタフェースが保持している前記通信設定情報をリセットするリセット処理を実行するリセット手段と、
前記リセット処理が実行される前から前記第２メモリに保存されていた前記通信設定情報を、前記リセット処理が実行された後、前記インタフェースに保持させる適用処理を実行する適用手段と、
前記リセット処理及び前記適用処理が実行された後、前記リセット処理が実行される前から前記第２メモリに保存されていた前記通信設定情報を保持する前記インタフェースを介して、前記第１メモリが保持する所定のプログラムに、前記第１メモリが保持している前記通信設定情報をリセットすることなくアクセスするアクセス手段と、
を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、インタフェースに保持されている通信設定情報をリセット処理によりリセットした後の、通信設定情報をインタフェースに再度保持させる処理を適切に実行することができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置１００の内部構成の詳細を示す図である。
【図２】ウォッチドッグリセット時の各構成の状態を示す図である。
【図３】ＣＰＵ８が実行する通信初期設定時の処理フローを示す図である。
【図４】ＲＯＭコントローラ１が実行するウォッチドッグリセット時の処理フローを示す図である。
【図５】ＲＯＭコントローラ１が実行するパワーオンリセット時の処理フローを示す図である。
【図６】ＲＯＭコントローラ１が実行するリセット復帰時の処理フローを示す図である。
【図７】情報処理装置１００の内部構成を示す図である。
【発明を実施するための形態】
【０００９】
（第１実施形態）
本実施形態の情報処理装置について説明する。情報処理装置として、本実施形態では、印刷サービスを提供可能な記録装置を例示しているが、これに限定されない。情報処理装置として、後述の機能を司る回路を有する装置であれば、種々のものを適用可能である。例えば、プリンタであれば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等を適用可能である。また、プリンタのみならず複写機やファクシミリ装置、スマートフォン、携帯端末、パーソナルコンピュータ、タブレット端末、ＰＤＡ、デジタルカメラ、音楽再生デバイス、ストレージ、プロジェクタ、ゲーム機等の装置にも適用可能である。
【００１０】
図７は、本実施形態の情報処理装置１００の内部構成を示す図である。
【００１１】
プリンタコントローラ７００は、印字ヘッド７０１（印刷部）による印刷を制御する。プリンタコントローラには、システム制御部７０４と、画像処理制御部７０６と、印字制御部７０７が含まれる。
【００１２】
印字ヘッド７０１は、印字制御部７０７から受信する印刷データに基づいて印刷を行う。
【００１３】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）７０３は、ＣＰＵ７０９により実行されるプログラム（ファームウェア等）を保持する。
【００１４】
システム制御部７０４には、ＩＦ制御部７０８と、ＣＰＵ７０９と、ＲＯＭコントローラ部７１０とが含まれる。
【００１５】
ＩＦ制御部７０８は、情報処理装置１００の外部に位置する外部装置であるＰＣ（パーソナルコンピュータ）７０２との接続及び通信を制御する。なお、外部装置は、例えば、スマートフォン、携帯端末、タブレット端末、ＰＤＡ、デジタルカメラ等であっても良い。また、外部装置との通信方式は特に限定されず、例えば、無線通信方式であっても良いし、有線通信方式であっても良い。本実施形態において、情報処理装置１００は、ＰＣ７０２から受信する印刷ジョブに基づいて、画像処理制御部７０６や印字制御部７０７を制御し、印字ヘッドによって、ＰＣ７０２から受信する印刷ジョブに基づく画像を印刷する。
【００１６】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７０９は、ＲＯＭ７０３に格納されたプログラムの実行やハードウェアの起動により、情報処理装置１００の全体を制御する。ＣＰＵ７０９や、ＣＰＵ７０９が通信するメモリによって、コンピュータが構成される。
【００１７】
ＲＯＭコントローラ部７１０は、ＲＯＭ７０３を制御する。
【００１８】
ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）７０５は、ＣＰＵ７０９のワークメモリとして動作したり、画像処理制御部７０６により生成された印字データや、印字データの生成に当たり画像処理が行われているデータを保存する。
【００１９】
画像処理制御部７０６は、ＰＣ７０２から受信する印刷ジョブに基づいて、印字データを生成する。
【００２０】
印字制御部７０７は、画像処理制御部７０６によって生成された印字データを、印字ヘッド７０１に送信する。
【００２１】
図１は、本実施形態の情報処理装置１００の内部構成を示す図である。
【００２２】
ＲＯＭコントローラ１、ＣＰＵ８、ＤＭＡＣ１０、ＳＤＲＡＭコントローラ１１、リセット制御部９を含む構成により、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）１４が構成されている。フラッシュＲＯＭ１２やＳＤＲＡＭ１３は、ＡＳＩＣ１４の外の構成となる。
【００２３】
ＡＳＩＣ１４は、本実施形態の制御を実行する回路であり、システム制御部７０４に対応する。
【００２４】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８は、フラッシュＲＯＭ１２に格納されたプログラムの実行やハードウェアの起動により、情報処理装置１００の全体を制御する。ＣＰＵ８は、ＣＰＵ７０９に対応する。
【００２５】
リセット制御部９は、パワーオンリセットを実行するためのパワーオンリセット信号及びウォッチドックリセットを実行するためのウォッチドックリセット信号を、ＡＳＩＣ１４全体に入力する。
【００２６】
パワーオンリセットとは、ＡＣ電源が抜かれる等してパワーオフ状態に情報処理装置１００がなった後、再びＡＣ電源が挿される等してパワーオン状態に情報処理装置１００がなった（パワーオンした）ことを要因に実行されるリセット処理である。なお、パワーオフ状態とは、情報処理装置１００に電力が供給されない状態であり、パワーオン状態とは、情報処理装置１００に電力が供給されている状態である。パワーオンリセットにおいて、情報処理装置１００は、ＡＳＩＣ１４やフラッシュＲＯＭ１２、ＳＤＲＡＭ１３を含む各構成を初期化する。具体的には、情報処理装置１００は、ＡＳＩＣ１４やフラッシュＲＯＭ１２、ＳＤＲＡＭ１３が保持する不揮発性の情報以外の情報を初期値に変更したり、削除したりする。なお、パワーオンリセットは、情報処理装置１００が備える構成の全体に対して行われるが、リセット制御部９が発行するパワーオンリセット信号は、ＡＳＩＣ１４内のみに対して入力される。
【００２７】
一方、ウォッチドックリセットとは、ＣＰＵ８によって実行されているプログラムにエラーが生じたことを要因に実行されるリセット処理である。ＣＰＵ８によって実行されているプログラムにエラーが生じたことは、不図示のウォッチドックタイマにより検知される。そのため、ウォッチドックリセットとは、より具体的には、ＣＰＵ８によって実行されているプログラムにエラーが生じたことが、ウォッチドックタイマにより検知されたことに基づいて実行されるリセット処理である。ＣＰＵ８のエラーを要因に実行されるウォッチドックリセットにおいて、情報処理装置１００は、ＣＰＵ８を含むシステム（ＡＳＩＣ１４）全体をリセットし、ＡＳＩＣ１４以外の構成（フラッシュＲＯＭ１２やＳＤＲＡＭ１３）はリセットしない。すなわち、リセット制御部９は、ＡＳＩＣ１４以外の構成（フラッシュＲＯＭ１２やＳＤＲＡＭ１３）に対しては、ウォッチドックリセット信号を送信しない。
【００２８】
また、リセット制御部９は、ウォッチドックリセット信号を入力する前に、ウォッチドッグリセットが行われることを通知するためのウォッチドッグ通知信号を、ＲＯＭコントローラ１に対し入力する。
【００２９】
ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）１０は、ＣＰＵ８を介さず、ＲＯＭコントローラ１とＳＤＲＡＭコントローラ１１との間の通信を実行するために、ＤＭＡによる転送データを送受信する。
【００３０】
ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）コントローラ１１は、ＳＤＲＡＭ１３にアクセスするための制御部である。  ＲＯＭコントローラ１には、フラッシュＲＯＭ１２と接続されるＲＯＭアクセスＩ／Ｆ部７と、ＤＭＡＣ１０と接続されるＤＭＡ  Ｉ／Ｆ部６と、ＣＰＵ８と接続されるＣＰＵ  Ｉ／Ｆ部５が含まれる。さらに、ＲＯＭコントローラ１には、各種リセット信号を受信するリセット管理部３と、情報保持部２が含まれる。
【００３１】
ＲＯＭアクセスＩ／Ｆ部７は、後述のフラッシュＲＯＭ制御情報を保持可能であり、保持している（適用されている）フラッシュＲＯＭ制御情報を用いて、ＲＯＭコントローラ１からの命令に基づき、フラッシュＲＯＭ１２と通信するインタフェースである。
【００３２】
情報保持部２は、ＡＳＩＣ１４内の情報保持部２に保持される情報は、少なくともウォッチドッグリセットによってはリセットされない。情報保持部２は、揮発性メモリであっても良いし、不揮発性メモリであっても良い。
【００３３】
フラッシュＲＯＭ１２は、ＡＳＩＣ１４の外部にある不揮発性メモリであり、ＲＯＭ７０３に対応する。
【００３４】
ＳＤＲＡＭ１３は、ＡＳＩＣ１４の外部にある揮発性メモリであり、ＲＡＭ７０５に対応する。
【００３５】
ＲＯＭコントローラ１は、フラッシュＲＯＭ１２にアクセスして、フラッシュＲＯＭ１２とのデータ通信を行うためには、事前に通信初期設定を行う必要がある。通信初期設定とは、フラッシュＲＯＭ１２とのデータ通信のための通信プロトコルを、ＲＯＭコントローラ１とフラッシュＲＯＭ１２の間で共有するための処理である。具体的には、例えば、データ通信に利用されるバス幅や、周波数設定、書き込み用のコマンド、データフォーマット等がＣＰＵ８とフラッシュＲＯＭ１２の間で共有される。共有される情報は、フラッシュＲＯＭ制御情報として、情報保持部２とフラッシュＲＯＭ１２のそれぞれに保存される。また、ＲＯＭアクセスＩ／Ｆ部７にフラッシュＲＯＭ制御情報を適用する（記憶させる）ことで、ＲＯＭアクセスＩ／Ｆ部７がフラッシュＲＯＭ１２とのデータ通信のための通信プロトコルを把握する。そして、当該通信プロトコルが用いられて、ＲＯＭコントローラ１とフラッシュＲＯＭ１２との間のデータ通信が実現される。
【００３６】
ここで、ウォッチドッグリセットが行われた場合にリセットされるメモリにしかフラッシュＲＯＭ制御情報が格納されていない形態の課題を説明する。このような形態においては、ウォッチドッグリセットによりＡＳＩＣ１４側においてフラッシュＲＯＭ制御情報がリセットされてしまう。一方で、ウォッチドッグリセットが行われても、フラッシュＲＯＭ１２はリセットされないため、フラッシュＲＯＭ１２が保持しているフラッシュＲＯＭ制御情報は維持されたままである。すなわち、このような形態においてウォッチドッグリセットが行われると、ＲＯＭコントローラ１とフラッシュＲＯＭ１２の間で共有されたフラッシュＲＯＭ制御情報が、ＲＯＭコントローラ１側においてのみ失われてしまう。そのため、フラッシュＲＯＭ制御情報が揮発性メモリに格納されている状態においてウォッチドッグリセットが行われた場合、ＲＯＭコントローラ１は、通信初期設定を再度実行する等してフラッシュＲＯＭ制御情報を再度共有する必要があるという課題がある。
【００３７】
また、通信初期設定を実行するためのプログラム（以下、設定プログラム）が、フラッシュＲＯＭ１２に保存されている形態においては、更なる課題が生じる。この形態においては、ＲＯＭコントローラ１は、ウォッチドッグリセットによりフラッシュＲＯＭ制御情報がリセットされているため、フラッシュＲＯＭ１２にアクセスして設定プログラムを実行することができず、通信初期設定を実行できない。そのため、上述の形態にはさらに、ＣＰＵ８が、フラッシュＲＯＭ１２とのデータ通信を実行できなくなってしまうという課題もある。
【００３８】
なおこの課題は、通信初期設定を実行するためのプログラムが、ウォッチドッグリセットが行われることによってＣＰＵ８が通信できなくなる、フラッシュＲＯＭ１２以外の構成に保存されている形態においても生じうる。
【００３９】
そこで、本実施形態では、情報処理装置１００は、フラッシュＲＯＭ制御情報を、ウォッチドッグリセットによってリセットされることのないメモリである情報保持部２に保存する。そして、ウォッチドッグリセットが行われた後は、情報保持部２に保存されているフラッシュＲＯＭ制御情報を参照して、フラッシュＲＯＭ１２と通信を行う。これにより、情報処理装置１００は、ウォッチドッグリセットが行われた後にも、ＲＯＭコントローラ１とフラッシュＲＯＭ１２とが通信可能となるように制御することができる。また、当該制御において情報処理装置１００は、フラッシュＲＯＭ１２をリセットしたり、通信初期設定を再度実行していないため、ＲＯＭコントローラ１とフラッシュＲＯＭ１２とが通信可能となるように迅速に制御することができる。
【００４０】
なお、本実施形態において、メモリ内のリセットとは、メモリ内の情報を初期値に変更したり（戻したり）、メモリ内の情報を削除することを含む。
【００４１】
以下に具体的な制御を説明する。
【００４２】
図２にウォッチドッグリセット時の各構成の状態を示す。なお、通信初期設定において共有されたフラッシュＲＯＭ制御情報が、ＲＯＭアクセスＩ／Ｆ部７に適用されている状態が、ＲＯＭコントローラ１における通信設定状態である。また、通信初期設定において共有したフラッシュＲＯＭ制御情報が、ＲＯＭアクセスＩ／Ｆ部７に適用されていない状態が、ＲＯＭコントローラ１における通信未設定状態である。言い換えれば、通信初期設定で共有されていない初期値としてのフラッシュＲＯＭ制御情報がＲＯＭアクセスＩ／Ｆ部７に適用されている状態が、ＲＯＭコントローラ１における通信未設定状態である。
【００４３】
また、通信初期設定において共有されたフラッシュＲＯＭ制御情報が、フラッシュＲＯＭ１２に適用されている状態が、フラッシュＲＯＭ１２における通信設定状態である。また、通信初期設定において共有したフラッシュＲＯＭ制御情報が、フラッシュＲＯＭ１２に適用されていない状態が、フラッシュＲＯＭ１２における通信未設定状態である。言い換えれば、通信初期設定で共有されていない初期値としてのフラッシュＲＯＭ制御情報がフラッシュＲＯＭ１２に適用されている状態が、フラッシュＲＯＭ１２における通信未設定状態である。
【００４４】
まず、ＲＯＭコントローラ１とフラッシュＲＯＭ１２が共に通信設定状態である状態において、ＣＰＵ８が実行しているプログラムにエラーが発生する。すると、リセット制御部９は、ウォッチドッグリセット信号をＡＳＩＣ１４に入力する前にＲＯＭコントローラ１に対し、ウォッチドッグ通知信号を入力する（Ｓ２０１）。
【００４５】
そして、ウォッチドッグ通知信号が入力されたことに基づき、ＲＯＭコントローラ１は、フラッシュＲＯＭ１２の状態に関する状態情報を情報保持部２に記憶する（Ｓ２０２）。フラッシュＲＯＭ１２の状態には、ＩＤＬＥ状態とリード状態、ＢＵＳＹ状態が含まれる。なお、ＢＵＳＹ状態には、ライト状態、イレース状態が含まれる。ＩＤＬＥ状態は、ＲＯＭコントローラ１からのアクセスを受け付けておらず、ＲＯＭコントローラ１との通信やＲＯＭコントローラ１からの命令に基づく処理を実行していない状態である。また、リード状態は、ＲＯＭコントローラ１からフラッシュＲＯＭ１２が保持する情報の読み取りを受け付けている状態である。例えば、ウォッチドッグリセット等のリセット処理により、ＲＯＭコントローラ１による情報の読み取りが停止したならば、フラッシュＲＯＭ１２は、リード状態からＩＤＬＥ状態に遷移する。ライト状態は、ＲＯＭコントローラ１からの命令により、フラッシュＲＯＭ１２に情報の書き込みを行っている状態である。イレース状態は、ＲＯＭコントローラ１からの命令により、フラッシュＲＯＭ１２が保持する情報の消去を行っている状態である。フラッシュＲＯＭ１２は、一旦ＲＯＭコントローラ１から命令を受け付けたならば、リセット処理によりＲＯＭコントローラ１がリセットされた場合にも、情報の書き込みや情報の消去が完了するまでライト状態やイレース状態を維持する。ＲＯＭコントローラ１は、フラッシュＲＯＭ１２から状態情報を受信することにより、ウォッチドッグリセット発生時のフラッシュＲＯＭ１２の状態を把握することができる。なお、ＲＯＭコントローラ１は、通信未設定状態であっても、フラッシュＲＯＭ１２の状態情報は受信することができる。また、ウォッチドッグ通知信号が入力されたことに基づき、ＲＯＭコントローラ１は、受信したウォッチドッグリセット通知をリセット管理部３に記憶する（Ｓ２０２）。
【００４６】
リセット制御部９による入力されるウォッチドッグリセット信号により、ウォッチドッグリセットが実行されると、ＲＯＭコントローラ１がリセットされ、通信設定状態から通信未設定状態に遷移する（Ｓ２０３）。なおこのとき、フラッシュＲＯＭ１２はリセットされないため、フラッシュＲＯＭ１２は、通信設定状態のままである。
【００４７】
その後、ウォッチドッグリセットが完了して、ウォッチドッグリセットが解除される（Ｓ２０４）。この状態において、ＲＯＭコントローラ１の設定状態と、フラッシュＲＯＭ１２の設定状態が一致していない。そのため、ＲＯＭコントローラ１は、情報保持部２に保存されていることから、ウォッチドッグリセットによってリセットされなかったフラッシュＲＯＭ制御情報を再びＲＯＭアクセスＩ／Ｆ部７に適用し、通信設定状態に再び遷移する（Ｓ２０５）。
【００４８】
これにより、ウォッチドッグリセットが行われた場合にも、ＲＯＭコントローラ１は、フラッシュＲＯＭ１２をリセットして、フラッシュＲＯＭ１２を通信未設定状態に遷移させることなく、フラッシュＲＯＭ１２と通信を行うことができる。
【００４９】
図３に、ＣＰＵ８が実行する通信初期設定時の処理フローを示す。なお、本フローチャートのＳ３０２及びＳ３０３は、例えば、ＣＰＵ８が、フラッシュＲＯＭ１２内の設定プログラムを実行することにより実現される。また、通信初期設定は例えば、情報処理装置１００がパワーオンしたことに基づいて実行される。より具体的には、通信初期設定は例えば、ＲＯＭコントローラ１とフラッシュＲＯＭ１２が通信未設定状態である状態で、パワーオンリセット後に実行される。
【００５０】
まず、ＣＰＵ８は、Ｓ３０１にて、フラッシュＲＯＭ１２に関する情報を取得する（情報取得ステップ）。具体的には、ＣＰＵ８は、ＲＯＭコントローラ１に対し、フラッシュＲＯＭ１２に関する情報の取得を命令する。ＲＯＭコントローラ１は、当該命令を受け付けると、フラッシュＲＯＭ１２にアクセスして、フラッシュＲＯＭ１２から、フラッシュＲＯＭ１２に関する情報を取得する。なおこの時、ＲＯＭコントローラ１とフラッシュＲＯＭ１２はどちらも通信未設定状態である。そのため、ＲＯＭコントローラ１は、フラッシュＲＯＭ制御情報として、初期値の情報（通信初期設定によって生成された情報ではない情報）を用いてフラッシュＲＯＭ１２と通信する。ＲＯＭコントローラ１は、フラッシュＲＯＭ１２に関する情報を取得すると、取得した情報を、ＣＰＵ８に送信する。このような処理により、ＣＰＵ８は、フラッシュＲＯＭ１２に関する情報を取得する。なお、ＣＰＵ８は、フラッシュＲＯＭ１２内のプログラムを用いずに、予めＣＰＵ８に設定された設定値を用いて、パワーオンリセットが実行されたことに基づいて本処理を実行する。また、フラッシュＲＯＭ１２に関する情報とは、具体的には例えば、フラッシュＲＯＭ１２の識別情報や型番、メーカー名、記憶容量等である。
【００５１】
続いて、ＣＰＵ８は、Ｓ３０２にて、フラッシュＲＯＭ１２内の設定プログラムを実行することで生成したフラッシュＲＯＭ制御情報を、ＲＯＭコントローラ１に対して適用する。なお、フラッシュＲＯＭ制御情報は、Ｓ３０１で取得されたフラッシュＲＯＭ１２に関する情報に基づいて生成される。本実施形態では、これにより生成されたフラッシュＲＯＭ制御情報が、情報保持部２に保存される。また、ＣＰＵ８は、生成されたフラッシュＲＯＭ制御情報を、フラッシュＲＯＭ１２に適用する。具体的には、ＣＰＵ８は、生成したフラッシュＲＯＭ制御情報を、フラッシュＲＯＭ１２に適用するようＲＯＭコントローラ１に対して命令する。これにより、通信初期設定により生成されたフラッシュＲＯＭ制御情報が、フラッシュＲＯＭ１２に適用され、フラッシュＲＯＭ１２が、通信未設定状態から通信設定状態に遷移する。
【００５２】
続いて、ＣＰＵ８は、Ｓ３０３にて、フラッシュＲＯＭ１２内の設定プログラムを実行することで生成したフラッシュＲＯＭ制御情報を、ＲＯＭアクセスＩ／Ｆ部７に適用する。これにより、ＲＯＭコントローラ１が、通信未設定状態から通信設定状態に遷移する。
【００５３】
この通信設定処理により、フラッシュＲＯＭ１２内の設定プログラムが実行されることで生成されたフラッシュＲＯＭ制御情報がＲＯＭコントローラ１とフラッシュＲＯＭ１２との間で共有され、その両方が通信設定状態に遷移する。
【００５４】
図４に、ＲＯＭコントローラ１が実行するウォッチドッグリセット時の処理フローを示す。なお、本フローチャートは、例えば、ＲＯＭコントローラ１により、ＣＰＵ８による制御を介さず実現される。また、本フローチャートは、ＲＯＭコントローラ１とフラッシュＲＯＭ１２が共に通信設定状態である状態で開始されたものとする。
【００５５】
ＣＰＵ８が実行しているプログラムにエラーが発生すると、リセット制御部９は、ウォッチドッグリセット信号をＡＳＩＣ１４に入力する前にＲＯＭコントローラ１に対し、ウォッチドッグ通知信号が入力される。そのためまず、Ｓ４０１にて、ＲＯＭコントローラ１は、ウォッチドッグ通知信号を受信する。本処理は、Ｓ２０１の処理に対応する。
【００５６】
続いて、Ｓ４０２にて、ＲＯＭコントローラ１は、ウォッチドッグ通知信号が入力されたことに基づき、ＲＯＭコントローラ１は、フラッシュＲＯＭ１２の状態情報を情報保持部２に保存する（情報保存ステップ）。また、ＲＯＭコントローラ１は、受信したウォッチドッグリセット通知をリセット管理部３に記憶する。本処理は、Ｓ２０２の処理に対応する。
【００５７】
その後、リセット制御部９は、ウォッチドッグリセット信号をＡＳＩＣ１４に入力する。そのため、Ｓ４０３にて、ＲＯＭコントローラ１は、ウォッチドッグリセット信号を受信する。
【００５８】
続いて、Ｓ４０４にて、ＲＯＭコントローラ１は、受信したウォッチドッグリセット信号に基づいて、ウォッチドッグリセットを行う。これにより、ＲＯＭコントローラ１は、通信設定状態から通信未設定状態に遷移する。本処理は、Ｓ２０３の処理に対応する。なおこのとき、フラッシュＲＯＭ１２はリセットされないため、フラッシュＲＯＭ１２は、通信設定状態のままである。
【００５９】
図５に、ＲＯＭコントローラ１が実行するパワーオンリセット時の処理フローを示す。なお、本フローチャートは、例えば、ＲＯＭコントローラ１により、ＣＰＵ８による制御を介さず実現される。また、本フローチャートは、ＲＯＭコントローラ１とフラッシュＲＯＭ１２が共に通信設定状態である状態で開始されたものとする。
【００６０】
情報処理装置１００がパワーオン状態に移行すると、リセット制御部９は、パワーオンリセット信号をＡＳＩＣ１４に入力する。そのためまず、Ｓ５０１にて、ＲＯＭコントローラ１は、パワーオンリセット信号を受信する。
【００６１】
続いて、Ｓ５０２にて、ＲＯＭコントローラ１は、受信したパワーオンリセット信号に基づいて、パワーオンリセットを行う。これにより、ＲＯＭコントローラ１は、通信設定状態から通信未設定状態に遷移する。なおパワーオンリセットにおいては、ウォッチドッグリセットとは異なり、フラッシュＲＯＭ１２もリセットされるため、フラッシュＲＯＭ１２も通信設定状態から通信未設定状態に遷移する。
【００６２】
図６に、ＲＯＭコントローラ１が実行するリセット復帰時の処理フローを示す。
【００６３】
パワーオンリセットやウォッチドッグリセットによってリセットが行われた後、ＣＰＵ８は、リセット状態から復帰するための復帰処理を実行するために、ＲＯＭコントローラ１にアクセスする。具体的には、ＣＰＵ８は、ＲＯＭコントローラ１に対してフラッシュＲＯＭ１２内の復帰処理用のプログラムをリードするよう命令する。そのため、Ｓ６０１にて、ＲＯＭコントローラ１は、ＣＰＵ８からアクセスを受け付ける。
【００６４】
Ｓ６０２にて、ＲＯＭコントローラ１は、Ｓ６０１にて受け付けたアクセスの要因を判定する。具体的には、ＲＯＭコントローラ１は、Ｓ６０１にて受け付けたアクセスが、ウォッチドッグリセットからの復帰に基づくアクセスか否かを判定する。より具体的には例えば、ＲＯＭコントローラ１は、フラッシュＲＯＭ１２の状態情報が情報保持部２に保存されているか否かを判定する。ＲＯＭコントローラ１は、Ｓ６０１にて受け付けたアクセスが、ウォッチドッグリセットからの復帰に基づくアクセスである場合、判定結果がＹＥＳとなるため、Ｓ６０３に進む。一方、ＲＯＭコントローラ１は、Ｓ６０１にて受け付けたアクセスが、パワーオンリセットからの復帰に基づくアクセスである場合、判定結果がＮＯとなるため、Ｓ６０９に進む。
【００６５】
Ｓ６０３にて、ＲＯＭコントローラ１は、情報保持部２に保存されているフラッシュＲＯＭ１２の状態情報を参照して、ウォッチドッグリセットが行われた時のフラッシュＲＯＭ１２の状態を特定する。
【００６６】
続いて、Ｓ６０４で、ＲＯＭコントローラ１は、Ｓ６０３で特定したフラッシュＲＯＭ１２の状態が、ＢＵＳＹ状態か否かを判定する。ＲＯＭコントローラ１は、Ｓ６０３で特定したフラッシュＲＯＭ１２の状態が、ＢＵＳＹ状態である場合、判定結果がＹＥＳとなるため、Ｓ６０５に進む。一方、Ｓ６０３で特定したフラッシュＲＯＭ１２の状態が、ＢＵＳＹ状態でない（ＩＤＬＥ状態又はリード状態である）場合、判定結果がＮＯとなるため、Ｓ６０８に進む。
【００６７】
Ｓ６０５では、ＲＯＭコントローラ１は、フラッシュＲＯＭ１２の状態情報を受信して、現在のフラッシュＲＯＭ１２の状態を特定する。なお、上述したように、ＲＯＭコントローラ１は、通信未設定状態であっても、フラッシュＲＯＭ１２の状態情報を受信することができる。なお、ＲＯＭコントローラ１は、Ｓ６０３やＳ６０４の処理を実行せず、毎回Ｓ６０５の処理を実行しても良い。しかし、Ｓ６０３やＳ６０４の処理を実行することで、ＲＯＭコントローラ１は、ウォッチドックリセット時のフラッシュＲＯＭ１２の状態がＢＵＳＹ状態である場合だけＳ６０５の処理を実行すれば良くなるため、ＲＯＭコントローラ１の処理負荷が軽減される。
【００６８】
Ｓ６０６では、ＲＯＭコントローラ１は、Ｓ６０５で特定したフラッシュＲＯＭ１２の状態が、ＢＵＳＹ状態か否かを判定する。ＲＯＭコントローラ１は、Ｓ６０５で特定したフラッシュＲＯＭ１２の状態が、ＢＵＳＹ状態である場合、判定結果がＹＥＳとなるため、Ｓ６０７に進む。一方、Ｓ６０５で特定したフラッシュＲＯＭ１２の状態が、ＢＵＳＹ状態でない（ＩＤＬＥ状態又はリード状態である）場合、判定結果がＮＯとなるため、Ｓ６０８に進む。
【００６９】
Ｓ６０７では、ＲＯＭコントローラ１は、フラッシュＲＯＭ１２にアクセスすることで、フラッシュＲＯＭ１２をＩＤＬＥ状態に移行させる。なお、ＲＯＭコントローラ１は、通信未設定状態であっても、フラッシュＲＯＭ１２をＩＤＬＥ状態に移行させるができる。
【００７０】
Ｓ６０８に進むケースは、ウォッチドックリセットが実行されたケースである。そのため、Ｓ６０８では、ＲＯＭコントローラ１は、情報保持部２に保存されているフラッシュＲＯＭ制御情報を、ＲＯＭアクセスＩ／Ｆ部７に適用する（適用処理を実行する）ことで、通信初期設定を実行することなく通信設定状態に移行する。その後、ＲＯＭコントローラ１は、復帰処理用のプログラムをＣＰＵ８が実行するためのアクセスを、ＲＯＭアクセスＩ／Ｆ部７に適用されたフラッシュＲＯＭ制御情報を用いて、フラッシュＲＯＭ１２に対して行う。上述したように、ＲＯＭアクセスＩ／Ｆ部７に適用されたフラッシュＲＯＭ制御情報とは具体的には、ウォッチドックリセットが行われる前に実行された通信初期設定において生成されたフラッシュＲＯＭ制御情報である。またＲＯＭコントローラ１は、プログラムをＣＰＵ８が実行するためのアクセスを、フラッシュＲＯＭ１２を通信未設定状態に移行させたり通信初期設定を実行して新たなフラッシュＲＯＭ制御情報を生成したりすることなく、フラッシュＲＯＭ１２に対して行う。
【００７１】
一方、Ｓ６０９に進むケースは、パワーオンリセットが実行されたケースである。そのため、ＲＯＭコントローラ１とフラッシュＲＯＭ１２の両者が通信未設定状態であり、パワーオンリセット後にＣＰＵ８によって、通信初期設定が行われる。そのため、Ｓ６０９では、ＲＯＭコントローラ１は、パワーオンリセット後に実行された通信初期設定において生成されたフラッシュＲＯＭ制御情報を、ＲＯＭアクセスＩ／Ｆ部７に適用することで、通信初期設定を伴って、通信設定状態に移行する。その後、ＲＯＭコントローラ１は、復帰処理用のプログラムをＣＰＵ８が実行するためのアクセスを、パワーオンリセットが行われた後に実行された通信初期設定により生成されたフラッシュＲＯＭ制御情報を用いて、フラッシュＲＯＭ１２に対して行う。
【００７２】
このように、本実施形態では、ＲＯＭコントローラ１は、ウォッチドックリセットが実行された後、通信初期設定を実行することなく、ウォッチドックリセットが実行される前から保存された情報を使い続けて、フラッシュＲＯＭ１２にアクセスする。このような形態とすることで、ＲＯＭコントローラ１は、通信初期設定を実行することなく迅速にフラッシュＲＯＭ１２と通信可能となる。
【００７３】
（その他の実施形態）
上述の実施形態では、フラッシュＲＯＭ制御情報を、情報保持部２に最初から保存する形態を説明したがこの形態に限定されない。例えば、ＲＯＭコントローラ１は、普段は情報保持部２以外のメモリにフラッシュＲＯＭ制御情報を保存していても良い。その場合、ＲＯＭコントローラ１は、情報保持部２以外のメモリに保存されているフラッシュＲＯＭ制御情報を、ウォッチドッグ通知信号を受け付けたことに基づいて、ウォッチドッグリセットが行われる前に情報保持部２に移動させる。
【００７４】
上述の実施形態では、ウォッチドッグリセットによって、ＲＯＭコントローラ１が通信未設定状態に遷移する形態について説明したが、この形態に限定されない。例えば、その他の異常検知手段によるリセット処理や例外処理によって、ＲＯＭコントローラ１が通信未設定状態に遷移する形態であっても良い。
【００７５】
また、上述の実施形態では、ウォッチドッグリセット後に、情報保持部２に保持されていたフラッシュＲＯＭ制御情報を、ＲＯＭアクセスＩ／Ｆ部７に適用し続ける形態について説明したが、この形態に限定されない。例えば、情報処理装置１００は、フラッシュＲＯＭ１２にアクセスして、設定プログラムを実行するまで、情報保持部２に保持されていたフラッシュＲＯＭ制御情報を、ＲＯＭアクセスＩ／Ｆ部７に適用しても良い。そして、情報処理装置１００は、設定プログラムによって通信初期設定を実行した後は、通信初期設定によって新たに共有されたフラッシュＲＯＭ制御情報を、ＲＯＭアクセスＩ／Ｆ部７に適用しても良い。
【００７６】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける少なくとも１つプロセッサーがプログラムを読出し実行する処理でも実現される。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現される。
【符号の説明】
【００７７】
１  ＲＯＭコントローラ
２  情報保持部
７  ＲＯＭアクセスＩ／Ｆ部
８  ＣＰＵ
１２  フラッシュＲＯＭ
【図１】
2019207577.tif 000003
【図２】
2019207577.tif 000004
【図３】
2019207577.tif 000005
【図４】
2019207577.tif 000006
【図５】
2019207577.tif 000007
【図６】
2019207577.tif 000008
【図７】
2019207577.tif 000009