JP6278300B2 - リモート操作システム、無線通信ユニット、及びリモートデバッグシステム - Google Patents

リモート操作システム、無線通信ユニット、及びリモートデバッグシステム Download PDF

Info

Publication number
JP6278300B2
JP6278300B2 JP2013218634A JP2013218634A JP6278300B2 JP 6278300 B2 JP6278300 B2 JP 6278300B2 JP 2013218634 A JP2013218634 A JP 2013218634A JP 2013218634 A JP2013218634 A JP 2013218634A JP 6278300 B2 JP6278300 B2 JP 6278300B2
Authority
JP
Japan
Prior art keywords
wireless communication
cpu
integrated circuit
debugging
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013218634A
Other languages
English (en)
Other versions
JP2014099167A (ja
Inventor
建二 茂木
建二 茂木
俊充 中尾
俊充 中尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LOARANT CORPORATION
Original Assignee
LOARANT CORPORATION
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LOARANT CORPORATION filed Critical LOARANT CORPORATION
Priority to JP2013218634A priority Critical patent/JP6278300B2/ja
Publication of JP2014099167A publication Critical patent/JP2014099167A/ja
Application granted granted Critical
Publication of JP6278300B2 publication Critical patent/JP6278300B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、パソコン等の情報機器から、CPU等の論理集積回路が組み込まれたターゲット機器のリモート操作を行うことが可能なリモート操作システム、及びパソコン等の情報機器からターゲット・ボードのCPUコアの動作記述プログラムのデバッグを行うことが可能なリモートデバッグシステムに関する。
従来より、パソコン等の情報機器から、CPU等の論理集積回路が組み込まれたターゲット機器のリモート操作を行うことが可能なリモート操作システムが知られている。例えば、パソコンから、FPGAやCPU等の論理集積回路が組み込まれたターゲット機器に対して、JTAG(Joint European Test Action Group)の規格に応じたバウンダリスキャンテストや、CPUコアの動作記述プログラムのデバッグや、論理集積回路へのプログラムやデータの書き込みを、有線で(JTAGの規格に応じたシリアル通信用の通信ケーブルを介して)リモート操作により行うようにしたものが知られている(例えば、特許文献1参照)。
特開2001−249826号公報
けれども、上記のような従来の有線で論理集積回路に接続するリモート操作システムでは、論理集積回路が組み込まれたターゲット機器が冷蔵庫や自動車である場合には、冷蔵庫や自動車を分解して論理集積回路を取り出す手間が非常に大きいので、実質的に論理集積回路のメンテナンスを行うことができなかった。具体的には、ターゲット機器に組み込まれた論理集積回路に対するバウンダリスキャンテストや、この論理集積回路のCPUコアの動作記述プログラムのデバッグや、論理集積回路への新しい(バグ修正後の)プログラムのダウンロードを行うことが困難であった。また、論理集積回路が組み込まれたターゲット機器が天井や床下に配設されている場合にも、論理集積回路のメンテナンスを行うことが極めて困難であった。さらにまた、論理集積回路が組み込まれたターゲット機器が、自律走行可能な掃除機等の移動可能な機器や、ロボット等の運動を伴う機器である場合には、ターゲット機器が移動又は運動するに連れて、通信ケーブルが色んな所に絡まってしまうので、上記のような通信ケーブルを介してリモート操作で、バウンダリスキャンテスト等を行うことができない。従って、ターゲット機器が、掃除機等の移動可能な機器や、ロボット等の運動を伴う機器である場合にも、ターゲット機器に組み込まれた状態の論理集積回路に対して、開発時における回路検査(ハードウェアの検査)やCPUコアの動作記述プログラムのデバッグ、及びメンテナンスを行うことが極めて困難であった。
また、上記の問題に加えて、上記のような有線(通信ケーブル)を用いて、バウンダリスキャンテストや論理集積回路へのプログラムやデータの書き込み等を行う方式のリモート操作システムでは、例えば、大阪に設置されたパソコンから東京に設置されたターゲット機器に対するリモート操作(開発時における回路検査やCPUコアの動作記述プログラムのデバッグ、及び新しいバージョンのプログラムのダウンロードを含むメンテナンス等)を行うことができないという問題があった。
さらにまた、上記のような従来の有線で論理集積回路に接続するリモート操作システムでは、複数の論理集積回路間の協調制御処理や、複数の論理集積回路間のイベント通知処理等の、複数の論理集積回路が関与する処理について、これら複数の論理集積回路のCPUコアの動作記述プログラムを同時にデバッグすることができないという問題があった。
本発明は、上記課題を解決するものであり、ターゲット機器に組み込まれた状態の論理集積回路に対して、容易にリモート操作をすることが可能で、しかも、パソコン等の情報機器とターゲット機器との設置場所が遠く離れている場合でも、ターゲット機器に対して容易にリモート操作をすることが可能なリモート操作システム及び無線通信ユニットを提供することを目的とする。また、複数の論理集積回路のCPUコアの動作記述プログラムを同時にデバッグすることが可能なリモート操作システム及び無線通信ユニットを提供することを目的とする。
上記課題を解決するために、本発明の第1の態様のリモートデバッグシステムは、第1の論理集積回路を有するターゲット・ボードに接続された無線通信ユニットと、前記無線通信ユニットと無線通信可能な情報機器とを備え、前記情報機器は、デバッグ操作の指示入力を行うための指示入力手段と、前記指示入力手段により指示入力されたデバッグ操作に応じた1つのデバッグ用コマンドを、前記第1の論理集積回路が有するJTAG機能の動作レベルのコマンドであるプリミティブ・コマンドに細分化して出力するデバッガと、前記デバッガから出力されたプリミティブ・コマンドの前記無線通信ユニット側への送信、及び前記無線通信ユニット側からの前記プリミティブ・コマンドの実行結果の受信を行う第1の無線通信手段とを備え、前記無線通信ユニットは、前記情報機器から前記第1の無線通信手段を用いて送信された前記プリミティブ・コマンドの受信、及び前記ターゲット・ボードから出力された、前記プリミティブ・コマンドの実行結果の前記情報機器への送信を行う第2の無線通信手段と、前記情報機器から前記第2の無線通信手段により受信した前記プリミティブ・コマンドを、前記第1の論理集積回路が有するJTAG機能を用いて実行するように制御するスタブ・プログラムを格納した第2の論理集積回路とを備え、前記情報機器から無線通信で前記ターゲット・ボードの第1の論理集積回路のCPUコアの動作記述プログラムのデバッグを行う。
このリモートデバッグシステムにおいて、前記デバッガは、前記1つのデバッグ用コマンドに対応する複数の前記プリミティブ・コマンドの実行結果を合成して作成した合成結果を出力し、前記情報機器は、前記デバッガによるデバッグ用の画面を表示するための表示手段と、前記デバッガから出力された前記合成結果を前記デバッグ用の画面に表示するように制御する表示制御手段とをさらに備えることが好ましい。
このリモートデバッグシステムにおいて、前記ターゲット・ボードの数は複数であり、これら複数のターゲット・ボードの各々には、それぞれ前記無線通信ユニットが接続されており、前記表示手段は、前記複数のターゲット・ボードの各々における第1の論理集積回路のCPUコアの動作記述プログラムのデバッグ用の画面を、各ターゲット・ボードごとに別々に表示することが好ましい。
また、本発明の第2の態様のリモートデバッグシステムは、第1の論理集積回路を有するターゲット機器に接続された無線通信ユニットと、前記無線通信ユニットとインターネットを介して通信可能な情報機器とを備え、前記情報機器は、デバッグ操作の指示入力を行うための指示入力手段と、前記指示入力手段により指示入力されたデバッグ操作に応じたコマンドを出力する情報機器側デバッガとを備え、前記無線通信ユニットは、前記情報機器と通信するための送受信用の回路である無線通信インタフェースと、各種の処理プログラムを格納した第2の論理集積回路とを備え、前記第2の論理集積回路に格納されるプログラムには、前記情報機器側デバッガから送信されたコマンドを、前記ターゲット機器側に応じたレベルのコマンドに細分化するターゲット機器側デバッガと、前記第1の論理集積回路のアーキテクチャに応じて、前記情報機器と前記第1の論理集積回路との間のデータのフォーマット変換処理を含む各種の処理を行うインタフェース制御用のプログラムであるスタブ・プログラムとが含まれ、前記情報機器からインターネットを介した通信で、前記ターゲット機器の前記第1の論理集積回路のCPUコアの動作記述プログラムのデバッグを行う。
本発明の第1の態様のリモートデバッグシステムによれば、ターゲット・ボード自体が情報機器と無線通信する機能を有しておらず、しかも、ターゲット・ボード自体が、上記のスタブ・プログラムを格納していない場合でも、無線通信ユニットをターゲット・ボードに接続することにより、情報機器から無線で、ターゲット・ボードの第1の論理集積回路のCPUコアの動作記述プログラムのデバッグを行うことができる。また、このリモートデバッグシステムによれば、ターゲット・ボードの数が複数(すなわち、CPUコアの動作記述プログラムの数が複数)の場合でも、上記の無線通信ユニットを各ターゲット・ボードに接続することにより、これらのターゲット・ボードが有する複数のCPUコアの動作記述プログラムを、同時にデバッグすることが可能になる。
本発明の第2の態様のリモートデバッグシステムによれば、ターゲット機器自体がインターネット上の情報機器と通信する機能を有しておらず、しかも、ターゲット機器自体が、情報機器側のデバッガから送信されたコマンドをターゲット機器側に応じたレベルのコマンドに細分化するターゲット機器側デバッガや、上記のインタフェース制御用のプログラムであるスタブ・プログラムを格納していない場合でも、この無線通信ユニットをターゲット機器に接続することにより、情報機器からインターネットを介した通信で、ターゲット機器の第1の論理集積回路のCPUコアの動作記述プログラムのデバッグを行うことができる。また、このリモートデバッグシステムによれば、第1の論理集積回路のCPUコアの動作記述プログラムのデバッグ時に、ターゲット機器側デバッガ及びスタブ・プログラムが、OS等の本来の第1の論理集積回路側のプログラムと(タイマ等の)資源の競合を起こすことがないので、OSを含む第1の論理集積回路側のあらゆる種類のプログラムのデバッグを、第1の論理集積回路側の各種プログラムの実行の遅延を招くことなく、行うことができる。
本発明の第1の実施形態に係るリモート操作システムの概略のシステム構成図。 同リモート操作システムにおけるPCとターゲット機器との概略の電気的ブロック構成図。 本発明の第2の実施形態のリモート操作システムにおけるPCとターゲット機器との概略の電気的ブロック構成図。 本発明の第3の実施形態のリモート操作システムにおけるPCとターゲット機器との概略の電気的ブロック構成図。 同リモート操作システムにおけるPC側のソフトウェアのブロック構成図。 同リモート操作システムにおけるJTAGチップ側のブロック構成図。 同リモート操作システムにおける複数のCPUボードのCPUコアの動作記述プログラムの同時デバッグ処理の説明図。 同リモート操作システムにおけるJTAGチップのハードウェア構成図。
以下、本発明を具体化した実施形態によるリモート操作システム及び無線通信ユニットについて、図面を参照して説明する。図1は、本発明の第1の実施形態によるリモート操作システム1の概略のシステム構成を示す。このリモート操作システム1は、ARM(Advanced RISC Machines)社のRISCプロセッサ等のCPU(請求項における論理集積回路)が組み込まれたターゲット機器2a、2b、2cと、これらのターゲット機器2a、2b、2cとインターネット4を介して通信可能なPC(Personal Computer)3(請求項における情報機器)とを備えている。PC3は、ルータ5を介してインターネット4と接続されている。また、ターゲット機器2a、2b、2cは、いずれもWi_Fi(IEEE 802.11)の規格に準拠した無線通信機能を有しており、インターネット4に無線通信で接続可能である。ターゲット機器2aは、ルータ6を介してインターネット4に接続可能であり、ターゲット機器2b、2cは、いずれもルータ7とハブ8とを介して、インターネット4に接続可能である。
リモート操作システム1では、PC3からインターネット4を介してターゲット機器2a、2b、2cのリモート操作を行うことができる。このリモート操作には、(1)JTAG(Joint European Test Action Group)の規格に応じたバウンダリスキャンテスト等のターゲット機器2(ターゲット機器2a、2b、2cの総称)のCPUのハードウェア(回路)の検査や、(2)ターゲット機器2のCPU内のCPUコアの動作記述プログラムのデバッグや、(3)PC3からターゲット機器2のCPUへのプログラムの書き込みや、(4)障害時に、PC3からターゲット機器2のCPUのメモリダンプや各種の障害関連情報を取得する処理や、(5)ターゲット機器2のCPUが記憶しているユーザ情報等のログ情報を、クラウド上のサーバ9(請求項における「インターネット上の情報端末」)に送信して格納させる処理が含まれる。上記のクラウド上のサーバ9にアップロードされる情報には、ターゲット機器2が、電力メータ、ガスメータ、水道メータ等の計量器である場合における、使用電力量、使用ガス量、使用水道量等の情報が含まれる。なお、ターゲット機器2は、PC3からリモート操作されていないときには、インターネット4に無線通信で接続可能な単なるWi_Fi端末(クラウド端末)として利用される。
図2は、第1の実施形態のリモート操作システム1におけるPC3とターゲット機器2との概略の構成を示す。PC3は、自装置全体の制御や演算処理を行うCPU11と、各種のプログラムやデータを格納したハードディスク12と、各種のプログラムの実行時に、実行するプログラムやデータをロードするメモリ13と、LAN等のネットワークへの接続用の通信インタフェース14と、ディスプレイ18(表示手段)と、キーボードやマウス等の入力装置19(指示入力手段)を備えている。上記のハードディスク12には、オープンソースの統合開発環境であるEclipse15と、GNU環境下で動くデバッガであるGDBにおけるPC側に格納する部分のプログラム(以下、PC側GDBという)16と、ターゲット機器2のCPUのアーキテクチャに関する情報を有し、そのアーキテクチャに応じて、PC3とターゲット機器2のCPU21との間のインタフェース制御を行うプログラム(STUB)のPC側に格納する部分のプログラム(以下、PC側STUBという)17が格納されている。PC側STUB17が行う処理には、PC3とターゲット機器2のCPU21との間のデータのフォーマット変換処理が含まれる。また、Eclipse15は、ターゲット機器2のCPU21のCPUコア23にダウンロードするプログラムのCコンパイラ、ライブラリ管理用ツール、開発用のユーザ・インタフェース、リンカ等、GNU環境下における各種開発ツールを全て含んでいる。
また、ターゲット機器2は、ARM社のRISCプロセッサ等の組み込み型の論理集積回路であるCPU21と、Wi_Fi(IEEE 802.11)の規格に準拠した無線通信を行うための送受信用の回路であるWi_Fiインタフェース22とを備えている。Wi_Fiインタフェース22は、Wi_Fi通信制御用のTCP/IPのプロトコルスタック(図6中のWi_Fi TCP/IPモジュール66に相当)を内蔵している。また、CPU21は、CPUコア23と、各種のプログラムやデータを格納するメモリ24と、TAPコントローラ25とを備えている。CPUコア23は、各種のレジスタREG1〜REG4やタイマ26等を有している。メモリ24には、デバッグ対象となるプログラム(以下、デバッグ対象プログラムという)27と、GNU環境下で動くデバッガであるGDBにおけるターゲット機器2側に格納する部分のプログラム(以下、機器側GDBという)28と、上記のSTUBにおけるターゲット機器2側に格納する部分のプログラム(以下、機器側STUBという)29が格納されている。CPU21内には、バウンダリスキャンテスト等の回路検査(ハードウェア検査)用のTAPのパターンであるスキャンパス30が設けられている。TAPコントローラ25は、PC3からインターネット4とWi_Fiインタフェース22とを介して入力されたコマンドに基づいて機器側GDB28と機器側STUB29とが生成した制御信号に応じて、CPU21内の各種の回路に対するデータの入出力を行う。
上記の構成のリモート操作システム1によれば、PC3からインターネット4を介してターゲット機器2のCPU21のハードウェアの検査(上記の(1)の処理)を行うことができる。本実施形態では、主に、PC3側における、CPU11、(メモリ13にロードされた後の)PC側GDB16とPC側STUB17、及びターゲット機器2側における、CPUコア23、TAPコントローラ25、機器側GDB28、機器側STUB29、スキャンパス30が、請求項におけるハードウェアリモート検査手段に相当する。
また、リモート操作システム1によれば、PC3からインターネット4を介してターゲット機器2のCPU21のデバッグ対象プログラム27(CPUコア23の動作記述プログラム)のデバッグ(上記の(2)の処理)を行うことができる。本実施形態では、主に、PC3側における、CPU11、(メモリ13にロードされた後の)PC側GDB16とPC側STUB17、及びターゲット機器2側における、CPUコア23、機器側GDB28、機器側STUB29が、請求項におけるソフトウェアリモートデバッグ手段に相当する。
また、リモート操作システム1によれば、上記の(3)の処理(PC3からターゲット機器2のCPU21へのプログラムの書き込み(ダウンロード))、上記の(4)の処理(障害時に、PC3からターゲット機器2のCPU21のメモリダンプや各種の障害関連情報を取得する処理)、及び(5)の処理(ターゲット機器2のCPU21が記憶しているユーザ情報等のログ情報を、クラウド上のサーバ9に送信して格納させる処理)を行うことができる。本実施形態では、主に、PC3側における、CPU11、(メモリ13にロードされた後の)PC側GDB16とPC側STUB17、及びターゲット機器2側における、CPUコア23、機器側GDB28、機器側STUB29が、上記の(3)〜(5)の処理を行う。
本実施形態のリモート操作システム1では、ターゲット機器2自体が、Wi_Fiの規格に準拠した無線通信を行うための送受信用の回路であるWi_Fiインタフェース22を備えているため、従来のJTAGの規格に対応した回路検査(バウンダリスキャンテスト等)を行うことが可能なターゲット機器2側のCPU21のメモリ24に、機器側GDB28と機器側STUB29を格納するだけで、上記の(1)〜(5)の処理を行うことができる。
上記のように、本リモート操作システム1によれば、CPU21が組み込まれたターゲット機器2が、インターネット4に無線通信で接続できるようにし、しかも、PC3が、ターゲット機器2とインターネット4を介して通信できるようにした。これにより、ターゲット機器2に組み込まれた状態のCPU21に対しても、ターゲット機器2を分解してCPU21を取り出すことなく、PC3から容易に上記の(1)〜(5)等のリモート操作(メンテナンスやデバッグ)をすることができる。また、上記のように、通信ケーブルを用いずに、ターゲット機器2を無線通信でインターネット4に接続できるようにしたことにより、ターゲット機器2が天井や床下に配設されている場合や、ターゲット機器2が掃除機等の移動可能な機器又は運動を伴う機器である場合でも、ターゲット機器2に組み込まれた状態のCPU21に対して、PC3から容易に上記の(1)〜(5)等のリモート操作をすることができる。さらにまた、PC3とターゲット機器2との設置場所が遠く離れている場合でも、ターゲット機器2に対して、容易に上記の(1)〜(5)等のリモート操作をすることができる。
次に、図3を参照して、本発明の第2の実施形態のリモート操作システム1について説明する。本実施形態のリモート操作システム1は、ターゲット機器2自体が、Wi_Fiの規格に準拠した無線通信を行う機能を有していない(図2中のWi_Fiインタフェース22を有していない)。このため、ARM等のCPUを用いて作成されたWi_Fiインタフェース42(請求項の無線通信インタフェース)と、機器側GDB44及び機器側STUB45をメモリに格納したCPU43(請求項の第2の論理集積回路)とを搭載したJTAGチップ41(請求項の無線通信ユニット)を設けて、このJTAGチップ41をターゲット機器2側のコネクタ46に接続することにより、第1の実施形態のリモート操作システム1と同様な機能を実現できるようにした。具体的には、インターネット4を介してPC3からターゲット機器2に対して、上記の(1)〜(5)等のリモート操作を行うことができるようにした。なお、Wi_Fiインタフェース42は、Wi_Fi通信制御用のTCP/IPのプロトコルスタックであるWi_Fi TCP/IPモジュールをメモリに格納したCPUと、無線LAN子機に相当するハードウェアであるWi_Fiモジュールと、パッチアンテナから構成されている(図8参照)。
上記のコネクタ46は、TAPコントローラ25に電気的に接続されている。JTAGチップ41は、コネクタ46に着脱可能であり、JTAGチップ41をコネクタ46に装着することにより、JTAGチップ41が、コネクタ46を介して、ターゲット機器2側のCPU21のTAPコントローラ25に電気的に接続される。第2の実施形態のリモート操作システム1は、上記の点と、ターゲット機器2のメモリ24に機器側GDB及び機器側STUBを格納せず、上記のように、機器側GDB44(請求項のターゲット機器側デバッガ)及び機器側STUB45(請求項のインタフェース制御用のプログラム)を、JTAGチップ41内のCPU43内のメモリに格納するようにした点とが、第1の実施形態のリモート操作システム1と異なる。
第2の実施形態のリモート操作システム1及びJTAGチップ41によれば、ターゲット機器2自体がインターネット4上のPC3と無線通信する機能を有しておらず、しかも、ターゲット機器2自体が、機器側GDB及び機器側STUBを格納していない場合でも、このJTAGチップ41をターゲット機器2に接続することにより、第1の実施形態のリモート操作システム1と同様な効果を得ることができる。また、第2の実施形態のリモート操作システム1によれば、第1の実施形態のリモート操作システム1と異なり、デバッグ対象プログラム27のデバッグ時に、機器側GDB44及び機器側STUB45が、OS等の本来のCPU21側のプログラムと(タイマ26等の)資源の競合を起こすことがないので、OSを含むCPU21側のあらゆる種類のプログラムのデバッグを、CPU21側の各種プログラムの実行の遅延を招くことなく、行うことができる。
次に、図4を参照して、本発明の第3の実施形態のリモート操作システム1(請求項における「リモート操作システム」及び「リモートデバッグシステム」)について説明する。このリモート操作システム1によれば、PC3から無線通信で、ターゲット機器2のCPU21のCPUコア23の動作記述プログラムのデバッグを行うことができる。なお、図4中のCPU21が、請求項7における「第1の論理集積回路」及び「ターゲット・ボード」に相当する。また、図4中のWi_Fiインタフェース42が、請求項7における「第2の無線通信手段」に相当する。本実施形態のリモート操作システム1は、PC3が無線でルータ5に接続する点と、GNU環境下で動くデバッガであるGDB57がPC3のみに格納され、GDB STUB55がJTAGチップ51内のCPU53(第2の論理集積回路)に格納される点が、上記図3に示される第2の実施形態のリモート操作システム1と異なる。GDB57が、請求項7における「デバッガ」に相当する。
本実施形態では、PC3は、第1及び第2の実施形態における有線接続用の通信インタフェース14の代わりに、Wi_Fiの規格に準拠した無線通信を行うための送受信用の回路であるWi_Fiインタフェース54(第1の無線通信手段)を有している。Wi_Fiインタフェース54は、Wi_Fi通信制御用のTCP/IPのプロトコルスタック(図5中のWi_Fi TCP/IPモジュール63)を内蔵していてもよいし、内蔵していなくてもよい。Wi_Fiインタフェース54が、Wi_Fi TCP/IPモジュール63を内蔵していない場合には、Wi_Fi TCP/IPモジュール63は、ハードディスク12に格納されて、実行時にメモリ13にロードされる必要がある。Wi_Fiインタフェース54は、GDB57から出力されたプリミティブ・コマンドのJTAGチップ51側への送信、及びJTAGチップ51側から送信された上記のプリミティブ・コマンドの実行結果の受信を行う。
第2の実施形態におけるJTAGチップ41内のCPU43(第2の論理集積回路)と異なり、本実施形態では、JTAGチップ51内のCPU53は、GDB STUB55とJTAG I/F56とを格納している。このGDB STUB55が、請求項7における「スタブ・プログラム」に相当する。
次に、図5及び図6を参照して、本実施形態のリモート操作システム1のPC3側とJTAGチップ51側で用いられているソフトウェアについて説明する。なお、上記の図2乃至図4では、Eclipse15に従属する(プラグインされた)、コンパイラ、リンカ等の、GNU環境下における各種開発ツールの全体を、Eclipse15でまとめて表したが、図5及び図6では、GNU環境下における各種開発ツールのうち、主要なツール(ソフトウェア)を、Eclipse15とは分離して記載している。
図5に示されるように、PC3側に格納されているソフトウェアは、上記のEclipse15に加えて、このEclipse15にプラグインされたGNUコンパイラ環境(を構成する各種開発ツール)61、リンカ62、GDB57、及びWi_Fi TCP/IPモジュール63を含む。GDB57は、GNU環境下で動くデバッガであり、Eclipse15が提供する操作画面上で、ユーザにより指示入力されたデバッグ操作に応じた1つのデバッグ用コマンドを、CPU21が有するJTAG機能の動作レベルのコマンドであるプリミティブ・コマンドに細分化して出力する。また、GDB57は、上記の1つのデバッグ用コマンドに対応する複数のプリミティブ・コマンドの実行結果を合成して作成した合成結果を、ユーザが目で見て分かるようにフォーマット変換して、Eclipse15に渡す(出力する)。Eclipse15は、GDB57から出力された合成結果を、ディスプレイ18(上のデバッグ用画面(図7中の93a〜93c参照))に出力するように制御する。Eclipse15とCPU11とが、請求項における表示制御手段に相当する。
また、JTAGチップ51側に格納されているソフトウェアは、図6に示されるように、Wi_Fi TCP/IPモジュール66、GDB STUB55、及びJTAG I/F56である。ここで、Wi_Fi TCP/IPモジュール66は、図5中のWi_Fi TCP/IPモジュール63と同様な、Wi_Fi通信制御用のTCP/IPのプロトコルスタックである。また、GDB STUB55は、PC3からWi_Fiインタフェース42(Wi_Fi TCP/IPモジュール66)により受信したプリミティブ・コマンドを、CPU21が有するJTAG機能を用いて実行するように制御するプログラム(請求項における「スタブ・プログラム」)である。また、JTAG I/F56は、GDB STUB55とTAPコントローラ25との間(GDB STUB55とCPU21のJTAG機能との間)(の信号の入出力)のインタフェース用のプログラムである。
次に、上記図5及び図6を参照して、本実施形態のリモート操作システム1において行われる、ターゲット機器2のCPU21のCPUコア23の動作記述プログラムのデバッグ処理について説明する。なお、以下の処理の記載において、実際には、PC3側のCPU11が、Eclipse15、GDB57、又はWi_Fi TCP/IPモジュール63のソース・コードに基づいて行う処理を、簡単に記するために、Eclipse15、GDB57、又はWi_Fi TCP/IPモジュール63が行う処理として記載する場合がある。また、同様に、JTAGチップ51内のCPU53又はCPU71(図8参照)が、Wi_Fi TCP/IPモジュール66、GDB STUB55、又はJTAG I/F56のソース・コードに基づいて行う処理を、簡単に記するために、Wi_Fi TCP/IPモジュール66、GDB STUB55、又はJTAG I/F56が行う処理として記載する場合がある。
一般に、ターゲット機器2のCPUコア23の動作記述プログラムのデバッグ処理において、GNU下のコンパイラ(GNUコンパイラ環境61)が、大きな役割を果たす。具体的に言うと、例えば、ターゲット機器2のCPUコア23の動作記述プログラムのソース・コード上にブレーク・ポイントをはる(設定する)場合、コンパイラ(GNUコンパイラ環境61)によるコンパイル結果であるオブジェクト・モジュールを、リンカ62によりリンク(関数呼び込み)して、ロード・モジュールを生成した後でないと、ソース・コード上の絶対番地が分からない。従って、特定メモリ(グローバルメモリを含む)に対するリード/ライトや、ブレーク・ポイントを用いた解析は、全てロード・モジュールを基準にして行われる。
Eclipse15が提供する操作画面上で、ユーザが、入力装置19を用いてデバッグ操作(メモリ・ダンプ、シングル・ステップ実行、又はブレーク・ポイント(設定)等)を行うと、GDB57は、このデバッグ操作に必要な絶対番地を、ロード・モジュールに基づいて求めて、このデバッグ操作に応じたデバッグ用コマンドを、CPU21が有するJTAG機能の動作レベルのコマンド(CPU21が所望の動作を実行できる形式のコマンド)であるプリミティブ・コマンドに細分化する。そして、このプリミティブ・コマンドを、Wi_Fiインタフェース54(Wi_Fi TCP/IPモジュール63)を用いて、JTAGチップ51側のGDB STUB55に引き渡す。
JTAGチップ51側のGDB STUB55は、PC3から、Wi_Fiインタフェース42(Wi_Fi TCP/IPモジュール66)により受信したプリミティブ・コマンドを、CPU21が有するJTAG機能を用いてステップ実行して、ターゲット機器2のCPU21から受信した(CPU21から出力された)上記のプリミティブ・コマンドの実行結果を、Wi_Fi TCP/IPモジュール66によりPC3側のGDB57に返す(送信する)。つまり、GDB STUB55は、CPU21のJTAG機能と1:1に対応した処理を行う。
例えば、デバッグ対象プログラム27(図4参照)であるCPUコア23の動作記述プログラムがC言語であって、デバッグ操作が、メモリ・ダンプであるとすると、GDB57は、ユーザが、入力装置19を用いて、ダンプの対象となる範囲を指定してメモリ・ダンプのデバッグ操作を行うと、GNUのコンパイラ(GNUコンパイラ環境61)によるコンパイル結果のロード・モジュールに基づいて、ダンプの対象となるメモリ24上の絶対番地のアドレスを求め、この絶対番地のアドレス空間における4バイトずつのメモリ・ダンプ用のコマンドを、Wi_Fi無線通信を介して、GDB STUB55に引き渡す。ここで、例えば、ユーザが入力装置19を用いて指示した、メモリ・ダンプの対象となる範囲が、1メガバイトであるとすると、GDB57は、4バイトずつのダンプを出力するためのメモリ・ダンプ用のコマンドを、25万回繰り返して、GDB STUB55に送る。つまり、GDB57は、ユーザが入力装置19を用いて指示したデバッグ操作に応じたデバッグ用コマンドを、CPU21が有するJTAG機能の動作レベルのコマンド(CPU21が所望の動作を実行できる形式のコマンド)であるプリミティブ・コマンドに細分化して、GDB STUB55に引き渡し、これらのプリミティブ・コマンドに対するGDB STUB55からの応答を、Wi_Fi無線通信を介して待つ。
PC3側のGDB57は、JTAGチップ51側のGDB STUB55から、細分化されたプリミティブ・コマンドの実行結果を受信すると、これらの実行結果を合成して作成した合成結果を、ユーザが目で見て分かるようにフォーマット変換して、Eclipse15に引き渡す。Eclipse15は、このフォーマット変換後の合成結果を、デバッグ用画面(図7中の93a〜93c参照))に出力するように制御する。なお、上記のプリミティブ・コマンドの実行結果の合成には、複数のプリミティブ・コマンドの実行結果を、これらのプリミティブ・コマンドの元になったデバッグ用コマンド毎に合成する方法を採用することが好ましい。また、本実施形態のリモート操作システム1は、PC3側のWi_Fi TCP/IPモジュール63と、JTAGチップ51側のWi_Fi TCP/IPモジュール66とを有しており、TCP/IPのプロトコルを用いて、Wi_Fi無線通信を行っているため、信頼性の高いデバッグを行うことが可能である。
デバッグ時におけるCPU21(ターゲット・ボード)のSRAMへの(プログラムの)ダウンロード(ダウンライン)や、デバッグ終了後における、ターゲット機器2側のフラッシュメモリへのプログラムの書き込みも、GDB57とGDB STUB55により、CPU21上のJTAGの機能を用いて行われる。なお、上記図4中におけるメモリ24は、上記のSRAMに相当する。
上記のターゲット機器2のCPU21のCPUコア23の動作記述プログラムのデバッグ処理の方法自体は、従来の有線でターゲット機器の論理集積回路に接続するリモート操作システムにおけるCPUコアの動作記述プログラムのデバッグ処理の方法と大きく変わらない。けれども、従来の有線を用いたリモート操作システムでは、PC3側に格納されていたGDB STUB55やJTAG I/F56が、JTAGチップ51側に格納されている点が、大きく異なる。また、図5及び図6に示されるように、本リモート操作システム1では、PC3側のWi_Fi TCP/IPモジュール63と、JTAGチップ51側のWi_Fi TCP/IPモジュール66との間の一般情報の転送機能を有している。つまり、このリモート操作システム1は、上記のCPUコア23の動作記述プログラムのデバッグ機能と、Wi_Fi(の規格に準拠した)無線通信による一般情報転送機能の両方を提供している。
次に、本実施形態のリモート操作システム1におけるターゲット機器2上のCPUコア23の動作記述プログラムのデバッグ処理方法を採用した場合の利点について説明する。この利点としては、以下の点が挙げられる。
(1)Wi_Fi無線通信機能を有効に活用したことにより、デバッグ時におけるケーブル配線の煩雑さから解放される。特に、ターゲット機器2に組み込まれた状態のCPU21(論理集積回路)のCPUコア23の動作記述プログラムのデバッグを行うときに、ターゲット機器2が天井や床下に配設されている場合や、ターゲット機器2が移動可能な機器又は運動を伴う機器である場合でも、デバッグ時にケーブル配線が絡むことがないので、PC3から容易にデバッグ処理を行うことができる。
(2)図7に示されるように、CPUボード(請求項における「ターゲット・ボード」)の数が複数(すなわち、CPUコアの動作記述プログラムの数が複数)の場合でも、JTAGチップ51a〜51cを各CPUボード91a〜91cに接続することにより、これらのCPUボード91a〜91cが有する複数のCPUコア23a〜23cの動作記述プログラムを、同時にデバッグすることが可能になる。なお、CPUボード91a〜91cは、図4中のCPU21に相当する。
ここで、上記の複数の(CPUボード91a〜91cの)CPUコア23a〜23cの動作記述プログラムの同時デバッグ処理について、上記図7を参照して説明する。図7におけるCPUボード91a〜91c(ターゲット・ボード)は、図4中のターゲット機器2のCPU21に相当する。これらのCPUボード91a〜91cの各々には、それぞれJTAGチップ51a〜51cが接続されている。CPUボード91a〜91cは、JTAGチップ51a〜51cが有するWi_Fi無線通信機能を使用し、無線LAN(Local Area Network)アクセスポイント機能を有するルータ92を介して、PC3と無線通信を行うことが可能である。なお、図では、PC3とCPUボード91a〜91c(JTAGチップ51a〜51c)との間を、ルータ92を介して、無線接続する場合の例を示したが、PC3とCPUボード91a〜91cとの間を、ルータ機能を有さない通常の無線LANアクセスポイントを介して、無線接続してもよい。ルータ機能を有さない無線LANアクセスポイントを用いて、PC3とCPUボード91a〜91cとの間を無線接続した場合にも、TCP/IPのプロトコルを用いて、Wi_Fi無線通信を行うことができるため、信頼性の高いデバッグを行うことが可能である。
上記構成においては、PC3側のEclipse15(及びその配下のGDB57)から見ると、ルータ92を介して、複数のCPUボード91a〜91c(ターゲット・ボード)が並列に接続されているのと同じことになる。PC3側のEclipse15(及びその配下のGDB57)は、図7に示されるように、マルチウィンドウ機能を用いて、各CPUボード91a〜91cの各々におけるCPUコア23a〜23cの動作記述プログラムのデバッグ用画面93a〜93cを、各CPUボード91a〜91cごとに(すなわち各CPUボード91a〜91cに接続されたJTAGチップ51a〜51cの(Wi_Fiインタフェース42の)IPアドレスごとに)別々に生成して、(ディスプレイ18上に)表示する。CPUコア23a〜23c内の(レジスタやメモリ内のデータ等の)刻々と変化する内容は、Eclipse15が管理する(マルチ画面である)デバッグ用画面93a〜93c上に表示される。つまり、Eclipse15(及びその配下のGDB57)は、各CPUボード91a〜91cの各々におけるCPUコア23a〜23cの動作記述プログラムのデバッグを、IPアドレスごとに制御している。また、Eclipse15(及びその配下のGDB57)は、ブロードキャスト・コマンドを用いることにより、各CPUボード91a〜91cへの同報通知を行うことができる。これらの機能は、複雑化する複数のCPUボード(ターゲット・ボード)間のイベント通知処理や、複数のCPUボード間の協調制御処理(各CPUボードのCPUコア23a〜23c間の処理のタイミング制御)等についての、複数のCPUコア23a〜23cの動作記述プログラムの同時デバッグ処理に大きく貢献する。
上記のCPUコア23の動作記述プログラムのデバッグ処理方法を採用した場合における上記(1)(2)以外の利点は、下記のとおりである。
(3)Eclipse15は、プロジェクトのスケルトン(ひな形)を有しており、ユーザは、プロジェクト生成時に、このプロジェクトのスケルトンを呼び出して使用することができる。なお、Eclipse15は、CPU21の種類とオペレーティング・システムに応じたスケルトンの生成を行う。
(4)本リモート操作システム1は、上記のCPUコア23の動作記述プログラムのデバッグ機能と、Wi_Fi無線通信による一般情報転送機能との切換機能を有している。一般に、PCは、Wi_Fi無線通信用のチェンネルを、一台につき1チャンネルしか使用することができないことが多い。従って、JTAGチップ51を(Wi_Fi無線通信を)、上記のCPUコア23のデバッグ機能が専有してしまうと、CPUボード91a〜91c側では、Wi_Fi無線通信による一般情報転送機能を使用することができなくなってしまう。そこで、本リモート操作システム1では、図5及び図6に示されるように、PC3側とJTAGチップ51側に、それぞれマルチプレクサ(MPX)64、67を設けると共に、Eclipse15が、上記のCPUコア23のデバッグ機能と一般情報転送機能との切換コマンドを備えることにより、上記のCPUコア23のデバッグ機能と一般情報転送機能との切換機能を提供する。これにより、ユーザが、これらの機能の両方を使用することができる。
(5)本リモート操作システム1は、各CPUに組み込まれたJTAG機能を買い替えないで(そのまま用いて)、上記のCPUコア23の動作記述プログラムのデバッグ機能を用いることができるようにしている。より具体的に言うと、各CPU21は、その種類ごとに、アーキテクチャ(CPUコア23の命令体系、IOパッド(の機能)、SoC(System−on−a−Chip)の機能等)が、異なるが、本リモート操作システム1では、上記のアーキテクチャの相違部分の大半を、GDB57(のプリミティブ・コマンド分解機能)により吸収している。また、GDB57の機能の追加変更等があった場合には、GDB STUB55も合せて変更する必要があることが多いが、GDB STUB55の変更があった場合も、Wi_Fi無線通信機能を用いて、PC3側から、JTAGチップ51側に変更後のGDB STUB55をダウンロード(ダウンライン)して、このGDB STUB55を、JTAGチップ51内のCPU53のフラッシュメモリに書き込む(焼き付ける)ことができるようにしている。
次に、図8を参照して、上記JTAGチップ51のハードウェアの構成例について説明する。JTAGチップ51は、主に、Wi_Fiインタフェース42とCPU53とから構成されている。図に示されるように、Wi_Fiインタフェース42は、上記のWi_Fi TCP/IPモジュール66をメモリに格納したCPU71と、無線LAN子機に相当するハードウェアであるWi_Fiモジュール73と、パッチアンテナ72から構成されている。CPU71及びCPU53は、ARM社のRISCプロセッサ等のCPUである。CPU71は、Wi_Fi通信制御専用のCPUであり、そのCPUコア内に送受信バッファを有し、CPU53に割り込みで、送受信完了等のイベントの通知を行っている。CPU53は、そのフラッシュメモリに、上記のGDB STUB55とJTAG I/F56とを格納している。JTAG I/F56は、GDB STUB55とターゲット機器2のCPU21との間のJTAGインタフェース機能を提供している。CPU53は、外部入出力用の拡張ピンGIOをサポートしている。また、PC3等のネットワーク上の機器からターゲット機器2への一般情報転送は、UARTの通信方式を用いてRS232Cコネクタ76を介して行う。JTAGチップ51側のコネクタ74は、JTAGコネクタ75とRS232Cコネクタ76とから構成される。このコネクタ74は、図4中のターゲット機器2側のコネクタ46と接続される。また、上述したように、GDB STUB55の機能に変更が生じた場合、ユーザがPC3上のEclipse15の操作画面から指示をすることにより、GDB STUB55の書き換えを行うことが可能である。
なお、上記実施形態では、詳細に記載しなかったが、第3の実施形態のリモート操作システム1は、請求項1乃至5に記載のリモート操作システムとしても機能する。
第3の実施形態のリモート操作システム1によれば、CPUボード91a〜91c(CPU21)自体がPC3と無線通信する機能を有しておらず、しかも、CPUボード91a〜91c自体が、GDB STUB55に相当するスタブ・プログラムを格納していない場合でも、JTAGチップ51a〜51cをCPUボード91a〜91cに接続することにより、PC3から無線で、CPUボード91a〜91cのCPUコア23a〜23cの動作記述プログラムのデバッグを行うことができる。また、このリモート操作システム1によれば、図7に示されるように、CPUボードの数が複数(すなわち、CPUコアの動作記述プログラムの数が複数)の場合でも、上記のJTAGチップ51a〜51cを各CPUボード91a〜91cに接続することにより、これらのCPUボード91a〜91cが有する複数のCPUコア23a〜23cの動作記述プログラムを、同時にデバッグすることが可能になる。
なお、本発明は、上記実施形態の構成に限られず、発明の趣旨を変更しない範囲で種々の変形が可能である。例えば、上記第2の実施形態では、ターゲット機器2に、Wi_Fiインタフェース42と、機器側GDB44及び機器側STUB45をメモリに格納したCPU43とを、外付けにした場合の例を示したが、ターゲット機器に、Wi_Fiインタフェースのみを外付けにしてもよい。また、上記図7に示される例では、PC3とCPUボード91a〜91cとの間を、無線LANアクセスポイントとしてのルータ92のみを介して、無線接続する場合の例を示したが、PCと複数のCPUボードとの間を、ルータとインターネットとを介して無線接続してもよい。
1 リモート操作システム
2(2a、2b、2c) ターゲット機器
3 PC(情報機器)
4 インターネット
9 サーバ(インターネット上の情報端末)
11 CPU(ハードウェアリモート検査手段、ソフトウェアリモートデバッグ手段)
16 PC側GDB
17 PC側STUB
18 ディスプレイ(表示手段)
19 入力装置(指示入力手段)
21 CPU(論理集積回路、第1の論理集積回路、ターゲット・ボード)
23、23a、23b、23c CPUコア(ハードウェアリモート検査手段、ソフトウェアリモートデバッグ手段)
25 TAPコントローラ(ハードウェアリモート検査手段)
28 機器側GDB(ハードウェアリモート検査手段、ソフトウェアリモートデバッグ手段)
29 機器側STUB(ハードウェアリモート検査手段、ソフトウェアリモートデバッグ手段)
30 スキャンパス(ハードウェアリモート検査手段)
41 JTAGチップ(無線通信ユニット)
42 Wi_Fiインタフェース(無線通信インタフェース、第2の無線通信手段)
43 CPU(第2の論理集積回路)
44 機器側GDB(ターゲット機器側デバッガ)
45 機器側STUB(インタフェース制御用のプログラム)
51、51a、51b、51c JTAGチップ(無線通信ユニット)
53 CPU(第2の論理集積回路)
54 Wi_Fiインタフェース(第1の無線通信手段)
55 GDB STUB(スタブ・プログラム)
57 GDB(デバッガ)
91a〜91c CPUボード(ターゲット・ボード)
93a〜93c デバッグ用画面

Claims (4)

  1. 第1の論理集積回路を有するターゲット・ボードに接続された無線通信ユニットと、
    前記無線通信ユニットと無線通信可能な情報機器とを備え、
    前記情報機器は、
    デバッグ操作の指示入力を行うための指示入力手段と、
    前記指示入力手段により指示入力されたデバッグ操作に応じた1つのデバッグ用コマンドを、前記第1の論理集積回路が有するJTAG機能の動作レベルのコマンドであるプリミティブ・コマンドに細分化して出力するデバッガと、
    前記デバッガから出力されたプリミティブ・コマンドの前記無線通信ユニット側への送信、及び前記無線通信ユニット側からの前記プリミティブ・コマンドの実行結果の受信を行う第1の無線通信手段とを備え、
    前記無線通信ユニットは、
    前記情報機器から前記第1の無線通信手段を用いて送信された前記プリミティブ・コマンドの受信、及び前記ターゲット・ボードから出力された、前記プリミティブ・コマンドの実行結果の前記情報機器への送信を行う第2の無線通信手段と、
    前記情報機器から前記第2の無線通信手段により受信した前記プリミティブ・コマンドを、前記第1の論理集積回路が有するJTAG機能を用いて実行するように制御するスタブ・プログラムを格納した第2の論理集積回路とを備え、
    前記情報機器から無線通信で前記ターゲット・ボードの第1の論理集積回路のCPUコアの動作記述プログラムのデバッグを行うリモートデバッグシステム。
  2. 前記デバッガは、前記1つのデバッグ用コマンドに対応する複数の前記プリミティブ・コマンドの実行結果を合成して作成した合成結果を出力し、
    前記情報機器は、前記デバッガによるデバッグ用の画面を表示するための表示手段と、前記デバッガから出力された前記合成結果を前記デバッグ用の画面に表示するように制御する表示制御手段とをさらに備えたことを特徴とする請求項1に記載のリモートデバッグシステム。
  3. 前記ターゲット・ボードの数は複数であり、これら複数のターゲット・ボードの各々には、それぞれ前記無線通信ユニットが接続されており、
    前記表示手段は、前記複数のターゲット・ボードの各々における第1の論理集積回路のCPUコアの動作記述プログラムのデバッグ用の画面を、各ターゲット・ボードごとに別々に表示することを特徴とする請求項2に記載のリモートデバッグシステム。
  4. 第1の論理集積回路を有するターゲット機器に接続された無線通信ユニットと、
    前記無線通信ユニットとインターネットを介して通信可能な情報機器とを備え、
    前記情報機器は、
    デバッグ操作の指示入力を行うための指示入力手段と、
    前記指示入力手段により指示入力されたデバッグ操作に応じたコマンドを出力する情報機器側デバッガとを備え、
    前記無線通信ユニットは、
    前記情報機器と通信するための送受信用の回路である無線通信インタフェースと、
    各種の処理プログラムを格納した第2の論理集積回路とを備え、
    前記第2の論理集積回路に格納されるプログラムには、
    前記情報機器側デバッガから送信されたコマンドを、前記ターゲット機器側に応じたレベルのコマンドに細分化するターゲット機器側デバッガと、
    前記第1の論理集積回路のアーキテクチャに応じて、前記情報機器と前記第1の論理集積回路との間のデータのフォーマット変換処理を含む各種の処理を行うインタフェース制御用のプログラムであるスタブ・プログラムとが含まれ、
    前記情報機器からインターネットを介した通信で、前記ターゲット機器の前記第1の論理集積回路のCPUコアの動作記述プログラムのデバッグを行うリモートデバッグシステム。
JP2013218634A 2012-10-19 2013-10-21 リモート操作システム、無線通信ユニット、及びリモートデバッグシステム Expired - Fee Related JP6278300B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013218634A JP6278300B2 (ja) 2012-10-19 2013-10-21 リモート操作システム、無線通信ユニット、及びリモートデバッグシステム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012232424 2012-10-19
JP2012232424 2012-10-19
JP2013218634A JP6278300B2 (ja) 2012-10-19 2013-10-21 リモート操作システム、無線通信ユニット、及びリモートデバッグシステム

Publications (2)

Publication Number Publication Date
JP2014099167A JP2014099167A (ja) 2014-05-29
JP6278300B2 true JP6278300B2 (ja) 2018-02-14

Family

ID=50941088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013218634A Expired - Fee Related JP6278300B2 (ja) 2012-10-19 2013-10-21 リモート操作システム、無線通信ユニット、及びリモートデバッグシステム

Country Status (1)

Country Link
JP (1) JP6278300B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7209014B2 (ja) * 2018-12-25 2023-01-19 株式会社Fuji 作業機

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07319785A (ja) * 1994-05-30 1995-12-08 Sekisui Chem Co Ltd マイコン開発支援システム
US6167365A (en) * 1998-02-06 2000-12-26 Texas Instruments Incorporated Method of initializing CPU for emulation
US6442433B1 (en) * 1999-10-26 2002-08-27 Medtronic, Inc. Apparatus and method for remote troubleshooting, maintenance and upgrade of implantable device systems
US7095718B1 (en) * 2000-04-29 2006-08-22 Hewlett-Packard Development Company, L.P. Client/server scan software architecture
JP2002055849A (ja) * 2000-08-11 2002-02-20 Sony Corp デバッグ方法
KR100422069B1 (ko) * 2001-07-25 2004-03-12 한국전자통신연구원 무선통신을 이용한 교차 개발 장치 및 그 방법
FI5706U1 (fi) * 2002-11-21 2003-02-26 Patria New Technologies Oy JTAG-testilaitteisto ja -testausjärjestelmä
JP2012079130A (ja) * 2010-10-01 2012-04-19 Fujitsu Ltd デバッグ支援プログラム、デバッグ支援装置、及びデバッグ支援方法

Also Published As

Publication number Publication date
JP2014099167A (ja) 2014-05-29

Similar Documents

Publication Publication Date Title
US6618854B1 (en) Remotely accessible integrated debug environment
US6668339B1 (en) Microprocessor having a debug interruption function
CN101344899B (zh) 一种片上系统的仿真测试方法及仿真测试系统
JP2019516167A5 (ja)
US8423981B2 (en) Compiling a graphical program having a textual language program portion for a real time target
US8522079B2 (en) System and method for multi-core synchronous debugging of a multi-core platform
US11250193B1 (en) Productivity platform using system-on-chip with programmable circuitry
JP2013161106A (ja) サポート装置およびサポートプログラム
WO2012077704A1 (ja) デバッグスタブサーバ、デバッグ方法およびプログラム
US9935637B2 (en) Systems and methods for FPGA development and operation
JP6278300B2 (ja) リモート操作システム、無線通信ユニット、及びリモートデバッグシステム
JP4600601B1 (ja) デバッグ支援装置、デバッグ支援方法及びデバッグ支援プログラム
CN111427839B (zh) 一种Intel SoC FPGA的远程在线配置、调试方法
KR20110037140A (ko) 임베디드 소프트웨어 가상 개발 환경을 제공하는 시스템
CN116431103B (zh) 一种面向嵌入式软件的数字化DevOps平台设计方法
US10474610B1 (en) Hardware trace and introspection for productivity platform using a system-on-chip
JP2004139458A (ja) プログラム開発支援装置、プログラム実行装置、コンパイル方法およびデバッグ方法
US20180357150A1 (en) System for development and emulation of embedded systems
US20190050231A1 (en) Slave processor within a system-on-chip
CN112765018B (zh) 一种仪器仪表调试系统及方法
JP4762207B2 (ja) Dspカード試験装置
CN109726095A (zh) 一种多核芯片调试的方法、系统及装置
JP6484015B2 (ja) プログラマブル・ロジック・コントローラおよびその制御方法
US11429357B2 (en) Support device and non-transient computer-readable recording medium recording support program
WO2020021993A1 (ja) 情報処理装置および表示プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161020

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180105

R150 Certificate of patent or registration of utility model

Ref document number: 6278300

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees