(57)【要約】【課題】  デバッグによってＩＣチップの不具合の原因特定を簡単に行えるようにする。【解決手段】  クラウドサーバー３は、ＩＣチップの複数の不具合事象に対応して、複数のデバッグ入力データおよび複数のデバッグ出力データをデータベースで管理している。端末装置２は、（ａ）ユーザー操作により指定された不具合事象を指定してクラウドサーバー３にデバッグ入力データの検索を実行させて、ユーザー操作により指定された不具合事象に対応するデバッグ入力データを特定し、特定したデバッグ入力データをデバッグ装置１に設定し、（ｂ）デバッグ装置１から取得されたデバッグ出力データを指定してクラウドサーバー３に複数のデバッグ出力データの検索を実行させ、指定したデバッグ出力データに対応する不具合原因を特定する。【選択図】  図１
2017010431.tif 000002
【特許請求の範囲】
【請求項１】
ＩＣチップに対してデバッグ入力データを供給し、前記デバッグ入力データに従って動作する前記ＩＣチップからデバッグ出力データを取得するデバッグ装置と、
前記デバッグ装置に対して前記デバッグ入力データを設定し、前記デバッグ装置から前記デバッグ出力データを取得する端末装置と、
前記ＩＣチップの複数の不具合事象に対応する複数のデバッグ入力データおよび前記ＩＣチップの複数の不具合原因に対応する複数のデバッグ出力データをデータベースで管理するクラウドサーバーとを備え、
前記端末装置は、（ａ）前記ユーザー操作により指定された不具合事象を指定して前記クラウドサーバーに前記複数のデバッグ入力データの検索を実行させ、前記クラウドサーバーにより管理されている複数のデバッグ入力データから、前記ユーザー操作により指定された不具合事象に対応するデバッグ入力データを特定し、特定した前記デバッグ入力データを前記デバッグ装置に設定し、（ｂ）前記デバッグ装置から取得された前記デバッグ出力データを指定して前記クラウドサーバーに前記複数のデバッグ出力データの検索を実行させ、前記クラウドサーバーにより管理されている複数のデバッグ出力データから、指定した前記デバッグ出力データに対応する不具合原因を特定すること、
を特徴とするデバッグシステム。
【請求項２】
前記クラウドサーバーは、前記ＩＣチップの型番、前記ＩＣチップが搭載される電子機器の型番、および前記ＩＣチップの内部モジュールの型番の少なくとも１つの関連属性に関連付けて前記複数のデバッグ入力データを前記データベースで管理するとともに、前記ＩＣチップの型番、前記ＩＣチップが搭載される電子機器の型番、および前記ＩＣチップの内部モジュールの型番の少なくとも１つの関連属性に関連付けて前記複数のデバッグ出力データを前記データベースで管理し、
前記端末装置は、（ａ）前記不具合事象とともに前記関連属性を指定して前記クラウドサーバーに前記複数のデバッグ入力データの検索を実行させ、前記クラウドサーバーにより管理されている複数のデバッグ入力データから、前記不具合事象および前記関連属性に対応するデバッグ入力データを特定し、特定した前記デバッグ入力データを前記デバッグ装置に設定し、（ｂ）前記デバッグ出力データとともに前記関連属性を指定して前記クラウドサーバーに前記複数のデバッグ出力データの検索を実行させ、前記クラウドサーバーにより管理されている複数のデバッグ出力データから、指定した前記デバッグ出力データおよび前記関連属性に対応する前記不具合原因を特定すること、
を特徴とする請求項１記載のデバッグシステム。
【請求項３】
前記クラウドサーバーにより前記データベースで管理されている前記デバッグ出力データは、（ａ）前記ＩＣチップの動作ログを含み、（ｂ）不具合事象の種別、発生頻度、前記ＩＣチップが搭載される電子機器の製品数、および前記ＩＣチップが搭載される電子機器の出荷数のうちの少なくとも１つに応じた圧縮率で圧縮されていることを特徴とする請求項１記載のデバッグシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバッグシステムに関するものである。
【背景技術】
【０００２】
プロセッサーを内蔵したシステムＬＳＩ（Large Scale Integrated circuit）などのＩＣ（Integrated Circuit）チップをデバックする際に、インサーキットエミュレーター（ＩＣＥ：In-Circuit Emulator）を使用してトレースおよびデバッグを行うことがある。
【０００３】
インサーキットエミュレーターを使用する場合、一般的に、インサーキットエミュレーターとＩＣチップとの接続およびデータ転送には、ＪＴＡＧ（Joint Test Action Group）インターフェイスや専用インターフェイスなどが使用される（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−３３４１１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の技術によってＩＣチップのデバッグを行うことができるものの、ＩＣチップの機能の増加に伴ってＩＣチップの動作が複雑になっており、ＩＣチップの不具合の原因特定が困難になっている。
【０００６】
具体的には、ＩＣチップの不具合を特定する際、デバッグに使用するコマンドなどのデバッグ入力データを選定し、デバッグによって得られるログなどのデバッグ出力データに基づいてＩＣチップの不具合の原因を特定する。このため、デバッグ入力データの適切な選定およびデバッグ出力データに基づく適切な原因特定が困難になっている。
【０００７】
本発明は、上記の問題に鑑みてなされたものであり、デバッグによってＩＣチップの不具合の原因特定を簡単に行えるデバッグシステムを得ることを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るデバッグシステムは、ＩＣチップに対してデバッグ入力データを供給し、前記デバッグ入力データに従って動作する前記ＩＣチップからデバッグ出力データを取得するデバッグ装置と、前記デバッグ装置に対して前記デバッグ入力データを設定し、前記デバッグ装置から前記デバッグ出力データを取得する端末装置と、前記ＩＣチップの複数の不具合事象に対応する複数のデバッグ入力データおよび前記ＩＣチップの複数の不具合原因に対応する複数のデバッグ出力データをデータベースで管理するクラウドサーバーとを備える。そして、前記端末装置は、（ａ）前記ユーザー操作により指定された不具合事象を指定して前記クラウドサーバーに前記複数のデバッグ入力データの検索を実行させ、前記クラウドサーバーにより管理されている複数のデバッグ入力データから、前記ユーザー操作により指定された不具合事象に対応するデバッグ入力データを特定し、特定した前記デバッグ入力データを前記デバッグ装置に設定し、（ｂ）前記デバッグ装置から取得された前記デバッグ出力データを指定して前記クラウドサーバーに前記複数のデバッグ出力データの検索を実行させ、前記クラウドサーバーにより管理されている複数のデバッグ出力データから、指定した前記デバッグ出力データに対応する不具合原因を特定する。
【発明の効果】
【０００９】
本発明によれば、デバッグによるＩＣチップの機能の増加に伴ってＩＣチップの不具合の原因特定を簡単に行えるデバッグシステムを得ることができる。
【００１０】
本発明の上記又は他の目的、特徴および優位性は、添付の図面とともに以下の詳細な説明から更に明らかになる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の実施の形態に係るデバッグシステムの構成を示すブロック図である。
【図２】図２は、電子機器の一例である複合機において使用されるＩＣチップについて説明する図である。
【発明を実施するための形態】
【００１２】
以下、図に基づいて本発明の実施の形態を説明する。
【００１３】
図１は、本発明の実施の形態に係るデバッグシステムの構成を示すブロック図である。図１に示すデバッグシステムは、デバッグ装置１、端末装置２、およびクラウドサーバー３を備える。なお、図１では、端末装置２は１台だけ図示されているが、複数の端末装置２と同様にして複数の端末装置２が存在していてもよい。
【００１４】
デバッグ装置１は、デバッグ対象のＩＣチップ１０１に接続され、ＩＣチップ１０１に対してデバッグ入力データを供給し、デバッグ入力データに従って動作するＩＣチップ１０１からデバッグ出力データを取得する。この実施の形態では、デバッグ装置１は、ＩＣチップ１０１のＣＰＵ１１１のリアルタイムトレースを行うインサーキットエミュレーターである。
【００１５】
この実施の形態では、ＩＣチップ１０１は、ＡＳＩＣ（Application Specific Integrated Circuit）、ＬＳＩなどであって、ＣＰＵ（Central Processing Unit）１１１、並びに、システムバス１１２でＣＰＵ１１１に接続されたメモリーコントローラー１１３、ペリフェラルインターフェイス１１４および内部モジュール１１５（いわゆる、ＩＰ（Intellectual Property）コア）を備える。ＩＣチップ１０１は、さらに、デバッグインターフェイス１１６を内蔵している。ＣＰＵ１１１は、プログラムに記述された動作（ペリフェラルインターフェイス１１４、内部モジュール１１５に対するデータ入出力、メモリーコントローラー１１３に接続されたＤＲＡＭ（Dynamic Random Access Memory）を使用したデータ処理など）を実行するプロセッサーである。デバッグインターフェイス１１６は、ＣＰＵ１１１に、トレースに必要なデバッグ入力データ（ＣＰＵ１１１で実行される各ステップでの命令、データ値、データアドレス、プログラムカウンターなどのレジスターの値などの情報）を転送する。そのデバッグインターフェイス１１６にデバッグ装置１が接続され、ＣＰＵ１１１は、デバッグ実行時のデバッグ出力データ（各ステップでの、命令、データ値、データアドレス、プログラムカウンターなどのレジスターの値を含むログ情報など）をデバッグインターフェイス１１６に出力し、デバッグインターフェイス１１６は、そのデバッグ出力データをデバッグ装置１に出力する。
【００１６】
端末装置２は、ＩＣチップ１０１のデバッグに使用すべきデバッグ入力データをデバッグ装置１に対して設定し、ＩＣチップ１０１から取得されたデバッグ出力データをデバッグ装置１から取得する。
【００１７】
端末装置２は、例えば各種プログラムをインストールされたパーソナルコンピューターである。端末装置２は、インターフェイス２１、通信装置２２、表示装置２３、入力装置２４、通信処理部２５、およびデバッグ制御部２６を備える。
【００１８】
インターフェイス２１は、デバッグ装置１との間でデータ通信を行うインターフェイスである。インターフェイス２１は、例えばＵＳＢ（Universal Serial Bus）インターフェイス回路である。
【００１９】
通信装置２２は、インターネットなどのネットワーク４に接続され、ネットワーク４を介して他の装置（クラウドサーバー３など）との間でデータ通信を行う。通信装置２２は、例えばネットワークインターフェイスである。
【００２０】
表示装置２３は、ユーザーに対して各種情報を表示する液晶ディスプレイなどである。入力装置２４は、ユーザー操作を受け付けるキーボード、マウスなどである。
【００２１】
通信処理部２５およびデバッグ制御部２６は、プロセッサーでプログラムが実行されることで実現される。
【００２２】
通信処理部２５は、通信装置２２を使用して、所定のプロトコルでクラウドサーバー３との間でデータ通信を行う。
【００２３】
デバッグ制御部２６は、デバッグ装置１を使用してＩＣチップ１０１のデバッグを行う。
【００２４】
デバッグ制御部２６は、（ａ）入力装置２４に対するユーザー操作により指定された不具合事象を特定し、（ｂ）通信処理部２５および通信装置２２を使用して、その不具合事象を指定してクラウドサーバー３にデバッグ入力データの検索を実行させ、クラウドサーバー３により管理されている複数のデバッグ入力データから、そのユーザー操作により指定された不具合事象に対応するデバッグ入力データを特定し、特定したデバッグ入力データをクラウドサーバー３からダウンロードしてデバッグ装置１に設定し、（ｃ）デバッグ装置１にＩＣチップ１０１のデバッグを実行させて、デバッグ装置１により取得されたデバッグ出力データを取得し、（ｄ）通信処理部２５および通信装置２２を使用して、デバッグ装置１から取得されたデバッグ出力データを指定してクラウドサーバー３に複数のデバッグ出力データの検索を実行させ、クラウドサーバーにより管理されている複数のデバッグ出力データから、指定したデバッグ出力データに対応する不具合原因を特定する。
【００２５】
不具合事象としては、例えば、ＩＣチップ１０１内のいずれかのレジスターの値が正常な値になっていないことが挙げられる。したがって、正常値ではないレジスターの種別に応じて、異なる不具合事象として検出される。
【００２６】
クラウドサーバー３は、ＩＣチップの複数の不具合事象に対応する複数のデバッグ入力データおよびＩＣチップの複数の不具合原因に対応する複数のデバッグ出力データをデータベースで管理する。
【００２７】
クラウドサーバー３は、記憶装置４１、通信装置４２、通信処理部４３、およびデータベース管理部４４を備える。
【００２８】
記憶装置４１は、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）などの不揮発性の記憶装置である。記憶装置４１は、デバッグデータ５１を格納している。
【００２９】
デバッグデータ５１は、デバッグ入力データおよびデバッグ出力データを含む。
【００３０】
デバッグ入力データは、主に、不具合を再現させるための制御コマンドを含む。制御コマンドには、ＩＣチップ１０１を動作させるための基本制御コマンド、特殊な内部モジュール１１５を動作させるための制御コマンドなどが含まれる。ある不具合事象に対応するデバッグ入力データは、その不具合事象に関連付けて登録されている。
【００３１】
デバッグ出力データは、主に、トレース時の出力データ、制御ログ、エラーメッセージなどを含む。ある不具合事象およびその原因に対応するデバッグ出力データは、その不具合事象および原因に関連付けて登録されている。
【００３２】
この実施の形態では、クラウドサーバー３は、ＩＣチップの型番、ＩＣチップが搭載される電子機器の型番、およびＩＣチップの内部モジュール（ここではＩＰコア）の型番の少なくとも１つの関連属性に関連付けて複数のデバッグ入力データをデータベースで管理するとともに、ＩＣチップの型番、ＩＣチップが搭載される電子機器の型番、およびＩＣチップの内部モジュールの型番の少なくとも１つの関連属性に関連付けて複数のデバッグ出力データをデータベースで管理する。そして、端末装置のデバッグ制御部２６は、（ａ）上述の不具合事象とともに関連属性を指定してクラウドサーバー３に複数のデバッグ入力データの検索を実行させ、クラウドサーバー３により管理されている複数のデバッグ入力データから、指定した不具合事象および関連属性に対応するデバッグ入力データを特定し、特定したデバッグ入力データをダウンロードしてデバッグ装置１に設定し、（ｂ）デバッグ装置１から取得したデバッグ出力データとともにその関連属性を指定してクラウドサーバー３に複数のデバッグ出力データの検索を実行させ、クラウドサーバー３により管理されている複数のデバッグ出力データから、指定したデバッグ出力データおよび関連属性に対応する不具合原因を特定する。
【００３３】
図２は、電子機器の一例である複合機において使用されるＩＣチップについて説明する図である。
【００３４】
電子機器のシリーズにおいて、ハイエンドモデル、ミドルレンジモデル、およびローエンドモデルが設定されることがある。各モデルの電子機器は型番が異なる。また、モデルチェンジによって電子機器の型番が変化しても、同一型番のＩＣチップが搭載されることがある。また、複数のモデルにおいて同一型番のＩＣチップ（図２におけるＡＳＩＣ）が使用されることが多い。また、異なる型番のＩＣチップが使用される場合であっても、それらのＩＣチップが同一型番の内部モジュール（図２におけるＩＰコア）を内蔵していることもある。
【００３５】
同一型番のＩＣチップを使用する電子機器については不具合が共通している可能性が高い。また、異なる型番のＩＣチップを使用していても内蔵モジュールの型番が同一であるＩＣチップをそれぞれ使用する電子機器についても不具合が共通している可能性がある。したがって、デバッグ対象のＩＣチップ１０１が搭載される電子機器の型番、デバッグ対象のＩＣチップ１０１の型番、デバッグ対象のＩＣチップ１０１の内蔵モジュール１１５の型番などを適宜指定してデバッグ入力データおよびデバッグ出力データを検索することで、より適切なデバッグ入力データおよびデバッグ出力データを発見することができる。したがって、ユーザーは、デバッグ対象のＩＣチップ１０１や、そのＩＣチップ１０１が搭載される電子機器の仕様などの詳細な情報を知らなくても、適切なデバッグ入力データおよびデバッグ出力データを発見することができる。
【００３６】
また、この実施の形態では、クラウドサーバー３によりデータベースで管理されているデバッグ出力データは、（ａ）ＩＣチップの動作ログを含み、（ｂ）所定の圧縮方式を使用して、不具合事象の種別、発生頻度、ＩＣチップが搭載される電子機器の製品数、およびＩＣチップが搭載される電子機器の出荷数のうちの少なくとも１つに応じた圧縮率で圧縮されている。不具合事象の発生頻度が低いほど、圧縮率が高くされる。ＩＣチップが搭載される電子機器の製品数が少ないほど、圧縮率が高くされる。ＩＣチップが搭載される電子機器の出荷数が少ないほど、圧縮率が高くされる。圧縮率が高いほど、データサイズが小さくなるが、伸張時間が長くなる。
【００３７】
検索時には、検索に必要なデバッグ出力データ（例えば、指定された関連属性を有するデバッグ出力データのみ）が伸張されてから検索が実行される。そのため、検索に使用される頻度の低いデバッグ出力データほど、高い圧縮率で圧縮されている。
【００３８】
通信装置４２は、ネットワーク４に接続され、ネットワーク４を介して他の装置（端末装置２など）との間でデータ通信を行う。通信装置４２は、例えばネットワークインターフェイスである。
【００３９】
通信処理部４３およびデータベース管理部４４は、プロセッサーでプログラムが実行されることで実現される。
【００４０】
通信処理部４３は、通信装置４２を使用して、所定のプロトコルで端末装置２との間でデータ通信を行う。
【００４１】
データベース管理部４４は、デバッグデータ５１とともにデータベースを構成し、通信処理部４３により受信される端末装置２の要求に応じて、デバッグデータ５１に対するデータ操作（データの検索、データの読み出し、データの書き込みなど）を行う。
【００４２】
次に、上記デバッグシステムの動作について説明する。
【００４３】
ユーザーは、デバッグ対象のＩＣチップ１０１にデバッグ装置１を接続する。そして、端末装置２において、ユーザーは、入力装置２４を操作して、そのＩＣチップ１０１の不具合事象などを指定する。このとき、例えば、ＩＣチップ１０１について、予め用意されている不具合事象のリストから、ＩＣチップ１０１の不具合事象が選択される。
【００４４】
デバッグ制御部２６は、そのユーザー操作を検出すると、ユーザーにより指定された不具合事象などを指定した検索要求をクラウドサーバー３に送信する。
【００４５】
クラウドサーバー３では、その検索要求が受信されると、データベース管理部４４は、その検索要求に従って、デバッグデータ５１内のデバッグ入力データを検索し、検索結果（ヒットしたデバッグ入力データのリスト）を応答として送信する。
【００４６】
その検索結果が受信されると、デバッグ制御部２６は、その検索結果としてのヒットしたデバッグ入力データのリスト（各デバッグ入力データについて、データＩＤ、不具合事象、並びに、関連付けられている電子機器の型番、ＩＣチップの型番、内蔵モジュールの型番などを含むリスト）を表示装置２３に表示し、リストにおいてユーザー操作により選択されたデバッグ入力データをクラウドサーバー３からダウンロードする。その際、デバッグ制御部２６は、そのデバッグ入力データの送信要求をクラウドサーバー３へ送信し、クラウドサーバー３のデータベース管理部４４は、その送信要求により指定されたバッグ入力データをデバッグデータ５１から読み出して、送信要求の応答として、通信処理部４３を使用して送信する。
【００４７】
そして、デバッグ制御部２６は、インターフェイス２１を介して、ダウンロードしたデバッグ入力データをデバッグ装置１に設定し、デバッグを実行させる。デバッグ装置１は、そのデバッグ入力データに基づいてＩＣチップ１０１を動作させ、動作結果であるデバッグ出力データを取得する。
【００４８】
デバッグ制御部２６は、インターフェイス２１を介して、そのデバッグ出力データをデバッグ装置１から取得すると、そのデバッグ出力データなどを指定した検索要求をクラウドサーバー３に送信する。
【００４９】
クラウドサーバー３では、その検索要求が受信されると、データベース管理部４４は、その検索要求に従って、デバッグデータ５１内のデバッグ出力データを検索し、検索結果（ヒットしたデバッグ出力データに対応する不具合原因のリスト）を応答として送信する。
【００５０】
その検索結果が受信されると、デバッグ制御部２６は、その検索結果としてのヒットした不具合原因のリストを表示装置２３に表示する。ユーザーは、そのリストを確認することで、不具合原因を見つけることができる。
【００５１】
以上のように、上記実施の形態によれば、クラウドサーバー３は、ＩＣチップの複数の不具合事象に対応する複数のデバッグ入力データおよびＩＣチップの複数の不具合原因に対応する複数のデバッグ出力データをデータベースで管理している。そして、端末装置２は、（ａ）ユーザー操作により指定された不具合事象を指定してクラウドサーバー３に複数のデバッグ入力データの検索を実行させ、クラウドサーバー３により管理されている複数のデバッグ入力データから、ユーザー操作により指定された不具合事象に対応するデバッグ入力データを特定し、特定したデバッグ入力データをデバッグ装置１に設定し、（ｂ）デバッグ装置１から取得されたデバッグ出力データを指定してクラウドサーバー３に複数のデバッグ出力データの検索を実行させ、クラウドサーバー３により管理されている複数のデバッグ出力データから、指定したデバッグ出力データに対応する不具合原因を特定する。
【００５２】
これにより、デバッグによってＩＣチップ１０１の不具合の原因特定を簡単に行える。また、デバッグデータ５１の管理にクラウドサーバー３を使用しているため、グローバルに出荷されている製品について異なる国や地域において、それぞれのユーザーが、クラウドサーバー３を使用してデバッグを行うことができる。また、それぞれの国や地域からクラウドサーバー３へ、デバッグ入力データおよびデバッグ出力データをアップロードすることで、同一事象に対して重複して行われるデバッグを減らすことができ、結果的に、デバッグ時間が短縮される。
【００５３】
なお、上述の実施の形態に対する様々な変更および修正については、当業者には明らかである。そのような変更および修正は、その主題の趣旨および範囲から離れることなく、かつ、意図された利点を弱めることなく行われてもよい。つまり、そのような変更および修正が請求の範囲に含まれることを意図している。
【００５４】
例えば、上記実施の形態において、検索時には、デバッグ入力データまたはデバッグ出力データのすべての項目について完全一致するものを発見するようにしてもよいし、デバッグ入力データまたはデバッグ出力データの一部の項目について完全一致するもの、デバッグ入力データまたはデバッグ出力データの一部の項目について部分一致するものなども併せて発見するようにしてもよい。
【産業上の利用可能性】
【００５５】
本発明は、例えば、システムＬＳＩのデバッグに適用可能である。
【符号の説明】
【００５６】
１  デバッグ装置
２  端末装置
３  クラウドサーバー
１０１  ＩＣチップ
【図１】
2017010431.tif 000003
【図２】
2017010431.tif 000004