(57)【要約】【課題】制御手段からレジスタへのアクセスに対するログ情報を蓄積するメモリの容量を抑える。【解決手段】制御手段からアクセスされるモジュールを有する電子機器用のデバイスであって、制御手段から前記モジュールへのアクセスを検知するアクセス検知部と、前記検知されたアクセスに関するログ情報を作成するログ作成部と、を有し、前記ログ作成部は、前記検知されたアクセスが空間的に連続したアドレスへの時間的に連続したアクセスである場合、前記検知されたアクセスに関するログ情報に、前記連続したアクセスの先頭のアクセスの時刻及びアドレスと、前記連続したアクセスの前記先頭のアクセスから最終のアクセスまでの時刻の差分及びアドレスの差分と、を含めることを特徴とする電子機器用のデバイスが提供される。【選択図】図２
2015005124.tif 000002
【特許請求の範囲】
【請求項１】
制御手段からアクセスされるモジュールを有する電子機器用のデバイスであって、
制御手段から前記モジュールへのアクセスを検知するアクセス検知部と、
前記検知されたアクセスに関するログ情報を作成するログ作成部と、を有し、
前記ログ作成部は、
前記検知されたアクセスが空間的に連続したアドレスへの時間的に連続したアクセスである場合、前記検知されたアクセスに関するログ情報に、前記連続したアクセスの先頭のアクセスの時刻及びアドレスと、前記連続したアクセスの前記先頭のアクセスから最終のアクセスまでの時刻の差分及びアドレスの差分と、を含める、
ことを特徴とする電子機器用のデバイス。
【請求項２】
前記アクセスに対する時間を計時するタイマーを更に有し、
前記ログ作成部は、
前記タイマーにより計時された前記アクセスに対する時間情報をログ情報に含める、
ことを特徴とする請求項１に記載の電子機器用のデバイス。
【請求項３】
前記タイマーは、前記アクセスに対する時間のカウント周期を可変に設定可能である、
ことを特徴とする請求項２に記載の電子機器用のデバイス。
【請求項４】
前記作成されたログ情報を蓄積する内蔵メモリを更に有し、
前記内蔵メモリに蓄積されたログ情報は、制御手段からの指示に応じて前記制御手段に送信される、
ことを特徴とする請求項１〜３のいずれか一項に記載の電子機器用のデバイス。
【請求項５】
前記内蔵メモリに蓄積されたログ情報を外部機器に出力するためのシリアル通信部を有する、
ことを特徴とする請求項４に記載の電子機器用のデバイス。
【請求項６】
前記ログ作成部は、制御手段からのログ取得の開始指示に応じて前記検知されたアクセスに関するログ情報の作成を開始し、制御手段からのログ取得の終了指示に応じて前記検知されたアクセスに関するログ情報の作成を終了する、
ことを特徴とする請求項１〜５のいずれか一項に記載の電子機器用のデバイス。
【請求項７】
請求項１〜６のいずれか一項に記載のデバイスを搭載した電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器用のデバイス及び前記デバイスを搭載した電子機器に関する。
【背景技術】
【０００２】
近年、ＣＰＵ  Ｉ／Ｆを有し、ＣＰＵがアクセスが可能なモジュールを持つ半導体デバイスが様々な電子装置に用いられている。電子装置の一例としては、例えばコピー機等の画像形成装置が挙げられる。
【０００３】
こうした電子装置に障害が発生した場合の解析において、従来行われている一般的な方法は、ＩＣＥ（Ｉｎ  Ｃｉｒｃｕｉｔ  Ｅｍｕｌａｔｏｒ）等のデバッグ装置を使用してＣＰＵのアクセス内容をトレースしたり、レジスタへの設定を行ったりすることで、原因を究明する方法である。
【０００４】
ただし、この方法では、解析に際しデバッグ装置を持ち込み、接続するといった準備に手間が掛かる。その上、この方法では、ＣＰＵを内蔵するデバイスの場合、ＣＰＵ  Ｉ／Ｆにデバッグ装置を接続することができないため、デバッグ装置を使用して解析する方法を採ることは不可能であった。
【０００５】
このような問題の解決を図ることが可能な方法として、ＣＰＵからレジスタへのアクセスをモニターし、検知されたアクセスのログ情報を作成し、作成したログの内蔵メモリへの保存、外部への出力が可能なハードウェアをデバイス内部に備えることで、デバッグの容易化を図る方法が知られている（例えば、特許文献１を参照）。
【０００６】
特許文献１では、ＣＰＵからレジスタへのアクセスをモニターし、ログ情報を取得する。その際、特許文献１は、不要なアクセスのログ情報の取得による処理負担やリソースの無駄使いをすることなくログ情報を取得することを目的とする。そのため、特許文献１では、ＣＰＵからレジスタへのアクセスの種類によりログ情報の要及び不要を判断し、必要なログ情報のみを取得することが開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述したようにレジスタへのアクセスをモニターし、ログ情報を作成する方法では、取得対象とした全てのアクセスに対してアドレス（例えば、３２ｂｉｔ）及びデータ（例えば、１６ｂｉｔ）の情報をそのままログ情報として保存する。このため、解析時間が長い場合や取得対象とするアクセスの範囲が広い場合にはログ情報のデータ量が膨大になり、保存に必要なメモリの容量が大きくなり、コストが高くなるという課題があった。
【０００８】
上記課題に鑑み、一側面では、制御手段からレジスタへのアクセスに対するログ情報を蓄積するメモリの容量を抑えることを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、一の態様によれば、
制御手段からアクセスされるモジュールを有する電子機器用のデバイスであって、
制御手段から前記モジュールへのアクセスを検知するアクセス検知部と、
前記検知されたアクセスに関するログ情報を作成するログ作成部と、を有し、
前記ログ作成部は、
前記検知されたアクセスが空間的に連続したアドレスへの時間的に連続したアクセスである場合、前記検知されたアクセスに関するログ情報に、前記連続したアクセスの先頭のアクセスの時刻及びアドレスと、前記連続したアクセスの前記先頭のアクセスから最終のアクセスまでの時刻の差分及びアドレスの差分と、を含める、
ことを特徴とする電子機器用のデバイスが提供される。
【発明の効果】
【００１０】
一の態様によれば、制御手段からレジスタへのアクセスに対するログ情報を蓄積するメモリの容量を抑えることができる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態に係る電子機器用のデバイスの全体構成図。
【図２】一実施形態に係るデバッグ制御部の内部構成図。
【図３】一実施形態に係るログ情報のフォーマット例。
【図４】一実施形態に係る連続アクセス回数とログ情報のデータ量を示した図。
【図５】一実施形態に係るシーケンス図（ＣＰＵからログ情報を読み出す場合）。
【図６】一実施形態に係るシーケンス図（ターミナルＰＣからログ情報を読み出す場合）。
【図７】一実施形態に係るシーケンス図（ログ取得開始／終了指示がある場合）。
【発明を実施するための形態】
【００１２】
以下、本発明の好適な実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の構成については、同一の符号を付することにより重複した説明を省く。
【００１３】
［電子機器用のデバイス］
まず、本発明の一実施形態に係る電子機器用のデバイスについて、図１を参照しながら説明する。図１は、一実施形態に係る電子機器用のデバイスの全体構成図である。
【００１４】
電子機器用のデバイス６０１は、ターゲット基板６００上に形成されている。ターゲット基板６００は、電子機器の回路部を構成する部品である。ターゲット基板６００には、ＣＰＵ６２０と、ＣＰＵ６２０からアクセスを受ける電子機器用のデバイス６０１とが搭載されている。図１の構成例では、ＣＰＵ６２０が、デバイス６０１に対して外付けになっており、デバイス６０１内で取得される、ＣＰＵ６２０からのアクセスに対するログ情報を記憶する内蔵メモリ６０９がデバイス６０１に内蔵されている。なお、ＣＰＵ６２０は、デバイス６０１に内蔵されてもよい。また、内蔵メモリ６０９は、デバイス６０１に対して外付けになっていてもよい。ＣＰＵ６２０は、制御手段の一例である。
【００１５】
デバイス６０１を搭載する電子機器は、例えばコピー機等の画像形成装置等であってもよい。この場合、デバイス６０１は、例えば、プリンタ制御用のＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）といった、ＣＰＵ  Ｉ／Ｆを有するデバイスであってもよい。図１に示すように、デバイス６０１は、ＣＰＵ  Ｉ／Ｆ６０３、機能モジュール６０７ａ、６０７ｂ、６０７ｃ、内蔵メモリ６０９、シリアルＩ／Ｆ６１１及びデバッグ制御部６１３を有する。ＣＰＵ  Ｉ／Ｆ６０３は、割り込みコントローラ６０５を含む。
【００１６】
ＣＰＵ  Ｉ／Ｆ６０３は、ＣＰＵバスを介してＣＰＵ６２０に接続されている。ＣＰＵ  Ｉ／Ｆ６０３は、デバイス６０１内のレジスタＩ／Ｆを介して機能モジュールＡ６０７ａ、機能モジュールＢ６０７ｂ、機能モジュールＣ６０７ｃ（以下、総称して機能モジュール６０７ともいう。）にそれぞれ接続されている。
【００１７】
機能モジュールＡ６０７ａ、機能モジュールＢ６０７ｂ、機能モジュールＣ６０７ｃは、デバイス６０１に内蔵された所望の機能を有するモジュールに相当し、それぞれＣＰＵ６２０からアクセス可能なレジスタを有する。ＣＰＵ６２０から機能モジュール６０７へのアクセスは、内部バス（レジスタＩ／Ｆ）経由で行われる。なお、図１では、機能モジュールＡ６０７ａ、機能モジュールＢ６０７ｂ、機能モジュールＣ６０７ｃの３つのモジュールを例に挙げているが、機能モジュールのモジュール数はいくつでも構わない。
【００１８】
内蔵メモリ６０９は、ＣＰＵ６２０から機能モジュール６０７のレジスタへのアクセスのログ情報を格納するために用いられる記憶装置である。内蔵メモリ６０９に格納されたログ情報は、ＣＰＵ６２０から直接アクセスすること、または、後述するターミナルＰＣ６３０からアクセスすることにより取得可能である。
【００１９】
シリアルＩ／Ｆ６１１は、ターミナルＰＣ６３０から内蔵メモリ６０９にアクセスするためのＩ／Ｆとして機能する。ターミナルＰＣ６３０は、シリアル通信が可能な外部機器の一例である。シリアルＩ／Ｆ６１１は、内蔵メモリ６０９に蓄積されたログ情報を外部機器に出力するためのシリアル通信部の一例である。ターミナルＰＣ６３０とシリアルＩ／Ｆ６１１とは、シリアルに接続されている。
【００２０】
ターミナルＰＣ６３０は、シリアル操作が可能な表示用のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）である。ターミナルＰＣ６３０は、シリアルＩ／Ｆ６１１を介して内蔵メモリ６０９にアクセスし、内蔵メモリ６０９に格納されたアクセスのログ情報を取得することが可能な管理端末機である。
【００２１】
デバッグ制御部６１３は、ＣＰＵ６２０から機能モジュール６０７へのアクセスを監視し、検知されたアクセスのログ情報を作成して内蔵メモリ６０９に出力するモジュールである。デバッグ制御部６１３は、監視状況に応じて、割り込みコントローラ６０５を介してＣＰＵ６２０に割り込みを通知することができる。
【００２２】
［デバッグ制御部の構成］
次に、一実施形態に係るデバッグ制御部６１３の内部構成について、図２を参照しながら説明する。図２は、一実施形態に係るデバッグ制御部の内部構成図である。デバッグ制御部６１３は、アクセス検知部６４１、タイマー６４３、ログ作成部６４５及び制御レジスタ６４７を有する。
【００２３】
アクセス検知部６４１は、レジスタＩ／Ｆを用いてＣＰＵ６２０から機能モジュール６０７のレジスタに対するアクセスを監視する。アクセス検知部６４１は、検知したアクセスのログ情報を生成して内蔵メモリ６０９に出力する。
【００２４】
アクセス検知部６４１は、通常、機能モジュール６０７のレジスタに対する全てのアクセスに対して下記に示したログ情報を記録する。
・タイムスタンプ
・アドレス
・アクセス種別（リード/ライト）
・データ
一方、アクセス検知部６４１は、空間的に連続したアドレスへ、時間的に連続して複数回、同じアクセス種別（リード/ライト）のアクセスを検知した場合は、下記の情報をアクセスのログ情報として記録する。
・先頭アクセスのタイムスタンプ
・先頭アクセスのアドレス
・アクセス種別（リード/ライト）
・全てのアクセスのデータ
・最終アクセスと先頭アクセスのタイムスタンプ差分
・最終アクセスと先頭アクセスのアドレス差分
上記「空間的に連続したアドレスへ、時間的に連続して複数回、同じアクセス種別（リード/ライト）のアクセスを検知した場合」のうち「空間的に連続したアドレスへのアクセス」は、ＣＰＵ６２０から機能モジュール６０７のレジスタに対する２回以上の連続したアクセスの、アクセス先アドレスが連続（例えば、２回目のアドレスが１回目のアドレス＋１のアドレスである場合）していることをいう。
【００２５】
また、上記「空間的に連続したアドレスへ、時間的に連続して複数回、同じアクセス種別（リード/ライト）のアクセスを検知した場合」のうち「時間的に連続したアドレスへのアクセス」は、上記の「ＣＰＵ６２０から機能モジュール６０７のレジスタに対する２回以上の連続したアクセス」をいう。この場合、２回目のアクセス時間が１回目のアクセス時間＋１ｍｓ（又は＋１ｓ）のように、ある単位で連続しているかどうかは問わない。
【００２６】
タイマー６４３は、カウンターを用いてアクセスに対する時間を計時する。タイマー６４３は、ＣＰＵ６２０から機能モジュールへのアクセスに対する時間のカウント周期を可変に設定可能である。カウント周期の単位は、レジスタに設定することができる。タイマー６４３によるカウント値は、タイムスタンプとしてリアルタイムでタイマー６４３からアクセス検知部６４１に通知される。このようにタイマー６４３により解析するタイムレンジに応じて適切な分解能のタイムスタンプがログ情報に付加され得る。これにより、ログ情報を用いてより詳細な解析ができるようになる。
【００２７】
ログ作成部６４５は、アクセス検知部６４１により検知されたアクセスに関するログ情報を作成する。ログ作成部６４５は、検知されたアクセスが空間的に連続したアドレスへの時間的に連続したアクセスである場合、検知されたアクセスに関するログ情報に、連続したアクセスの先頭のアクセスの時刻及びアドレスと、連続したアクセスの先頭のアクセスから最終のアクセスまでの時刻の差分及びアドレスの差分とを含める。ログ作成部６４５は、アクセス検知部６４１に通知されたアクセスに対する時間情報（例えば、タイムスタンプ）をログ情報に含めてもよい。ログ情報にタイムスタンプ等の時間情報を含めることで、そのログ情報を用いてより詳細な解析を行うことができる。
【００２８】
制御レジスタ６４７は、下記に示した各種のレジスタを有する。
【００２９】
（１）ログ取得モード（log_mode）
制御レジスタ６４７は、ログ取得モードの制御レジスタを「０」又は「１」に設定する。
０：通常モード
１：差分モード
ログ取得モードが通常モード「０」に設定されている場合、機能モジュール６０７のレジスタに対する全てのアクセスに対して、タイムスタンプ及びアドレスがログ情報として記録される。
【００３０】
ログ取得モードが差分モード「１」に設定されている場合、空間的に連続したアドレスへの時間的に連続したアクセスは、最終アクセスのタイムスタンプとアドレス、および最終アクセスと先頭アクセスのタイムスタンプ差分、最終アクセスと先頭アクセスのアドレス差分のみがログ情報として記録される。
【００３１】
（２）ログ取得タイミング制御（log_timing）
制御レジスタ６４７は、ログ取得タイミングの制御レジスタを「０」又は「１」に切り替える。
【００３２】
ログ取得タイミングの制御レジスタが「０」に設定されている場合、電源オンと同時にログ取得を開始し、電源オフまで取得を継続する。
【００３３】
ログ取得タイミングの制御レジスタが「１」に設定されている場合、下記のログ取得の開始指示、ログ取得の終了指示を有効にする。
【００３４】
（３）ログ取得の開始指示（log_start）
log_timingの制御レジスタが「１」に設定されているときのみ有効である。つまり、log_timingの制御レジスタが「１」に設定されているときに、制御レジスタ６４７がログ取得の開始指示log_startを「１」に設定すると、ログ情報の取得が開始される。
【００３５】
（４）ログ取得の終了指示（log_end）
log_timingの制御レジスタが「１」に設定されているときのみ有効である。つまり、log_timingの制御レジスタが「１」に設定されているときに、制御レジスタ６４７がログ取得の終了指示log_endを「１」に設定すると、ログ取得の取得が終了する。
【００３６】
［タイマーのカウント周期］
また、制御レジスタ６４７は、例えば下記のようにタイマー６４３のカウント周期（タイマー周期ともいう）を可変に設定可能である。タイマー６４３は、設定されたカウント周期の分だけ時間が経過する毎に、タイムスタンプの値をインクリメントする。例えば、タイマー６４３が１６ビット（ｂｉｔ）で下記カウント周期の設定値を「４」とした場合、タイマー６４３のカウント周期は１ｍｓとなり、タイマー６４３が１周すると６５．５３５ｓのタイムスタンプが付加されることになる。
０：タイマー周期１００ｎｓ
１：タイマー周期１μｓ
２：タイマー周期１０μｓ
３：タイマー周期１００μｓ
４：タイマー周期１ｍｓ
［アクセスのログ情報のフォーマット例］
次に、一実施形態に係るアクセスのログ情報のフォーマット例について、図３を参照しながら説明する。図３（ａ）は、通常時のアクセスのログ情報１００のフォーマット例である。図３（ｂ）は、連続アクセス時のアクセスのログ情報２００のフォーマット例である。それぞれ８回分のアクセスのログ情報１００，２００が取得された場合の例が示されている。
【００３７】
図３（ａ）のアクセスのログ情報１００のフォーマット例において、ｔｉｍｅ[１５：０]はタイムスタンプ（タイムスタンプ）１０１を示し、ａｄｄｒ[３１：１]はアドレス１０２を示し、ｒｗはアクセス種別（リード／ライト）１０３を示し、ｄａｔａ[１５：０]はデータ１０４を示す。
【００３８】
図３（ｂ）のアクセスのログ情報２００のフォーマット例において、ｔｉｍｅ＿ｓｔ[１５：０]は先頭アクセスのタイムスタンプ（タイムカウンタ）２０１を示し、ａｄｄｒ＿ｓｔ[３１：１]は先頭アクセスのアドレス２０２を示す。また、ｒｗはアクセス種別（リード／ライト）２０３を示し、ｄａｔａ[１５：０]はデータ２０４を示す。また、ｔｉｍｅ＿ｌｅｎｇｔｈ[７：０]は最終アクセスと先頭アクセスのタイムスタンプの差分２０５を示し、ａｄｄｒ＿ｌｅｎｇｔｈ[７：０]は最終アクセスと先頭アクセスのアドレスの差分２０６を示す。
【００３９】
（通常時）
図３（ａ）のアクセスのログ情報１００では、タイムスタンプ１０１（ｔｉｍｅ[１５：０]）が１６ビット（２バイト）、アドレス１０２及びｒｗ１０３（ａｄｄｒ[３１：１]／ｒｗ）が３２ビット（４バイト）、データ１０４（ｄａｔａ[１５：０]）が１６ビット（２バイト）である。
【００４０】
よって、通常時のアクセスのログ情報１００のデータ量は下記の式で表される。
アクセス回数が１回あたりのアクセスのログ情報１００のサイズ
＝２バイト（ｔｉｍｅ）＋４バイト（ａｄｄｒ／ｒｗ）＋２バイト（ｄａｔａ）＝８バイト
アクセス回数ｎのときのアクセスのログ情報１００のデータ量
＝８バイト（アクセス１回あたりのログサイズ）×アクセス回数ｎ
（連続アクセス時）
図３（ｂ）のアクセスのログ情報２００では、先頭アクセスのタイムスタンプ２０１（ｔｉｍｅ＿ｓｔ[１５：０]）が１６ビット（２バイト）、先頭アクセスのアドレス２０２及びｒｗ２０３（ａｄｄｒ＿ｓｔ[３１：１]／ｒｗ）が３２ビット（４バイト）、データ２０４（ｄａｔａ[１５：０]）が１６ビット（２バイト）である。また、最終アクセスと先頭アクセスのタイムスタンプの差分２０５（ｔｉｍｅ＿ｌｅｎｇｔｈ[７：０]）が８ビット（１バイト）、最終アクセスと先頭アクセスのアドレスの差分２０６（ａｄｄｒ＿ｌｅｎｇｔｈ[７：０]）が８ビット（１バイト）である。
【００４１】
よって、連続アクセス時のアクセスのログ情報２００のデータ量は下記の式で表される。
アクセス回数ｎのときのアクセスのログ情報２００のデータ量
＝２バイト（ｔｉｍｅ＿ｓｔ）＋４バイト（ａｄｄｒ＿ｓｔ）＋［２バイト（ｄａｔａ）×アクセス回数ｎ］＋１バイト（ｔｉｍｅ＿ｌｅｎｇｔｈ）＋１バイト（ａｄｄｒ＿ｌｅｎｇｔｈ）
［連続アクセス回数とログ情報のデータ量］
次に、空間的に連続したアドレスへの時間的に連続したアクセスの回数とログ情報２００のデータ量（図３（ｂ）の連続アクセス時）と、図３（ａ）の通常時のログ情報１００のデータ量とを比較して説明する。図４の横軸は、連続アクセス回数を示し、縦軸は、ログ情報のデータ量（バイト）を示す。
【００４２】
これによれば、連続アクセスの回数が多いほど、連続アクセス時のログ情報２００のデータ量は、通常時のログ情報１００のデータ量と比較して少なくなり、ログ情報のデータ量の削減効果が大きい。例えば、連続アクセスの回数が４回のとき、連続アクセス時のログ情報２００のデータ量は、通常時のログ情報１００のデータ量の半分である。一方、連続アクセスの回数が１０回のとき、連続アクセス時のログ情報２００のデータ量は、通常時のログ情報１００のデータ量の約１／３となり、連続アクセスの回数が多いほどデータ量の削減効果が大きいことがわかる。
【００４３】
［シーケンス（ＣＰＵからログ情報を読み出す場合）］
次に、一実施形態に係るログ情報の読み出しのシーケンスの一例について、図５に示したシーケンスを参照しながら説明する。図５は、ＣＰＵ６２０からログ情報を読み出し、そのログ情報を用いて電子機器用のデバイス６０１を解析する際にデバッグ制御部６１３を動作させたときのシーケンス図である。
【００４４】
本実施形態に係るログ情報の読み出しのシーケンスでは、まず、ＣＰＵ６２０は、予め、デバッグ制御部６１３の各制御レジスタ６４７の設定を行う（ステップＳ１０）。本実施形態では、ＣＰＵ６２０は、制御レジスタ６４７にてlog_timing＝０を予め設定する。
【００４５】
デバイス６０１が搭載されている電子装置を動作させると、ＣＰＵ６２０から、デバイス６０１の機能モジュール６０７のレジスタに対するアクセス(レジスタアクセス)が発生する（ステップＳ１２、Ｓ１４）。アクセス検知部６４１は、この機能モジュール６０７のレジスタに対するアクセスを検知する。ログ作成部６４５は、アクセス検知部６４１により検知されたアクセスのログ情報を作成し、内蔵メモリ６０９に蓄積する(ステップＳ１６)。動作終了後、ＣＰＵ６２０は、コマンド操作を行うことで内蔵メモリ６０９からログ情報を読み出し、取得する(ステップＳ１８)。
【００４６】
以上、ＣＰＵ６２０からログ情報を読み出す場合のログ情報の読み出しのシーケンスについて説明した。これによれば、内蔵メモリ６０９に蓄積したログ情報をソフトウェアにより読み出すことができる。
【００４７】
［シーケンス（ターミナルＰＣからログ情報を読み出す場合）］
次に、一実施形態に係るログ情報の読み出しのシーケンスの他の例について、図６に示したシーケンスを参照しながら説明する。図６は、ターミナルＰＣ６３０からログ情報を読み出し、そのログ情報を用いて電子機器用のデバイス６０１を解析する際にデバッグ制御部６１３を動作させたときのシーケンス図である。
【００４８】
本実施形態に係るログ情報の読み出しのシーケンスでは、まず、ＣＰＵ６２０は、予め、デバッグ制御部６１３の各制御レジスタ６４７の設定を行う（ステップＳ２０）。本実施形態では、ＣＰＵ６２０は、制御レジスタ６４７にてlog_timing＝０を予め設定する。
【００４９】
デバイス６０１が搭載されている電子装置を動作させると、ＣＰＵ６２０から、デバイス６０１の機能モジュール６０７のレジスタに対するアクセス(レジスタアクセス)が発生する（ステップＳ２２、Ｓ２４）。アクセス検知部６４１は、この機能モジュール６０７のレジスタに対するアクセスを検知する。ログ作成部６４５は、アクセス検知部６４１により検知されたアクセスのログ情報を作成し、内蔵メモリ６０９に蓄積する(ステップＳ２６)。動作終了後、ターミナルＰＣ６３０は、ログ情報を読み出すためのコマンド操作を行う(ステップＳ２８)。ターミナルＰＣ６３０は、内蔵メモリ６０９からログ情報を読み出し、取得する(ステップＳ２９)。
【００５０】
以上、ターミナルＰＣ６３０からログ情報を読み出す場合のログ情報の読み出しのシーケンスについて説明した。これによれば、シリアル通信可能な外部機器、例えばＰＣ等の機器をデバイス６０１に接続することで、外部機器が直接ログ情報を取得することができる。
【００５１】
［シーケンス（ログ取得開始／終了指示がある場合）］
次に、一実施形態に係るログ情報の読み出しのシーケンスの他の例について、図７に示したシーケンスを参照しながら説明する。図７は、ＣＰＵ６２０からログ取得の開始指示及び終了指示に応じてログ情報を読み出し、そのログ情報を用いて電子機器用のデバイス６０１を解析する際にデバッグ制御部６１３を動作させたときのシーケンス図である。
【００５２】
本実施形態に係るログ情報の読み出しのシーケンスでは、まず、ＣＰＵ６２０は、予め、デバッグ制御部６１３の各制御レジスタ６４７の設定を行う（ステップＳ３０）。本実施形態では、ＣＰＵ６２０は、制御レジスタ６４７にてlog_timing＝１を予め設定する。
【００５３】
デバイス６０１が搭載されている電子装置を動作させると、ＣＰＵ６２０から、デバイス６０１の機能モジュール６０７のレジスタに対するアクセス(レジスタアクセス)が発生する（ステップＳ３２、Ｓ３６、Ｓ３８）。ＣＰＵ６２０が、ログ取得の開始指示を行う前（つまり、「log_start」が１に設定される前）には、ＣＰＵ６２０からの機能モジュール６０７のレジスタに対するアクセスが発生してもログ情報の取得は行われない。例えば、ステップＳ３２にて発生したアクセスはログ取得の開始指示を行う前に行われているため、そのアクセスについてのログ情報は取得されない。つまり、ＣＰＵ６２０からのログ取得の開始指示（log_start＝１）が行われる前の期間Ｔ１は、ログ情報は取得されない。
【００５４】
一方、ＣＰＵ６２０がログ取得の開始指示を行い(ステップＳ３４)、その後に機能モジュール６０７のレジスタに対するアクセスが発生した場合、アクセス検知部６４１は、そのアクセスを検知する。例えば、ステップＳ３６、Ｓ３８のアクセスが検知されると、ログ作成部６４５は、それらの検知されたアクセスに対するログ情報を作成し、内蔵メモリ６０９に蓄積する(ステップＳ４０)。
【００５５】
その後、ＣＰＵ６２０がログ取得の終了指示（log_start＝０）を行う(ステップＳ４２)。ＣＰＵ６２０からのログ取得の開始指示（log_start＝１）からログ取得の終了指示（log_start＝０）までの期間Ｔ２において、アクセス検知部６４１がレジスタへのアクセスを検知すると、ログ作成部６４５は、それらの検知されたアクセスに対するログ情報を作成し内蔵メモリ６０９に蓄積する。
【００５６】
ＣＰＵ６２０がログ取得の終了指示を行った後は、レジスタへのアクセスが発生しても(ステップＳ４４)、ログ情報は取得されない。例えば、ログ取得の終了指示（log_start＝０）が行われた後の期間Ｔ３は、ログ情報は取得されない。
【００５７】
なお、動作終了後、ＣＰＵ６２０は、コマンド操作を行うことで内蔵メモリ６０９からログ情報を読み出し、そのログ情報を取得する(ステップＳ４６)。
【００５８】
以上、ＣＰＵ６２０からログ取得の開始指示および終了指示がある場合のログ情報の読み出しのシーケンスについて説明した。これによれば、ログ情報を取得する期間をソフトウェアにより任意に設定できる。このため、必要な期間のみのログ情報を取得することができ、内蔵メモリ６０９を効率よく使用することができる。
【００５９】
以上に説明したように、本実施形態に係る電子機器用のデバイス６０１へのＣＰＵ６２０からのアクセスに対するログ情報の取得に際して、空間的に連続したアドレスへ、時間的に連続したアクセスが発生した場合には、全てのアクセスに対して時刻とアドレスとをログ情報として記録するのではなく、先頭アクセスの時刻及びアドレスと、先頭アクセスから最終アクセスまでの時間差分及び先頭アクセスから最終アクセスまでのアドレス差分のみをログ情報として記録する。これにより、ログ情報を蓄積する内蔵メモリ６０９の容量を小さく抑えることができる。
【００６０】
以上、電子機器用のデバイス及びそのデバイスを搭載した電子機器を上記実施形態により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。
【符号の説明】
【００６１】
６００  ターゲット基板
６０１  デバイス
６０３  ＣＰＵ  Ｉ／Ｆ
６０５  割り込みコントローラ
６０７、６０７ａ、６０７ｂ、６０７ｃ  機能モジュール
６０９  内蔵メモリ
６１１  シリアルＩ／Ｆ
６１３  デバッグ制御部
６２０  ＣＰＵ
６４１  アクセス検知部
６４３  タイマー
６４５  ログ作成部
６４７  制御レジスタ
【先行技術文献】
【特許文献】
【００６２】
【特許文献１】特開２００８−２８７３１９号公報
【図１】
2015005124.tif 000003
【図２】
2015005124.tif 000004
【図３】
2015005124.tif 000005
【図４】
2015005124.tif 000006
【図５】
2015005124.tif 000007
【図６】
2015005124.tif 000008
【図７】
2015005124.tif 000009