(57)【要約】【課題】リモート操作システム及び無線通信ユニットにおいて、ターゲット機器に組み込まれた状態の論理集積回路に対して、容易にリモート操作でき、しかも、パソコン等の情報機器とターゲット機器との設置場所が遠く離れている場合でも、ターゲット機器に対して容易にリモート操作できるようにする。【解決手段】リモート操作システム１は、インターネット４に無線通信で接続可能で、ＣＰＵ２１が組み込まれたターゲット機器２と、ターゲット機器２とインターネット４を介して通信可能なＰＣ３とを備え、インターネット４を介してＰＣ３からターゲット機器２のリモート操作を行うようにした。これにより、ターゲット機器２に組み込まれた状態のＣＰＵ２１に対しても、ターゲット機器２を分解してＣＰＵ２１を取り出すことなく、ＰＣ３から容易にリモート操作（ターゲット機器２のＣＰＵ２１のハードウェアの検査やソフトウェアのデバッグ）をすることができる。【選択図】図３
2014099167.tif 000002
【特許請求の範囲】
【請求項１】
インターネットに無線通信で接続可能で、論理集積回路が組み込まれたターゲット機器と、
前記ターゲット機器とインターネットを介して通信可能な情報機器とを備え、
インターネットを介して前記情報機器から前記ターゲット機器のリモート操作を行うリモート操作システム。
【請求項２】
前記情報機器からインターネットを介して前記ターゲット機器の論理集積回路のハードウェアの検査を行うハードウェアリモート検査手段を備えたことを特徴とする請求項1に記載のリモート操作システム。
【請求項３】
前記情報機器からインターネットを介して前記ターゲット機器の論理集積回路のソフトウェアのデバッグを行うソフトウェアリモートデバッグ手段を備えたことを特徴とする請求項1又は請求項２に記載のリモート操作システム。
【請求項４】
前記ターゲット機器の論理集積回路が記憶している情報を、インターネット上の情報端末に送信して格納することを特徴とする請求項1乃至請求項３のいずれか一項に記載のリモート操作システム。
【請求項５】
第１の論理集積回路が組み込まれたターゲット機器に接続可能な無線通信ユニットであって、
インターネット上の情報機器と無線通信するための送受信用の回路である無線通信インタフェースと、
各種の処理プログラムを格納した第２の論理集積回路とを備え、
前記第２の論理集積回路に格納されるプログラムには、
前記情報機器側のデバッガから送信されたコマンドを、前記ターゲット機器側に応じたレベルのコマンドに細分化するターゲット機器側デバッガと、
前記ターゲット機器の論理集積回路のアーキテクチャに応じて、前記情報機器と前記ターゲット機器の論理集積回路との間のデータのフォーマット変換処理を含む各種の処理を行うインタフェース制御用のプログラムとが含まれることを特徴とする無線通信ユニット。
【請求項６】
無線通信可能で、論理集積回路が組み込まれたターゲット機器と、
前記ターゲット機器と無線通信可能な情報機器とを備え、
前記情報機器から無線通信で前記ターゲット機器のリモート操作を行うリモート操作システム。
【請求項７】
第１の論理集積回路を有するターゲット・ボードに接続された無線通信ユニットと、
前記無線通信ユニットと無線通信可能な情報機器とを備え、
前記情報機器は、
デバッグ操作の指示入力を行うための指示入力手段と、
前記指示入力手段により指示入力されたデバッグ操作に応じた１つのデバッグ用コマンドを、前記第１の論理集積回路が有するＪＴＡＧ機能の動作レベルのコマンドであるプリミティブ・コマンドに細分化して出力するデバッガと、
前記デバッガから出力されたプリミティブ・コマンドの前記無線通信ユニット側への送信、及び前記無線通信ユニット側からの前記プリミティブ・コマンドの実行結果の受信を行う第１の無線通信手段とを備え、
前記無線通信ユニットは、
前記情報機器から前記第１の無線通信手段を用いて送信された前記プリミティブ・コマンドの受信、及び前記ターゲット・ボードから出力された、前記プリミティブ・コマンドの実行結果の前記情報機器への送信を行う第２の無線通信手段と、
前記情報機器から前記第２の無線通信手段により受信した前記プリミティブ・コマンドを、前記第１の論理集積回路が有するＪＴＡＧ機能を用いて実行するように制御するスタブ・プログラムを格納した第２の論理集積回路とを備え、
前記情報機器から無線通信で前記ターゲット・ボードの第１の論理集積回路のＣＰＵコアの動作記述プログラムのデバッグを行うリモートデバッグシステム。
【請求項８】
前記デバッガは、前記１つのデバッグ用コマンドに対応する複数の前記プリミティブ・コマンドの実行結果を合成して作成した合成結果を出力し、
前記情報機器は、前記デバッガによるデバッグ用の画面を表示するための表示手段と、前記デバッガから出力された前記合成結果を前記デバッグ用の画面に表示するように制御する表示制御手段とをさらに備えたことを特徴とする請求項７に記載のリモートデバッグシステム。
【請求項９】
前記ターゲット・ボードの数は複数であり、これら複数のターゲット・ボードの各々には、それぞれ前記無線通信ユニットが接続されており、
前記表示手段は、前記複数のターゲット・ボードの各々における第１の論理集積回路のＣＰＵコアの動作記述プログラムのデバッグ用の画面を、各ターゲット・ボードごとに別々に表示することを特徴とする請求項８に記載のリモートデバッグシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パソコン等の情報機器から、ＣＰＵ等の論理集積回路が組み込まれたターゲット機器のリモート操作を行うことが可能なリモート操作システム、及びパソコン等の情報機器からターゲット・ボードのＣＰＵコアの動作記述プログラムのデバッグを行うことが可能なリモートデバッグシステムに関する。
【背景技術】
【０００２】
従来より、パソコン等の情報機器から、ＣＰＵ等の論理集積回路が組み込まれたターゲット機器のリモート操作を行うことが可能なリモート操作システムが知られている。例えば、パソコンから、ＦＰＧＡやＣＰＵ等の論理集積回路が組み込まれたターゲット機器に対して、ＪＴＡＧ（Ｊｏｉｎｔ  Ｅｕｒｏｐｅａｎ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ）の規格に応じたバウンダリスキャンテストや、ＣＰＵコアの動作記述プログラムのデバッグや、論理集積回路へのプログラムやデータの書き込みを、有線で（ＪＴＡＧの規格に応じたシリアル通信用の通信ケーブルを介して）リモート操作により行うようにしたものが知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２４９８２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
けれども、上記のような従来の有線で論理集積回路に接続するリモート操作システムでは、論理集積回路が組み込まれたターゲット機器が冷蔵庫や自動車である場合には、冷蔵庫や自動車を分解して論理集積回路を取り出す手間が非常に大きいので、実質的に論理集積回路のメンテナンスを行うことができなかった。具体的には、ターゲット機器に組み込まれた論理集積回路に対するバウンダリスキャンテストや、この論理集積回路のＣＰＵコアの動作記述プログラムのデバッグや、論理集積回路への新しい（バグ修正後の）プログラムのダウンロードを行うことが困難であった。また、論理集積回路が組み込まれたターゲット機器が天井や床下に配設されている場合にも、論理集積回路のメンテナンスを行うことが極めて困難であった。さらにまた、論理集積回路が組み込まれたターゲット機器が、自律走行可能な掃除機等の移動可能な機器や、ロボット等の運動を伴う機器である場合には、ターゲット機器が移動又は運動するに連れて、通信ケーブルが色んな所に絡まってしまうので、上記のような通信ケーブルを介してリモート操作で、バウンダリスキャンテスト等を行うことができない。従って、ターゲット機器が、掃除機等の移動可能な機器や、ロボット等の運動を伴う機器である場合にも、ターゲット機器に組み込まれた状態の論理集積回路に対して、開発時における回路検査（ハードウェアの検査）やＣＰＵコアの動作記述プログラムのデバッグ、及びメンテナンスを行うことが極めて困難であった。
【０００５】
また、上記の問題に加えて、上記のような有線（通信ケーブル）を用いて、バウンダリスキャンテストや論理集積回路へのプログラムやデータの書き込み等を行う方式のリモート操作システムでは、例えば、大阪に設置されたパソコンから東京に設置されたターゲット機器に対するリモート操作（開発時における回路検査やＣＰＵコアの動作記述プログラムのデバッグ、及び新しいバージョンのプログラムのダウンロードを含むメンテナンス等）を行うことができないという問題があった。
【０００６】
さらにまた、上記のような従来の有線で論理集積回路に接続するリモート操作システムでは、複数の論理集積回路間の協調制御処理や、複数の論理集積回路間のイベント通知処理等の、複数の論理集積回路が関与する処理について、これら複数の論理集積回路のＣＰＵコアの動作記述プログラムを同時にデバッグすることができないという問題があった。
【０００７】
本発明は、上記課題を解決するものであり、ターゲット機器に組み込まれた状態の論理集積回路に対して、容易にリモート操作をすることが可能で、しかも、パソコン等の情報機器とターゲット機器との設置場所が遠く離れている場合でも、ターゲット機器に対して容易にリモート操作をすることが可能なリモート操作システム及び無線通信ユニットを提供することを目的とする。また、複数の論理集積回路のＣＰＵコアの動作記述プログラムを同時にデバッグすることが可能なリモート操作システム及び無線通信ユニットを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の第１の態様のリモート操作システムは、インターネットに無線通信で接続可能で、論理集積回路が組み込まれたターゲット機器と、前記ターゲット機器とインターネットを介して通信可能な情報機器とを備え、インターネットを介して前記情報機器から前記ターゲット機器のリモート操作を行う。
【０００９】
このリモート操作システムにおいて、前記情報機器からインターネットを介して前記ターゲット機器の論理集積回路のハードウェアの検査を行うハードウェアリモート検査手段を備えることが好ましい。
【００１０】
このリモート操作システムにおいて、前記情報機器からインターネットを介して前記ターゲット機器の論理集積回路のソフトウェアのデバッグを行うソフトウェアリモートデバッグ手段を備えることが好ましい。
【００１１】
このリモート操作システムにおいて、前記ターゲット機器の論理集積回路が記憶している情報を、インターネット上の情報端末に送信して格納することが好ましい。
【００１２】
また、本発明の第２の態様の無線通信ユニットは、第１の論理集積回路が組み込まれたターゲット機器に接続可能な無線通信ユニットであって、インターネット上の情報機器と無線通信するための送受信用の回路である無線通信インタフェースと、各種の処理プログラムを格納した第２の論理集積回路とを備え、前記第２の論理集積回路に格納されるプログラムには、前記情報機器側のデバッガから送信されたコマンドを、前記ターゲット機器側に応じたレベルのコマンドに細分化するターゲット機器側デバッガと、前記ターゲット機器の論理集積回路のアーキテクチャに応じて、前記情報機器と前記ターゲット機器の論理集積回路との間のデータのフォーマット変換処理を含む各種の処理を行うインタフェース制御用のプログラムとが含まれる。
【００１３】
また、本発明の第３の態様は、無線通信可能で、論理集積回路が組み込まれたターゲット機器と、前記ターゲット機器と無線通信可能な情報機器とを備え、前記情報機器から無線通信で前記ターゲット機器のリモート操作を行うリモート操作システムである。
【００１４】
また、本発明の第４の態様のリモートデバッグシステムは、第１の論理集積回路を有するターゲット・ボードに接続された無線通信ユニットと、前記無線通信ユニットと無線通信可能な情報機器とを備え、前記情報機器は、デバッグ操作の指示入力を行うための指示入力手段と、前記指示入力手段により指示入力されたデバッグ操作に応じた１つのデバッグ用コマンドを、前記第１の論理集積回路が有するＪＴＡＧ機能の動作レベルのコマンドであるプリミティブ・コマンドに細分化して出力するデバッガと、前記デバッガから出力されたプリミティブ・コマンドの前記無線通信ユニット側への送信、及び前記無線通信ユニット側からの前記プリミティブ・コマンドの実行結果の受信を行う第１の無線通信手段とを備え、前記無線通信ユニットは、前記情報機器から前記第１の無線通信手段を用いて送信された前記プリミティブ・コマンドの受信、及び前記ターゲット・ボードから出力された、前記プリミティブ・コマンドの実行結果の前記情報機器への送信を行う第２の無線通信手段と、前記情報機器から前記第２の無線通信手段により受信した前記プリミティブ・コマンドを、前記第１の論理集積回路が有するＪＴＡＧ機能を用いて実行するように制御するスタブ・プログラムを格納した第２の論理集積回路とを備え、前記情報機器から無線通信で前記ターゲット・ボードの第１の論理集積回路のＣＰＵコアの動作記述プログラムのデバッグを行う。
【００１５】
このリモートデバッグシステムにおいて、前記デバッガは、前記１つのデバッグ用コマンドに対応する複数の前記プリミティブ・コマンドの実行結果を合成して作成した合成結果を出力し、前記情報機器は、前記デバッガによるデバッグ用の画面を表示するための表示手段と、前記デバッガから出力された前記合成結果を前記デバッグ用の画面に表示するように制御する表示制御手段とをさらに備えることが好ましい。
【００１６】
このリモートデバッグシステムにおいて、前記ターゲット・ボードの数は複数であり、これら複数のターゲット・ボードの各々には、それぞれ前記無線通信ユニットが接続されており、前記表示手段は、前記複数のターゲット・ボードの各々における第１の論理集積回路のＣＰＵコアの動作記述プログラムのデバッグ用の画面を、各ターゲット・ボードごとに別々に表示することが好ましい。
【発明の効果】
【００１７】
本発明の第１の態様のリモート操作システムによれば、論理集積回路が組み込まれたターゲット機器が、インターネットに無線通信で接続できるようにし、しかも、情報機器が、ターゲット機器とインターネットを介して通信できるようにした。これにより、ターゲット機器に組み込まれた状態の論理集積回路に対しても、ターゲット機器を分解して論理集積回路を取り出すことなく、情報機器から容易にリモート操作をすることができる。また、上記のように、通信ケーブルを用いずに、ターゲット機器を無線通信でインターネットに接続できるようにしたことにより、ターゲット機器が天井や床下に配設されている場合や、ターゲット機器が移動可能な機器又は運動を伴う機器である場合でも、ターゲット機器に組み込まれた状態の論理集積回路に対して、情報機器から容易にリモート操作をすることができる。さらにまた、情報機器とターゲット機器との設置場所が遠く離れている場合でも、ターゲット機器に対して容易にリモート操作をすることができる。
【００１８】
本発明の第２の態様の無線通信ユニットによれば、ターゲット機器自体がインターネット上の情報機器と無線通信する機能を有しておらず、しかも、ターゲット機器自体が、情報機器側のデバッガから送信されたコマンドを、ターゲット機器側に応じたレベルのコマンドに細分化するターゲット機器側デバッガや、情報機器とターゲット機器の論理集積回路との間のインタフェース制御用のプログラムを格納していない場合でも、この無線通信ユニットをターゲット機器に接続することにより、上記のリモート操作システムと同様な効果を得ることができる。
【００１９】
本発明の第３の態様のリモート操作システムによれば、ターゲット機器に組み込まれた状態の論理集積回路に対しても、ターゲット機器を分解して論理集積回路を取り出すことなく、無線通信を用いて、情報機器から容易にリモート操作をすることができる。また、上記のように、通信ケーブルを用いずに、ターゲット機器を無線通信で情報機器に接続できるようにしたことにより、ターゲット機器が天井や床下に配設されている場合や、ターゲット機器が移動可能な機器又は運動を伴う機器である場合でも、ターゲット機器に組み込まれた状態の論理集積回路に対して、情報機器から容易にリモート操作をすることができる。さらにまた、情報機器とターゲット機器との設置場所が遠く離れている場合でも、ターゲット機器に対して容易にリモート操作をすることができる。
【００２０】
本発明の第４の態様のリモートデバッグシステムによれば、ターゲット・ボード自体が情報機器と無線通信する機能を有しておらず、しかも、ターゲット・ボード自体が、上記のスタブ・プログラムを格納していない場合でも、無線通信ユニットをターゲット・ボードに接続することにより、情報機器から無線で、ターゲット・ボードの第１の論理集積回路のＣＰＵコアの動作記述プログラムのデバッグを行うことができる。また、このリモートデバッグシステムによれば、ターゲット・ボードの数が複数（すなわち、ＣＰＵコアの動作記述プログラムの数が複数）の場合でも、上記の無線通信ユニットを各ターゲット・ボードに接続することにより、これらのターゲット・ボードが有する複数のＣＰＵコアの動作記述プログラムを、同時にデバッグすることが可能になる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の実施形態に係るリモート操作システムの概略のシステム構成図。
【図２】同リモート操作システムにおけるＰＣとターゲット機器との概略の電気的ブロック構成図。
【図３】本発明の第２の実施形態のリモート操作システムにおけるＰＣとターゲット機器との概略の電気的ブロック構成図。
【図４】本発明の第３の実施形態のリモート操作システムにおけるＰＣとターゲット機器との概略の電気的ブロック構成図。
【図５】同リモート操作システムにおけるＰＣ側のソフトウェアのブロック構成図。
【図６】同リモート操作システムにおけるＪＴＡＧチップ側のブロック構成図。
【図７】同リモート操作システムにおける複数のＣＰＵボードのＣＰＵコアの動作記述プログラムの同時デバッグ処理の説明図。
【図８】同リモート操作システムにおけるＪＴＡＧチップのハードウェア構成図。
【発明を実施するための形態】
【００２２】
以下、本発明を具体化した実施形態によるリモート操作システム及び無線通信ユニットについて、図面を参照して説明する。図１は、本発明の第１の実施形態によるリモート操作システム１の概略のシステム構成を示す。このリモート操作システム１は、ＡＲＭ（Ａｄｖａｎｃｅｄ  ＲＩＳＣ  Ｍａｃｈｉｎｅｓ）社のＲＩＳＣプロセッサ等のＣＰＵ（請求項における論理集積回路）が組み込まれたターゲット機器２ａ、２ｂ、２ｃと、これらのターゲット機器２ａ、２ｂ、２ｃとインターネット４を介して通信可能なＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）３（請求項における情報機器）とを備えている。ＰＣ３は、ルータ５を介してインターネット４と接続されている。また、ターゲット機器２ａ、２ｂ、２ｃは、いずれもＷｉ＿Ｆｉ（IEEE 802.11）の規格に準拠した無線通信機能を有しており、インターネット４に無線通信で接続可能である。ターゲット機器２ａは、ルータ６を介してインターネット４に接続可能であり、ターゲット機器２ｂ、２ｃは、いずれもルータ７とハブ８とを介して、インターネット４に接続可能である。
【００２３】
リモート操作システム１では、ＰＣ３からインターネット４を介してターゲット機器２ａ、２ｂ、２ｃのリモート操作を行うことができる。このリモート操作には、（１）ＪＴＡＧ（Ｊｏｉｎｔ  Ｅｕｒｏｐｅａｎ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ）の規格に応じたバウンダリスキャンテスト等のターゲット機器２（ターゲット機器２ａ、２ｂ、２ｃの総称）のＣＰＵのハードウェア（回路）の検査や、（２）ターゲット機器２のＣＰＵ内のＣＰＵコアの動作記述プログラムのデバッグや、（３）ＰＣ３からターゲット機器２のＣＰＵへのプログラムの書き込みや、（４）障害時に、ＰＣ３からターゲット機器２のＣＰＵのメモリダンプや各種の障害関連情報を取得する処理や、（５）ターゲット機器２のＣＰＵが記憶しているユーザ情報等のログ情報を、クラウド上のサーバ９（請求項における「インターネット上の情報端末」）に送信して格納させる処理が含まれる。上記のクラウド上のサーバ９にアップロードされる情報には、ターゲット機器２が、電力メータ、ガスメータ、水道メータ等の計量器である場合における、使用電力量、使用ガス量、使用水道量等の情報が含まれる。なお、ターゲット機器２は、ＰＣ３からリモート操作されていないときには、インターネット４に無線通信で接続可能な単なるＷｉ＿Ｆｉ端末（クラウド端末）として利用される。
【００２４】
図２は、第１の実施形態のリモート操作システム１におけるＰＣ３とターゲット機器２との概略の構成を示す。ＰＣ３は、自装置全体の制御や演算処理を行うＣＰＵ１１と、各種のプログラムやデータを格納したハードディスク１２と、各種のプログラムの実行時に、実行するプログラムやデータをロードするメモリ１３と、ＬＡＮ等のネットワークへの接続用の通信インタフェース１４と、ディスプレイ１８（表示手段）と、キーボードやマウス等の入力装置１９（指示入力手段）を備えている。上記のハードディスク１２には、オープンソースの統合開発環境であるＥｃｌｉｐｓｅ１５と、ＧＮＵ環境下で動くデバッガであるＧＤＢにおけるＰＣ側に格納する部分のプログラム（以下、ＰＣ側ＧＤＢという）１６と、ターゲット機器２のＣＰＵのアーキテクチャに関する情報を有し、そのアーキテクチャに応じて、ＰＣ３とターゲット機器２のＣＰＵ２１との間のインタフェース制御を行うプログラム（ＳＴＵＢ）のＰＣ側に格納する部分のプログラム（以下、ＰＣ側ＳＴＵＢという）１７が格納されている。ＰＣ側ＳＴＵＢ１７が行う処理には、ＰＣ３とターゲット機器２のＣＰＵ２１との間のデータのフォーマット変換処理が含まれる。また、Ｅｃｌｉｐｓｅ１５は、ターゲット機器２のＣＰＵ２１のＣＰＵコア２３にダウンロードするプログラムのＣコンパイラ、ライブラリ管理用ツール、開発用のユーザ・インタフェース、リンカ等、ＧＮＵ環境下における各種開発ツールを全て含んでいる。
【００２５】
また、ターゲット機器２は、ＡＲＭ社のＲＩＳＣプロセッサ等の組み込み型の論理集積回路であるＣＰＵ２１と、Ｗｉ＿Ｆｉ（IEEE 802.11）の規格に準拠した無線通信を行うための送受信用の回路であるＷｉ＿Ｆｉインタフェース２２とを備えている。Ｗｉ＿Ｆｉインタフェース２２は、Ｗｉ＿Ｆｉ通信制御用のＴＣＰ／ＩＰのプロトコルスタック（図６中のＷｉ＿Ｆｉ  ＴＣＰ／ＩＰモジュール６６に相当）を内蔵している。また、ＣＰＵ２１は、ＣＰＵコア２３と、各種のプログラムやデータを格納するメモリ２４と、ＴＡＰコントローラ２５とを備えている。ＣＰＵコア２３は、各種のレジスタＲＥＧ１〜ＲＥＧ４やタイマ２６等を有している。メモリ２４には、デバッグ対象となるプログラム（以下、デバッグ対象プログラムという）２７と、ＧＮＵ環境下で動くデバッガであるＧＤＢにおけるターゲット機器２側に格納する部分のプログラム（以下、機器側ＧＤＢという）２８と、上記のＳＴＵＢにおけるターゲット機器２側に格納する部分のプログラム（以下、機器側ＳＴＵＢという）２９が格納されている。ＣＰＵ２１内には、バウンダリスキャンテスト等の回路検査（ハードウェア検査）用のＴＡＰのパターンであるスキャンパス３０が設けられている。ＴＡＰコントローラ２５は、ＰＣ３からインターネット４とＷｉ＿Ｆｉインタフェース２２とを介して入力されたコマンドに基づいて機器側ＧＤＢ２８と機器側ＳＴＵＢ２９とが生成した制御信号に応じて、ＣＰＵ２１内の各種の回路に対するデータの入出力を行う。
【００２６】
上記の構成のリモート操作システム１によれば、ＰＣ３からインターネット４を介してターゲット機器２のＣＰＵ２１のハードウェアの検査（上記の（１）の処理）を行うことができる。本実施形態では、主に、ＰＣ３側における、ＣＰＵ１１、（メモリ１３にロードされた後の）ＰＣ側ＧＤＢ１６とＰＣ側ＳＴＵＢ１７、及びターゲット機器２側における、ＣＰＵコア２３、ＴＡＰコントローラ２５、機器側ＧＤＢ２８、機器側ＳＴＵＢ２９、スキャンパス３０が、請求項におけるハードウェアリモート検査手段に相当する。
【００２７】
また、リモート操作システム１によれば、ＰＣ３からインターネット４を介してターゲット機器２のＣＰＵ２１のデバッグ対象プログラム２７（ＣＰＵコア２３の動作記述プログラム）のデバッグ（上記の（２）の処理）を行うことができる。本実施形態では、主に、ＰＣ３側における、ＣＰＵ１１、（メモリ１３にロードされた後の）ＰＣ側ＧＤＢ１６とＰＣ側ＳＴＵＢ１７、及びターゲット機器２側における、ＣＰＵコア２３、機器側ＧＤＢ２８、機器側ＳＴＵＢ２９が、請求項におけるソフトウェアリモートデバッグ手段に相当する。
【００２８】
また、リモート操作システム１によれば、上記の（３）の処理（ＰＣ３からターゲット機器２のＣＰＵ２１へのプログラムの書き込み（ダウンロード））、上記の（４）の処理（障害時に、ＰＣ３からターゲット機器２のＣＰＵ２１のメモリダンプや各種の障害関連情報を取得する処理）、及び（５）の処理（ターゲット機器２のＣＰＵ２１が記憶しているユーザ情報等のログ情報を、クラウド上のサーバ９に送信して格納させる処理）を行うことができる。本実施形態では、主に、ＰＣ３側における、ＣＰＵ１１、（メモリ１３にロードされた後の）ＰＣ側ＧＤＢ１６とＰＣ側ＳＴＵＢ１７、及びターゲット機器２側における、ＣＰＵコア２３、機器側ＧＤＢ２８、機器側ＳＴＵＢ２９が、上記の（３）〜（５）の処理を行う。
【００２９】
本実施形態のリモート操作システム１では、ターゲット機器２自体が、Ｗｉ＿Ｆｉの規格に準拠した無線通信を行うための送受信用の回路であるＷｉ＿Ｆｉインタフェース２２を備えているため、従来のＪＴＡＧの規格に対応した回路検査（バウンダリスキャンテスト等）を行うことが可能なターゲット機器２側のＣＰＵ２１のメモリ２４に、機器側ＧＤＢ２８と機器側ＳＴＵＢ２９を格納するだけで、上記の（１）〜（５）の処理を行うことができる。
【００３０】
上記のように、本リモート操作システム１によれば、ＣＰＵ２１が組み込まれたターゲット機器２が、インターネット４に無線通信で接続できるようにし、しかも、ＰＣ３が、ターゲット機器２とインターネット４を介して通信できるようにした。これにより、ターゲット機器２に組み込まれた状態のＣＰＵ２１に対しても、ターゲット機器２を分解してＣＰＵ２１を取り出すことなく、ＰＣ３から容易に上記の（１）〜（５）等のリモート操作（メンテナンスやデバッグ）をすることができる。また、上記のように、通信ケーブルを用いずに、ターゲット機器２を無線通信でインターネット４に接続できるようにしたことにより、ターゲット機器２が天井や床下に配設されている場合や、ターゲット機器２が掃除機等の移動可能な機器又は運動を伴う機器である場合でも、ターゲット機器２に組み込まれた状態のＣＰＵ２１に対して、ＰＣ３から容易に上記の（１）〜（５）等のリモート操作をすることができる。さらにまた、ＰＣ３とターゲット機器２との設置場所が遠く離れている場合でも、ターゲット機器２に対して、容易に上記の（１）〜（５）等のリモート操作をすることができる。
【００３１】
次に、図３を参照して、本発明の第２の実施形態のリモート操作システム１について説明する。本実施形態のリモート操作システム１は、ターゲット機器２自体が、Ｗｉ＿Ｆｉの規格に準拠した無線通信を行う機能を有していない（図２中のＷｉ＿Ｆｉインタフェース２２を有していない）。このため、ＡＲＭ等のＣＰＵを用いて作成されたＷｉ＿Ｆｉインタフェース４２（請求項の無線通信インタフェース）と、機器側ＧＤＢ４４及び機器側ＳＴＵＢ４５をメモリに格納したＣＰＵ４３（請求項の第２の論理集積回路）とを搭載したＪＴＡＧチップ４１（請求項の無線通信ユニット）を設けて、このＪＴＡＧチップ４１をターゲット機器２側のコネクタ４６に接続することにより、第１の実施形態のリモート操作システム１と同様な機能を実現できるようにした。具体的には、インターネット４を介してＰＣ３からターゲット機器２に対して、上記の（１）〜（５）等のリモート操作を行うことができるようにした。なお、Ｗｉ＿Ｆｉインタフェース４２は、Ｗｉ＿Ｆｉ通信制御用のＴＣＰ／ＩＰのプロトコルスタックであるＷｉ＿Ｆｉ  ＴＣＰ／ＩＰモジュールをメモリに格納したＣＰＵと、無線ＬＡＮ子機に相当するハードウェアであるＷｉ＿Ｆｉモジュールと、パッチアンテナから構成されている（図８参照）。
【００３２】
上記のコネクタ４６は、ＴＡＰコントローラ２５に電気的に接続されている。ＪＴＡＧチップ４１は、コネクタ４６に着脱可能であり、ＪＴＡＧチップ４１をコネクタ４６に装着することにより、ＪＴＡＧチップ４１が、コネクタ４６を介して、ターゲット機器２側のＣＰＵ２１のＴＡＰコントローラ２５に電気的に接続される。第２の実施形態のリモート操作システム１は、上記の点と、ターゲット機器２のメモリ２４に機器側ＧＤＢ及び機器側ＳＴＵＢを格納せず、上記のように、機器側ＧＤＢ４４（請求項のターゲット機器側デバッガ）及び機器側ＳＴＵＢ４５（請求項のインタフェース制御用のプログラム）を、ＪＴＡＧチップ４１内のＣＰＵ４３内のメモリに格納するようにした点とが、第１の実施形態のリモート操作システム１と異なる。
【００３３】
第２の実施形態のリモート操作システム１及びＪＴＡＧチップ４１によれば、ターゲット機器２自体がインターネット４上のＰＣ３と無線通信する機能を有しておらず、しかも、ターゲット機器２自体が、機器側ＧＤＢ及び機器側ＳＴＵＢを格納していない場合でも、このＪＴＡＧチップ４１をターゲット機器２に接続することにより、第１の実施形態のリモート操作システム１と同様な効果を得ることができる。また、第２の実施形態のリモート操作システム１によれば、第１の実施形態のリモート操作システム１と異なり、デバッグ対象プログラム２７のデバッグ時に、機器側ＧＤＢ４４及び機器側ＳＴＵＢ４５が、ＯＳ等の本来のＣＰＵ２１側のプログラムと（タイマ２６等の）資源の競合を起こすことがないので、ＯＳを含むＣＰＵ２１側のあらゆる種類のプログラムのデバッグを、ＣＰＵ２１側の各種プログラムの実行の遅延を招くことなく、行うことができる。
【００３４】
次に、図４を参照して、本発明の第３の実施形態のリモート操作システム１（請求項における「リモート操作システム」及び「リモートデバッグシステム」）について説明する。このリモート操作システム１によれば、ＰＣ３から無線通信で、ターゲット機器２のＣＰＵ２１のＣＰＵコア２３の動作記述プログラムのデバッグを行うことができる。なお、図４中のＣＰＵ２１が、請求項７における「第１の論理集積回路」及び「ターゲット・ボード」に相当する。また、図４中のＷｉ＿Ｆｉインタフェース４２が、請求項７における「第２の無線通信手段」に相当する。本実施形態のリモート操作システム１は、ＰＣ３が無線でルータ５に接続する点と、ＧＮＵ環境下で動くデバッガであるＧＤＢ５７がＰＣ３のみに格納され、ＧＤＢ  ＳＴＵＢ５５がＪＴＡＧチップ５１内のＣＰＵ５３（第２の論理集積回路）に格納される点が、上記図３に示される第２の実施形態のリモート操作システム１と異なる。ＧＤＢ５７が、請求項７における「デバッガ」に相当する。
【００３５】
本実施形態では、ＰＣ３は、第１及び第２の実施形態における有線接続用の通信インタフェース１４の代わりに、Ｗｉ＿Ｆｉの規格に準拠した無線通信を行うための送受信用の回路であるＷｉ＿Ｆｉインタフェース５４（第１の無線通信手段）を有している。Ｗｉ＿Ｆｉインタフェース５４は、Ｗｉ＿Ｆｉ通信制御用のＴＣＰ／ＩＰのプロトコルスタック（図５中のＷｉ＿Ｆｉ  ＴＣＰ／ＩＰモジュール６３）を内蔵していてもよいし、内蔵していなくてもよい。Ｗｉ＿Ｆｉインタフェース５４が、Ｗｉ＿Ｆｉ  ＴＣＰ／ＩＰモジュール６３を内蔵していない場合には、Ｗｉ＿Ｆｉ  ＴＣＰ／ＩＰモジュール６３は、ハードディスク１２に格納されて、実行時にメモリ１３にロードされる必要がある。Ｗｉ＿Ｆｉインタフェース５４は、ＧＤＢ５７から出力されたプリミティブ・コマンドのＪＴＡＧチップ５１側への送信、及びＪＴＡＧチップ５１側から送信された上記のプリミティブ・コマンドの実行結果の受信を行う。
【００３６】
第２の実施形態におけるＪＴＡＧチップ４１内のＣＰＵ４３（第２の論理集積回路）と異なり、本実施形態では、ＪＴＡＧチップ５１内のＣＰＵ５３は、ＧＤＢ  ＳＴＵＢ５５とＪＴＡＧ  Ｉ／Ｆ５６とを格納している。このＧＤＢ  ＳＴＵＢ５５が、請求項７における「スタブ・プログラム」に相当する。
【００３７】
次に、図５及び図６を参照して、本実施形態のリモート操作システム１のＰＣ３側とＪＴＡＧチップ５１側で用いられているソフトウェアについて説明する。なお、上記の図２乃至図４では、Ｅｃｌｉｐｓｅ１５に従属する（プラグインされた）、コンパイラ、リンカ等の、ＧＮＵ環境下における各種開発ツールの全体を、Ｅｃｌｉｐｓｅ１５でまとめて表したが、図５及び図６では、ＧＮＵ環境下における各種開発ツールのうち、主要なツール（ソフトウェア）を、Ｅｃｌｉｐｓｅ１５とは分離して記載している。
【００３８】
図５に示されるように、ＰＣ３側に格納されているソフトウェアは、上記のＥｃｌｉｐｓｅ１５に加えて、このＥｃｌｉｐｓｅ１５にプラグインされたＧＮＵコンパイラ環境（を構成する各種開発ツール）６１、リンカ６２、ＧＤＢ５７、及びＷｉ＿Ｆｉ  ＴＣＰ／ＩＰモジュール６３を含む。ＧＤＢ５７は、ＧＮＵ環境下で動くデバッガであり、Ｅｃｌｉｐｓｅ１５が提供する操作画面上で、ユーザにより指示入力されたデバッグ操作に応じた１つのデバッグ用コマンドを、ＣＰＵ２１が有するＪＴＡＧ機能の動作レベルのコマンドであるプリミティブ・コマンドに細分化して出力する。また、ＧＤＢ５７は、上記の１つのデバッグ用コマンドに対応する複数のプリミティブ・コマンドの実行結果を合成して作成した合成結果を、ユーザが目で見て分かるようにフォーマット変換して、Ｅｃｌｉｐｓｅ１５に渡す（出力する）。Ｅｃｌｉｐｓｅ１５は、ＧＤＢ５７から出力された合成結果を、ディスプレイ１８（上のデバッグ用画面（図７中の９３ａ〜９３ｃ参照））に出力するように制御する。Ｅｃｌｉｐｓｅ１５とＣＰＵ１１とが、請求項における表示制御手段に相当する。
【００３９】
また、ＪＴＡＧチップ５１側に格納されているソフトウェアは、図６に示されるように、Ｗｉ＿Ｆｉ  ＴＣＰ／ＩＰモジュール６６、ＧＤＢ  ＳＴＵＢ５５、及びＪＴＡＧ  Ｉ／Ｆ５６である。ここで、Ｗｉ＿Ｆｉ  ＴＣＰ／ＩＰモジュール６６は、図５中のＷｉ＿Ｆｉ  ＴＣＰ／ＩＰモジュール６３と同様な、Ｗｉ＿Ｆｉ通信制御用のＴＣＰ／ＩＰのプロトコルスタックである。また、ＧＤＢ  ＳＴＵＢ５５は、ＰＣ３からＷｉ＿Ｆｉインタフェース４２（Ｗｉ＿Ｆｉ  ＴＣＰ／ＩＰモジュール６６）により受信したプリミティブ・コマンドを、ＣＰＵ２１が有するＪＴＡＧ機能を用いて実行するように制御するプログラム（請求項における「スタブ・プログラム」）である。また、ＪＴＡＧ  Ｉ／Ｆ５６は、ＧＤＢ  ＳＴＵＢ５５とＴＡＰコントローラ２５との間（ＧＤＢ  ＳＴＵＢ５５とＣＰＵ２１のＪＴＡＧ機能との間）（の信号の入出力）のインタフェース用のプログラムである。
【００４０】
次に、上記図５及び図６を参照して、本実施形態のリモート操作システム１において行われる、ターゲット機器２のＣＰＵ２１のＣＰＵコア２３の動作記述プログラムのデバッグ処理について説明する。なお、以下の処理の記載において、実際には、ＰＣ３側のＣＰＵ１１が、Ｅｃｌｉｐｓｅ１５、ＧＤＢ５７、又はＷｉ＿Ｆｉ  ＴＣＰ／ＩＰモジュール６３のソース・コードに基づいて行う処理を、簡単に記するために、Ｅｃｌｉｐｓｅ１５、ＧＤＢ５７、又はＷｉ＿Ｆｉ  ＴＣＰ／ＩＰモジュール６３が行う処理として記載する場合がある。また、同様に、ＪＴＡＧチップ５１内のＣＰＵ５３又はＣＰＵ７１（図８参照）が、Ｗｉ＿Ｆｉ  ＴＣＰ／ＩＰモジュール６６、ＧＤＢ  ＳＴＵＢ５５、又はＪＴＡＧ  Ｉ／Ｆ５６のソース・コードに基づいて行う処理を、簡単に記するために、Ｗｉ＿Ｆｉ  ＴＣＰ／ＩＰモジュール６６、ＧＤＢ  ＳＴＵＢ５５、又はＪＴＡＧ  Ｉ／Ｆ５６が行う処理として記載する場合がある。
【００４１】
一般に、ターゲット機器２のＣＰＵコア２３の動作記述プログラムのデバッグ処理において、ＧＮＵ下のコンパイラ（ＧＮＵコンパイラ環境６１）が、大きな役割を果たす。具体的に言うと、例えば、ターゲット機器２のＣＰＵコア２３の動作記述プログラムのソース・コード上にブレーク・ポイントをはる（設定する）場合、コンパイラ（ＧＮＵコンパイラ環境６１）によるコンパイル結果であるオブジェクト・モジュールを、リンカ６２によりリンク（関数呼び込み）して、ロード・モジュールを生成した後でないと、ソース・コード上の絶対番地が分からない。従って、特定メモリ（グローバルメモリを含む）に対するリード／ライトや、ブレーク・ポイントを用いた解析は、全てロード・モジュールを基準にして行われる。
【００４２】
Ｅｃｌｉｐｓｅ１５が提供する操作画面上で、ユーザが、入力装置１９を用いてデバッグ操作（メモリ・ダンプ、シングル・ステップ実行、又はブレーク・ポイント（設定）等）を行うと、ＧＤＢ５７は、このデバッグ操作に必要な絶対番地を、ロード・モジュールに基づいて求めて、このデバッグ操作に応じたデバッグ用コマンドを、ＣＰＵ２１が有するＪＴＡＧ機能の動作レベルのコマンド（ＣＰＵ２１が所望の動作を実行できる形式のコマンド）であるプリミティブ・コマンドに細分化する。そして、このプリミティブ・コマンドを、Ｗｉ＿Ｆｉインタフェース５４（Ｗｉ＿Ｆｉ  ＴＣＰ／ＩＰモジュール６３）を用いて、ＪＴＡＧチップ５１側のＧＤＢ  ＳＴＵＢ５５に引き渡す。
【００４３】
ＪＴＡＧチップ５１側のＧＤＢ  ＳＴＵＢ５５は、ＰＣ３から、Ｗｉ＿Ｆｉインタフェース４２（Ｗｉ＿Ｆｉ  ＴＣＰ／ＩＰモジュール６６）により受信したプリミティブ・コマンドを、ＣＰＵ２１が有するＪＴＡＧ機能を用いてステップ実行して、ターゲット機器２のＣＰＵ２１から受信した（ＣＰＵ２１から出力された）上記のプリミティブ・コマンドの実行結果を、Ｗｉ＿Ｆｉ  ＴＣＰ／ＩＰモジュール６６によりＰＣ３側のＧＤＢ５７に返す（送信する）。つまり、ＧＤＢ  ＳＴＵＢ５５は、ＣＰＵ２１のＪＴＡＧ機能と１：１に対応した処理を行う。
【００４４】
例えば、デバッグ対象プログラム２７（図４参照）であるＣＰＵコア２３の動作記述プログラムがＣ言語であって、デバッグ操作が、メモリ・ダンプであるとすると、ＧＤＢ５７は、ユーザが、入力装置１９を用いて、ダンプの対象となる範囲を指定してメモリ・ダンプのデバッグ操作を行うと、ＧＮＵのコンパイラ（ＧＮＵコンパイラ環境６１）によるコンパイル結果のロード・モジュールに基づいて、ダンプの対象となるメモリ２４上の絶対番地のアドレスを求め、この絶対番地のアドレス空間における４バイトずつのメモリ・ダンプ用のコマンドを、Ｗｉ＿Ｆｉ無線通信を介して、ＧＤＢ  ＳＴＵＢ５５に引き渡す。ここで、例えば、ユーザが入力装置１９を用いて指示した、メモリ・ダンプの対象となる範囲が、１メガバイトであるとすると、ＧＤＢ５７は、４バイトずつのダンプを出力するためのメモリ・ダンプ用のコマンドを、２５万回繰り返して、ＧＤＢ  ＳＴＵＢ５５に送る。つまり、ＧＤＢ５７は、ユーザが入力装置１９を用いて指示したデバッグ操作に応じたデバッグ用コマンドを、ＣＰＵ２１が有するＪＴＡＧ機能の動作レベルのコマンド（ＣＰＵ２１が所望の動作を実行できる形式のコマンド）であるプリミティブ・コマンドに細分化して、ＧＤＢ  ＳＴＵＢ５５に引き渡し、これらのプリミティブ・コマンドに対するＧＤＢ  ＳＴＵＢ５５からの応答を、Ｗｉ＿Ｆｉ無線通信を介して待つ。
【００４５】
ＰＣ３側のＧＤＢ５７は、ＪＴＡＧチップ５１側のＧＤＢ  ＳＴＵＢ５５から、細分化されたプリミティブ・コマンドの実行結果を受信すると、これらの実行結果を合成して作成した合成結果を、ユーザが目で見て分かるようにフォーマット変換して、Ｅｃｌｉｐｓｅ１５に引き渡す。Ｅｃｌｉｐｓｅ１５は、このフォーマット変換後の合成結果を、デバッグ用画面（図７中の９３ａ〜９３ｃ参照））に出力するように制御する。なお、上記のプリミティブ・コマンドの実行結果の合成には、複数のプリミティブ・コマンドの実行結果を、これらのプリミティブ・コマンドの元になったデバッグ用コマンド毎に合成する方法を採用することが好ましい。また、本実施形態のリモート操作システム１は、ＰＣ３側のＷｉ＿Ｆｉ  ＴＣＰ／ＩＰモジュール６３と、ＪＴＡＧチップ５１側のＷｉ＿Ｆｉ  ＴＣＰ／ＩＰモジュール６６とを有しており、ＴＣＰ／ＩＰのプロトコルを用いて、Ｗｉ＿Ｆｉ無線通信を行っているため、信頼性の高いデバッグを行うことが可能である。
【００４６】
デバッグ時におけるＣＰＵ２１（ターゲット・ボード）のＳＲＡＭへの（プログラムの）ダウンロード（ダウンライン）や、デバッグ終了後における、ターゲット機器２側のフラッシュメモリへのプログラムの書き込みも、ＧＤＢ５７とＧＤＢ  ＳＴＵＢ５５により、ＣＰＵ２１上のＪＴＡＧの機能を用いて行われる。なお、上記図４中におけるメモリ２４は、上記のＳＲＡＭに相当する。
【００４７】
上記のターゲット機器２のＣＰＵ２１のＣＰＵコア２３の動作記述プログラムのデバッグ処理の方法自体は、従来の有線でターゲット機器の論理集積回路に接続するリモート操作システムにおけるＣＰＵコアの動作記述プログラムのデバッグ処理の方法と大きく変わらない。けれども、従来の有線を用いたリモート操作システムでは、ＰＣ３側に格納されていたＧＤＢ  ＳＴＵＢ５５やＪＴＡＧ  Ｉ／Ｆ５６が、ＪＴＡＧチップ５１側に格納されている点が、大きく異なる。また、図５及び図６に示されるように、本リモート操作システム１では、ＰＣ３側のＷｉ＿Ｆｉ  ＴＣＰ／ＩＰモジュール６３と、ＪＴＡＧチップ５１側のＷｉ＿Ｆｉ  ＴＣＰ／ＩＰモジュール６６との間の一般情報の転送機能を有している。つまり、このリモート操作システム１は、上記のＣＰＵコア２３の動作記述プログラムのデバッグ機能と、Ｗｉ＿Ｆｉ（の規格に準拠した）無線通信による一般情報転送機能の両方を提供している。
【００４８】
次に、本実施形態のリモート操作システム１におけるターゲット機器２上のＣＰＵコア２３の動作記述プログラムのデバッグ処理方法を採用した場合の利点について説明する。この利点としては、以下の点が挙げられる。
【００４９】
（１）Ｗｉ＿Ｆｉ無線通信機能を有効に活用したことにより、デバッグ時におけるケーブル配線の煩雑さから解放される。特に、ターゲット機器２に組み込まれた状態のＣＰＵ２１（論理集積回路）のＣＰＵコア２３の動作記述プログラムのデバッグを行うときに、ターゲット機器２が天井や床下に配設されている場合や、ターゲット機器２が移動可能な機器又は運動を伴う機器である場合でも、デバッグ時にケーブル配線が絡むことがないので、ＰＣ３から容易にデバッグ処理を行うことができる。
【００５０】
（２）図７に示されるように、ＣＰＵボード（請求項における「ターゲット・ボード」）の数が複数（すなわち、ＣＰＵコアの動作記述プログラムの数が複数）の場合でも、ＪＴＡＧチップ５１ａ〜５１ｃを各ＣＰＵボード９１ａ〜９１ｃに接続することにより、これらのＣＰＵボード９１ａ〜９１ｃが有する複数のＣＰＵコア２３ａ〜２３ｃの動作記述プログラムを、同時にデバッグすることが可能になる。なお、ＣＰＵボード９１ａ〜９１ｃは、図４中のＣＰＵ２１に相当する。
【００５１】
ここで、上記の複数の（ＣＰＵボード９１ａ〜９１ｃの）ＣＰＵコア２３ａ〜２３ｃの動作記述プログラムの同時デバッグ処理について、上記図７を参照して説明する。図７におけるＣＰＵボード９１ａ〜９１ｃ（ターゲット・ボード）は、図４中のターゲット機器２のＣＰＵ２１に相当する。これらのＣＰＵボード９１ａ〜９１ｃの各々には、それぞれＪＴＡＧチップ５１ａ〜５１ｃが接続されている。ＣＰＵボード９１ａ〜９１ｃは、ＪＴＡＧチップ５１ａ〜５１ｃが有するＷｉ＿Ｆｉ無線通信機能を使用し、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）アクセスポイント機能を有するルータ９２を介して、ＰＣ３と無線通信を行うことが可能である。なお、図では、ＰＣ３とＣＰＵボード９１ａ〜９１ｃ（ＪＴＡＧチップ５１ａ〜５１ｃ）との間を、ルータ９２を介して、無線接続する場合の例を示したが、ＰＣ３とＣＰＵボード９１ａ〜９１ｃとの間を、ルータ機能を有さない通常の無線ＬＡＮアクセスポイントを介して、無線接続してもよい。ルータ機能を有さない無線ＬＡＮアクセスポイントを用いて、ＰＣ３とＣＰＵボード９１ａ〜９１ｃとの間を無線接続した場合にも、ＴＣＰ／ＩＰのプロトコルを用いて、Ｗｉ＿Ｆｉ無線通信を行うことができるため、信頼性の高いデバッグを行うことが可能である。
【００５２】
上記構成においては、ＰＣ３側のＥｃｌｉｐｓｅ１５（及びその配下のＧＤＢ５７）から見ると、ルータ９２を介して、複数のＣＰＵボード９１ａ〜９１ｃ（ターゲット・ボード）が並列に接続されているのと同じことになる。ＰＣ３側のＥｃｌｉｐｓｅ１５（及びその配下のＧＤＢ５７）は、図７に示されるように、マルチウィンドウ機能を用いて、各ＣＰＵボード９１ａ〜９１ｃの各々におけるＣＰＵコア２３ａ〜２３ｃの動作記述プログラムのデバッグ用画面９３ａ〜９３ｃを、各ＣＰＵボード９１ａ〜９１ｃごとに（すなわち各ＣＰＵボード９１ａ〜９１ｃに接続されたＪＴＡＧチップ５１ａ〜５１ｃの（Ｗｉ＿Ｆｉインタフェース４２の）ＩＰアドレスごとに）別々に生成して、（ディスプレイ１８上に）表示する。ＣＰＵコア２３ａ〜２３ｃ内の（レジスタやメモリ内のデータ等の）刻々と変化する内容は、Ｅｃｌｉｐｓｅ１５が管理する（マルチ画面である）デバッグ用画面９３ａ〜９３ｃ上に表示される。つまり、Ｅｃｌｉｐｓｅ１５（及びその配下のＧＤＢ５７）は、各ＣＰＵボード９１ａ〜９１ｃの各々におけるＣＰＵコア２３ａ〜２３ｃの動作記述プログラムのデバッグを、ＩＰアドレスごとに制御している。また、Ｅｃｌｉｐｓｅ１５（及びその配下のＧＤＢ５７）は、ブロードキャスト・コマンドを用いることにより、各ＣＰＵボード９１ａ〜９１ｃへの同報通知を行うことができる。これらの機能は、複雑化する複数のＣＰＵボード（ターゲット・ボード）間のイベント通知処理や、複数のＣＰＵボード間の協調制御処理（各ＣＰＵボードのＣＰＵコア２３ａ〜２３ｃ間の処理のタイミング制御）等についての、複数のＣＰＵコア２３ａ〜２３ｃの動作記述プログラムの同時デバッグ処理に大きく貢献する。
【００５３】
上記のＣＰＵコア２３の動作記述プログラムのデバッグ処理方法を採用した場合における上記（１）（２）以外の利点は、下記のとおりである。
（３）Ｅｃｌｉｐｓｅ１５は、プロジェクトのスケルトン（ひな形）を有しており、ユーザは、プロジェクト生成時に、このプロジェクトのスケルトンを呼び出して使用することができる。なお、Ｅｃｌｉｐｓｅ１５は、ＣＰＵ２１の種類とオペレーティング・システムに応じたスケルトンの生成を行う。
【００５４】
（４）本リモート操作システム１は、上記のＣＰＵコア２３の動作記述プログラムのデバッグ機能と、Ｗｉ＿Ｆｉ無線通信による一般情報転送機能との切換機能を有している。一般に、ＰＣは、Ｗｉ＿Ｆｉ無線通信用のチェンネルを、一台につき１チャンネルしか使用することができないことが多い。従って、ＪＴＡＧチップ５１を（Ｗｉ＿Ｆｉ無線通信を）、上記のＣＰＵコア２３のデバッグ機能が専有してしまうと、ＣＰＵボード９１ａ〜９１ｃ側では、Ｗｉ＿Ｆｉ無線通信による一般情報転送機能を使用することができなくなってしまう。そこで、本リモート操作システム１では、図５及び図６に示されるように、ＰＣ３側とＪＴＡＧチップ５１側に、それぞれマルチプレクサ（ＭＰＸ）６４、６７を設けると共に、Ｅｃｌｉｐｓｅ１５が、上記のＣＰＵコア２３のデバッグ機能と一般情報転送機能との切換コマンドを備えることにより、上記のＣＰＵコア２３のデバッグ機能と一般情報転送機能との切換機能を提供する。これにより、ユーザが、これらの機能の両方を使用することができる。
【００５５】
（５）本リモート操作システム１は、各ＣＰＵに組み込まれたＪＴＡＧ機能を買い替えないで（そのまま用いて）、上記のＣＰＵコア２３の動作記述プログラムのデバッグ機能を用いることができるようにしている。より具体的に言うと、各ＣＰＵ２１は、その種類ごとに、アーキテクチャ（ＣＰＵコア２３の命令体系、ＩＯパッド（の機能）、ＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−Ｃｈｉｐ）の機能等）が、異なるが、本リモート操作システム１では、上記のアーキテクチャの相違部分の大半を、ＧＤＢ５７（のプリミティブ・コマンド分解機能）により吸収している。また、ＧＤＢ５７の機能の追加変更等があった場合には、ＧＤＢ  ＳＴＵＢ５５も合せて変更する必要があることが多いが、ＧＤＢ  ＳＴＵＢ５５の変更があった場合も、Ｗｉ＿Ｆｉ無線通信機能を用いて、ＰＣ３側から、ＪＴＡＧチップ５１側に変更後のＧＤＢ  ＳＴＵＢ５５をダウンロード（ダウンライン）して、このＧＤＢ  ＳＴＵＢ５５を、ＪＴＡＧチップ５１内のＣＰＵ５３のフラッシュメモリに書き込む（焼き付ける）ことができるようにしている。
【００５６】
次に、図８を参照して、上記ＪＴＡＧチップ５１のハードウェアの構成例について説明する。ＪＴＡＧチップ５１は、主に、Ｗｉ＿Ｆｉインタフェース４２とＣＰＵ５３とから構成されている。図に示されるように、Ｗｉ＿Ｆｉインタフェース４２は、上記のＷｉ＿Ｆｉ  ＴＣＰ／ＩＰモジュール６６をメモリに格納したＣＰＵ７１と、無線ＬＡＮ子機に相当するハードウェアであるＷｉ＿Ｆｉモジュール７３と、パッチアンテナ７２から構成されている。ＣＰＵ７１及びＣＰＵ５３は、ＡＲＭ社のＲＩＳＣプロセッサ等のＣＰＵである。ＣＰＵ７１は、Ｗｉ＿Ｆｉ通信制御専用のＣＰＵであり、そのＣＰＵコア内に送受信バッファを有し、ＣＰＵ５３に割り込みで、送受信完了等のイベントの通知を行っている。ＣＰＵ５３は、そのフラッシュメモリに、上記のＧＤＢ  ＳＴＵＢ５５とＪＴＡＧ  Ｉ／Ｆ５６とを格納している。ＪＴＡＧ  Ｉ／Ｆ５６は、ＧＤＢ  ＳＴＵＢ５５とターゲット機器２のＣＰＵ２１との間のＪＴＡＧインタフェース機能を提供している。ＣＰＵ５３は、外部入出力用の拡張ピンＧＩＯをサポートしている。また、ＰＣ３等のネットワーク上の機器からターゲット機器２への一般情報転送は、ＵＡＲＴの通信方式を用いてＲＳ２３２Ｃコネクタ７６を介して行う。ＪＴＡＧチップ５１側のコネクタ７４は、ＪＴＡＧコネクタ７５とＲＳ２３２Ｃコネクタ７６とから構成される。このコネクタ７４は、図４中のターゲット機器２側のコネクタ４６と接続される。また、上述したように、ＧＤＢ  ＳＴＵＢ５５の機能に変更が生じた場合、ユーザがＰＣ３上のＥｃｌｉｐｓｅ１５の操作画面から指示をすることにより、ＧＤＢ  ＳＴＵＢ５５の書き換えを行うことが可能である。
【００５７】
なお、上記実施形態では、詳細に記載しなかったが、第３の実施形態のリモート操作システム１は、請求項１乃至５に記載のリモート操作システムとしても機能する。
【００５８】
第３の実施形態のリモート操作システム１によれば、ＣＰＵボード９１ａ〜９１ｃ（ＣＰＵ２１）自体がＰＣ３と無線通信する機能を有しておらず、しかも、ＣＰＵボード９１ａ〜９１ｃ自体が、ＧＤＢ  ＳＴＵＢ５５に相当するスタブ・プログラムを格納していない場合でも、ＪＴＡＧチップ５１ａ〜５１ｃをＣＰＵボード９１ａ〜９１ｃに接続することにより、ＰＣ３から無線で、ＣＰＵボード９１ａ〜９１ｃのＣＰＵコア２３ａ〜２３ｃの動作記述プログラムのデバッグを行うことができる。また、このリモート操作システム１によれば、図７に示されるように、ＣＰＵボードの数が複数（すなわち、ＣＰＵコアの動作記述プログラムの数が複数）の場合でも、上記のＪＴＡＧチップ５１ａ〜５１ｃを各ＣＰＵボード９１ａ〜９１ｃに接続することにより、これらのＣＰＵボード９１ａ〜９１ｃが有する複数のＣＰＵコア２３ａ〜２３ｃの動作記述プログラムを、同時にデバッグすることが可能になる。
【００５９】
なお、本発明は、上記実施形態の構成に限られず、発明の趣旨を変更しない範囲で種々の変形が可能である。例えば、上記第２の実施形態では、ターゲット機器２に、Ｗｉ＿Ｆｉインタフェース４２と、機器側ＧＤＢ４４及び機器側ＳＴＵＢ４５をメモリに格納したＣＰＵ４３とを、外付けにした場合の例を示したが、ターゲット機器に、Ｗｉ＿Ｆｉインタフェースのみを外付けにしてもよい。また、上記図７に示される例では、ＰＣ３とＣＰＵボード９１ａ〜９１ｃとの間を、無線ＬＡＮアクセスポイントとしてのルータ９２のみを介して、無線接続する場合の例を示したが、ＰＣと複数のＣＰＵボードとの間を、ルータとインターネットとを介して無線接続してもよい。
【符号の説明】
【００６０】
１    リモート操作システム
２（２ａ、２ｂ、２ｃ）  ターゲット機器
３    ＰＣ（情報機器）
４    インターネット
９    サーバ（インターネット上の情報端末）
１１  ＣＰＵ（ハードウェアリモート検査手段、ソフトウェアリモートデバッグ手段）
１６  ＰＣ側ＧＤＢ
１７  ＰＣ側ＳＴＵＢ
１８  ディスプレイ（表示手段）
１９  入力装置（指示入力手段）
２１  ＣＰＵ（論理集積回路、第１の論理集積回路、ターゲット・ボード）
２３、２３ａ、２３ｂ、２３ｃ  ＣＰＵコア（ハードウェアリモート検査手段、ソフトウェアリモートデバッグ手段）
２５  ＴＡＰコントローラ（ハードウェアリモート検査手段）
２８  機器側ＧＤＢ（ハードウェアリモート検査手段、ソフトウェアリモートデバッグ手段）
２９  機器側ＳＴＵＢ（ハードウェアリモート検査手段、ソフトウェアリモートデバッグ手段）
３０  スキャンパス（ハードウェアリモート検査手段）
４１  ＪＴＡＧチップ（無線通信ユニット）
４２  Ｗｉ＿Ｆｉインタフェース（無線通信インタフェース、第２の無線通信手段）
４３  ＣＰＵ（第２の論理集積回路）
４４  機器側ＧＤＢ（ターゲット機器側デバッガ）
４５  機器側ＳＴＵＢ（インタフェース制御用のプログラム）
５１、５１ａ、５１ｂ、５１ｃ  ＪＴＡＧチップ（無線通信ユニット）
５３  ＣＰＵ（第２の論理集積回路）
５４  Ｗｉ＿Ｆｉインタフェース（第１の無線通信手段）
５５  ＧＤＢ  ＳＴＵＢ（スタブ・プログラム）
５７  ＧＤＢ（デバッガ）
９１ａ〜９１ｃ  ＣＰＵボード（ターゲット・ボード）
９３ａ〜９３ｃ  デバッグ用画面
【図１】
2014099167.tif 000003
【図２】
2014099167.tif 000004
【図３】
2014099167.tif 000005
【図４】
2014099167.tif 000006
【図５】
2014099167.tif 000007
【図６】
2014099167.tif 000008
【図７】
2014099167.tif 000009
【図８】
2014099167.tif 000010