JP2008027041A - デバッグシステム及びターゲット装置 - Google Patents

デバッグシステム及びターゲット装置 Download PDF

Info

Publication number
JP2008027041A
JP2008027041A JP2006196827A JP2006196827A JP2008027041A JP 2008027041 A JP2008027041 A JP 2008027041A JP 2006196827 A JP2006196827 A JP 2006196827A JP 2006196827 A JP2006196827 A JP 2006196827A JP 2008027041 A JP2008027041 A JP 2008027041A
Authority
JP
Japan
Prior art keywords
software
ice
connection
module
slave
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.)
Withdrawn
Application number
JP2006196827A
Other languages
English (en)
Inventor
Nashie Mizuide
梨絵 水出
Yoshinori Nishiki
好則 錦
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2006196827A priority Critical patent/JP2008027041A/ja
Publication of JP2008027041A publication Critical patent/JP2008027041A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

【課題】 デバッグ作業の効率が向上したデバッグシステム及びターゲット装置を提供すること。
【解決手段】 互いに関係する複数のソフトウェアを実行するターゲット装置と、各ソフトウェアに対応した複数のICEと、各ICEに対応した複数のデバッグ装置と、を備えるデバッグシステムである。デバッグシステムが有するターゲット装置は、各ソフトウェアの実行状態を管理するマルチタスクOS上で複数のソフトウェアを実行する処理部と、各ソフトウェアに対応し、処理部を複数のICEのそれぞれと個別に接続する複数の接続部と、マルチタスクOSから得られた各ソフトウェアの実行状態に関する情報に基づいて、接続部による処理部とICEとの接続を切り替える接続切替部と、を有し、接続切り替え部は、処理部で実行されているソフトウェアに対応する接続部を制御して、処理部と実行中のソフトウェアに対応するICEとを接続する。
【選択図】 図1

Description

本発明は、ソフトウェア開発におけるデバッグを支援するデバッグシステム及びターゲット装置に関する。
ホストCPUに接続され、当該ホストCPUによって制御されるコンパニオンチップ上で動作するソフトウェアは、コンパニオンチップ単体で実行されることは想定されていない。通常は、ソフトウェアがホストCPUからコンパニオンチップ上のメモリに展開され、ホストCPUと通信を行いながらソフトウェアが実行される。このようなソフトウェアをコンパニオンチップ単体でデバッグすることは困難である。
しかし、上記説明したコンパニオンチップ上で動作するソフトウェアの中には、ホストCPUとの通信を必要とせず、コンパニオンチップ単体で動作するソフトウェアも存在する。そのようなソフトウェアはホストCPUを規定せずに開発されるが、デバッグ時にはホストCPUとの通信部分を含めてデバッグされる必要がある。そのため、コンパニオンチップ単体で動作するソフトウェアのデバッグを行う際には、ホストCPUと、ホストCPU上で動作するソフトウェアと、コンパニオンチップ上で動作しホストCPUとの通信処理を行うソフトウェアとが用意されている必要がある。このように、コンパニオンチップ単体で動作するソフトウェアであってもデバッグ作業は煩雑であった。
特開平6−195231号公報は、コンパニオンチップ上で動作するソフトウェアのデバッグを行う方法を開示している。当該デバッグ方法では、マルチタスクOSのデバッグ支援装置を利用して、マスタターゲット装置ソフトウェア及びスレーブターゲット装置ソフトウェアをそれぞれタスクとして割り当て、デバッグ装置3で各タスクのOS管理情報を解析し、解析結果を入出力装置4で表示する。
図9は、特開平6−195231号公報に開示されたプログラムデバッグ装置を示すブロック図である。プログラムデバッグ装置が有するターゲット装置1は、デバッグ用にホストCPU13上で動作するソフトウェア(擬似マスタターゲットソフトウェア)をタスク1(11a)に割り当て、デバッグ対象であるスレーブターゲットソフトウェアをタスク2(11b)に割り当てる。マルチタスクOS(11d)から得られるOS管理情報12を解析する機能を持つデバッグ装置3をICE(In-Circuit Emulator)2に接続し、入出力装置4に対して擬似マスタターゲットソフトウェア及びスレーブターゲットソフトウェアの各管理情報を入出力装置4に渡すことで、それぞれの通信を含めたデバッグが可能となる。
特開平6−195231号公報
図9に示したプログラムデバッグ装置によるデバッグ方法では、デバッグ装置3がOS管理情報の解析機能や解析結果に基づく入出力装置4への表示機能を有する必要があり、CPUコア毎に提供される汎用ICE及びデバッグ装置を使用することは困難であるため、デバッグ装置3を別途開発する必要がある。また、OS管理情報12はOS毎に異なるため、OSが変更された場合は新たなデバッグ装置を開発する必要がある。
本発明の目的は、デバッグ作業の効率が向上したデバッグシステム及びターゲット装置を提供することである。
本発明は、互いに関係する複数のソフトウェアを実行するターゲット装置と、各ソフトウェアに対応した複数のICEと、各ICEに対応した複数のデバッグ装置と、を備えるデバッグシステムであって、前記ターゲット装置は、各ソフトウェアの実行状態を管理するマルチタスクOS上で前記複数のソフトウェアを実行する処理部と、各ソフトウェアに対応し、前記処理部を前記複数のICEのそれぞれと個別に接続する複数の接続部と、前記マルチタスクOSから得られた各ソフトウェアの実行状態に関する情報に基づいて、前記接続部による前記処理部と前記ICEとの接続を切り替える接続切替部と、を有し、前記接続切り替え部は、前記処理部で実行されているソフトウェアに対応する接続部を制御して、前記処理部と前記実行中のソフトウェアに対応するICEとを接続するデバッグシステムを提供する。
上記デバッグシステムでは、前記複数のソフトウェアは、マスタとスレーブの関係を有する少なくとも2つのソフトウェアを含む。
本発明は、互いに関係する複数のソフトウェアを、各ソフトウェアの実行状態を管理するマルチタスクOS上で実行する処理部と、各ソフトウェアに対応し、各ソフトウェアに対応した複数のICEのそれぞれと前記処理部を個別に接続する複数の接続部と、前記マルチタスクOSから得られた各ソフトウェアの実行状態に関する情報に基づいて、前記接続部による前記処理部と前記ICEとの接続を切り替える接続切替部と、を備え、前記接続切り替え部は、前記処理部で実行されているソフトウェアに対応する接続部を制御して、前記処理部と前記実行中のソフトウェアに対応するICEとを接続するターゲット装置を提供する。
上記ターゲット装置では、前記複数のソフトウェアは、マスタとスレーブの関係を有する少なくとも2つのソフトウェアを含む。
本発明に係るデバッグシステム及びターゲット装置によれば、デバッグ作業の効率が向上する。
以下、本発明の実施形態について、図面を参照して説明する。
(第1の実施形態)
図1は、第1の実施形態のデバッグシステムを示すブロック図である。図1に示すように、第1の実施形態のデバッグシステムは、スレーブターゲット装置200と、ICE207A,207Bと、マスタ側の汎用デバッグ装置208Aと、スレーブ側の汎用デバッグ装置208Bとを備える。
スレーブターゲット装置200は、マルチタスクOS203に基づいて動作するCPU204と、ICE接続切替回路205と、ICE接続回路206A,206Bとを有する。CPU204は、開発中のスレーブターゲットソフトウェア202、及びスレーブターゲットソフトウェア202の処理を指示する擬似的なマスタターゲットソフトウェア201をマルチタスクOS203上で実行する。
スレーブターゲット装置200が有するICE接続切替回路205は、マルチタスクOS203から得られた情報に応じて、ICE接続回路206Aを介してICE207Aに、又はICE接続回路206Bを介してICE207Bに接続する。ICE207Aはマスタ側の汎用デバッグ装置208Aに、ICE207Bはスレーブ側の汎用デバッグ装置208Bに接続されている。なお、ICE207A,207Bは汎用のICEである。
図2は、本実施形態のデバッグシステムが備えるスレーブターゲット装置200の動作を示すシーケンスチャートである。ICE接続切替回路205で実行されるICE接続切替モジュール300は、マルチタスクOS203から得られるOS管理情報301に応じて、ICEを介した汎用デバッグ装置との接続を切り替える。なお、OS管理情報301は、開発中のスレーブターゲットソフトウェア202に含まれるスレーブターゲットモジュール303の実行状態、及び擬似的なマスタターゲットソフトウェア201に含まれるマスタターゲットモジュール302の実行状態を示す管理情報を含む。
CPU204がマスタターゲットソフトウェア201又はスレーブターゲットソフトウェア202を実行しているとき、ICE接続切替回路205で実行されているICE接続切替モジュール300は、マルチタスクOS203に対してOS管理情報301の取得要求306を定期的に行う。OS管理情報301には、CPU204で実行されているソフトウェアがマスタターゲットソフトウェア201とスレーブターゲットソフトウェア202の内どちらかを示す情報が含まれている。また、OS管理情報301には、マスタターゲットモジュール302の実行状態を示す情報と、スレーブターゲットモジュール303の実行状態を示す情報とが含まれている。
マスタとスレーブとの通常の関係では、マスタからの指示に従いスレーブが動作する。本実施形態でも、マスタターゲットモジュール302が実行中に(307)、マスタターゲットモジュール302はスレーブターゲットモジュール303に処理要求309を行う。スレーブターゲットモジュール303は処理要求309に応じて処理を行い(308)、当該処理が完了すると、スレーブターゲットモジュール303はマスタターゲットモジュール302に処理完了通知310を行う。これらの処理307〜310が繰り返し行われる。なお、これらの処理が行われている間、マスタターゲットモジュール302の実行状態及びスレーブターゲットモジュール303の実行状態はマルチタスクOS203によって常に監視されており、各実行状態を示す情報がOS管理情報301に含まれているため、ICE接続切替モジュール300は任意のタイミングで各モジュールの実行状態を取得することができる。
ICE接続切替モジュール300は、OS管理情報301及びCPU204から取得したプログラムカウンタの情報に基づいて、マスタターゲットモジュール302及びスレーブターゲットモジュール303のどちらが実行されているかを判定する。ICE接続切替モジュール300を実行しているICE接続切替回路205は、ICE接続切替モジュール300による判定結果に応じて、実行中のモジュールに対応するICEを介して当該実行中のモジュールに対応する汎用デバッグ装置に接続する。例えば、スレーブターゲットモジュール303が実行されていると判定された場合、ICE接続切替回路205は、ICE207Bを介してスレーブ側の汎用デバッグ装置208Bに接続する。
図3は、本実施形態のデバッグシステムが備えるスレーブターゲット装置200の動作を示すフローチャートである。ICE接続切替回路205は、OS管理情報301を取得する(S400)。次に、ICE接続切替回路205は、ステップS400で取得したOS管理情報301に基づいて、「スレーブターゲットソフトウェア202がアクティブか?」を判定する(S401)。スレーブターゲットソフトウェア202がアクティブの場合は、ICE接続切替回路205はスレーブ側のICE207Bを介してスレーブ側の汎用デバッグ装置208Bに接続する(S402)。一方、スレーブターゲットソフトウェア202がアクティブでない場合は、ICE接続切替回路205はマスタ側のICE207Aを介してマスタ側の汎用デバッグ装置208Aに接続する(S403)。
以上説明したように、本実施形態のデバッグシステムによれば、ICE接続回路206が接続するICE及びデバッグ装置としては、CPUコア毎に提供される汎用ICE及び汎用デバッグ装置をそのまま利用することができる。このため、新たにデバッグ装置を開発する必要がない。また、ICE接続切替回路205の制御部分をOS外部に実装することで、OSが変更になってもそのままICE207および汎用デバッグ装置208を使用することができる。この結果、デバッグ作業の効率が向上して開発費用及び開発工数が削減される。
(第2の実施形態)
図4は、第2の実施形態のデバッグシステムを示すブロック図である。図4に示すように、第2の実施形態のデバッグシステムは、スレーブターゲット装置500と、ICE207A,207Bと、マスタ側の汎用デバッグ装置208Aと、スレーブ側の汎用デバッグ装置208Bとを備える。第2の実施形態のデバッグシステムが備えるスレーブターゲット装置500は、第1の実施形態のデバッグシステムが備えるスレーブターゲット装置200と異なる。ICE207A,207B及び汎用デバッグ装置208A,208Bは第1の実施形態と同様である。
本実施形態のスレーブターゲット装置500では、開発中のスレーブターゲットモジュール502、及びスレーブターゲットモジュール502の処理を指示する擬似的なマスタターゲットモジュール501がマルチタスクOS又は通信モジュール503上で動作する。マルチタスクOS又は通信モジュール503は、ICE接続回路504A,504Bを制御して、ICE接続回路504Aを介してICE207Aに、又はICE接続回路504Bを介してICE207Bに接続する。
図5は、マスタターゲットモジュール501の動作フローを示すフローチャートである。マスタターゲットモジュール501は、スレーブターゲットモジュール502に検証を行う項目に関するメッセージを送る機能を有する。そのため、図5に示すように、マスタターゲットモジュール501は、スレーブターゲットモジュール502にメッセージ送信を行い(S600)、スレーブターゲットモジュール502からの完了メッセージの受信待ちを行う(S601)といった動作を繰り返す。
図6は、スレーブターゲットモジュール502の動作フローを示すフローチャートである。図6に示すように、スレーブターゲットモジュール502は、マスタターゲットモジュール501からのメッセージの受信待ちを行い(S700)、受信したメッセージに対応した動作を行い(S701)、処理結果に関するメッセージをマスタターゲットモジュール501に送信する(S702)といった動作を繰り返す。
図7は、マルチタスクOS又は通信モジュール503の動作フローを示すフローチャートである。マルチタスクOS又は通信モジュール503は、モジュールの切り替えタイミングかを判定し(S800)、切り替えタイミングである場合はモジュールのディスパッチを行い(S801)、接続しているICEの切り替えを行う(S802)。
図8は、本実施形態のデバッグシステムが備えるスレーブターゲット装置500の動作を示すシーケンスチャートである。図8に示すように、スレーブターゲットモジュール502は、マルチタスクOS又は通信モジュール503を使用し、マスタターゲットモジュール501からのメッセージの受信待ちを行う(903)。マルチタスクOS又は通信モジュール503はモジュールの切り替えタイミング判定を行い、切り替えタイミング時にはマスタターゲットモジュール501にタスクを切り替える(904)。マスタターゲットモジュール501は、マルチタスクOS又は通信モジュール503を使用し、スレーブターゲットモジュール502に音楽再生開始指示メッセージ等のメッセージを送信する(905)。
このとき、マルチタスクOS又は通信モジュール503はモジュールの切り替えタイミングの判定を行い、切り替えタイミングではないため、図8に示す処理906の段階ではタスクを切り替えない。マスタターゲットモジュール501は、マルチタスクOS又は通信モジュール503を使用し、スレーブターゲットモジュール502からのメッセージの受信待ちを行う(907)。再び、マルチタスクOS又は通信モジュール503はモジュールの切り替えタイミング判定を行い、切り替えタイミング時にはスレーブターゲットモジュール502にタスクを切り替えて(908)、スレーブターゲットモジュール502にメッセージ受信待ちの解除を行う(909)。
スレーブターゲットモジュール502は、受信したメッセージの解析を行って、音楽の再生を開始するといった前記メッセージに応じた処理を行う(910)。スレーブターゲットモジュール502は、音楽の再生の開始を完了した等の処理結果を示すメッセージをマルチタスクOS又は通信モジュール503を介してマスタターゲットモジュール501に送信する(911)。
このとき、マルチタスクOS又は通信モジュール503はモジュールの切り替えタイミングの判定を行い、切り替えタイミングではないため、図8に示す処理912の段階ではタスクを切り替えない。スレーブターゲットモジュール502は、マルチタスクOS又は通信モジュール503を使用し、マスタターゲットモジュール501からのメッセージの受信待ちを行う(913)。再び、マルチタスクOS又は通信モジュール503はモジュールの切り替えタイミング判定を行い、切り替えタイミング時にはマスタターゲットモジュール501にタスクを切り替えて(914)、マスタターゲットモジュール501にメッセージ受信待ちの解除を行う(915)。以上説明した処理905〜915の動作が繰り返される。
本発明に係るデバッグシステム及びターゲット装置は、ソフトウェア開発におけるデバッグを支援するデバッグ支援装置等として有用である。
第1の実施形態のデバッグシステムを示すブロック図 第1の実施形態のデバッグシステムが備えるスレーブターゲット装置の動作を示すシーケンスチャート 第1の実施形態のデバッグシステムが備えるスレーブターゲット装置の動作を示すフローチャート 第2の実施形態のデバッグシステムを示すブロック図 第2の実施形態のマスタターゲットモジュールの動作フローを示すフローチャート 第2の実施形態のスレーブターゲットモジュールの動作フローを示すフローチャート 第2の実施形態のマルチタスクOS又は通信モジュールの動作フローを示すフローチャート 第2の実施形態のデバッグシステムが備えるスレーブターゲット装置の動作を示すシーケンスチャート 特開平6−195231号公報に開示されたプログラムデバッグ装置を示すブロック図
符号の説明
200,500 スレーブターゲット装置
204 CPU
205 ICE接続切替回路
206A,206B ICE接続回路
207A マスタ側の汎用ICE
207B スレーブ側の汎用ICE
208A マスタ側の汎用デバッグ装置
208B スレーブ側の汎用デバッグ装置

Claims (4)

  1. 互いに関係する複数のソフトウェアを実行するターゲット装置と、
    各ソフトウェアに対応した複数のICEと、
    各ICEに対応した複数のデバッグ装置と、を備えるデバッグシステムであって、
    前記ターゲット装置は、
    各ソフトウェアの実行状態を管理するマルチタスクOS上で前記複数のソフトウェアを実行する処理部と、
    各ソフトウェアに対応し、前記処理部を前記複数のICEのそれぞれと個別に接続する複数の接続部と、
    前記マルチタスクOSから得られた各ソフトウェアの実行状態に関する情報に基づいて、前記接続部による前記処理部と前記ICEとの接続を切り替える接続切替部と、を有し、
    前記接続切り替え部は、前記処理部で実行されているソフトウェアに対応する接続部を制御して、前記処理部と前記実行中のソフトウェアに対応するICEとを接続することを特徴とするデバッグシステム。
  2. 請求項1に記載のデバッグシステムであって、
    前記複数のソフトウェアは、マスタとスレーブの関係を有する少なくとも2つのソフトウェアを含むことを特徴とするデバッグシステム。
  3. 互いに関係する複数のソフトウェアを、各ソフトウェアの実行状態を管理するマルチタスクOS上で実行する処理部と、
    各ソフトウェアに対応し、各ソフトウェアに対応した複数のICEのそれぞれと前記処理部を個別に接続する複数の接続部と、
    前記マルチタスクOSから得られた各ソフトウェアの実行状態に関する情報に基づいて、前記接続部による前記処理部と前記ICEとの接続を切り替える接続切替部と、を備え、
    前記接続切り替え部は、前記処理部で実行されているソフトウェアに対応する接続部を制御して、前記処理部と前記実行中のソフトウェアに対応するICEとを接続することを特徴とするターゲット装置。
  4. 請求項2に記載のターゲット装置であって、
    前記複数のソフトウェアは、マスタとスレーブの関係を有する少なくとも2つのソフトウェアを含むことを特徴とするターゲット装置。
JP2006196827A 2006-07-19 2006-07-19 デバッグシステム及びターゲット装置 Withdrawn JP2008027041A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006196827A JP2008027041A (ja) 2006-07-19 2006-07-19 デバッグシステム及びターゲット装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006196827A JP2008027041A (ja) 2006-07-19 2006-07-19 デバッグシステム及びターゲット装置

Publications (1)

Publication Number Publication Date
JP2008027041A true JP2008027041A (ja) 2008-02-07

Family

ID=39117625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006196827A Withdrawn JP2008027041A (ja) 2006-07-19 2006-07-19 デバッグシステム及びターゲット装置

Country Status (1)

Country Link
JP (1) JP2008027041A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009113273A1 (ja) * 2008-03-14 2009-09-17 パナソニック株式会社 プログラム実行装置およびその制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009113273A1 (ja) * 2008-03-14 2009-09-17 パナソニック株式会社 プログラム実行装置およびその制御方法
JP5269067B2 (ja) * 2008-03-14 2013-08-21 パナソニック株式会社 プログラム実行装置およびその制御方法
US8701089B2 (en) 2008-03-14 2014-04-15 Panasonic Corporation Program execution device and method for controlling the same

Similar Documents

Publication Publication Date Title
CN107278294A (zh) 输入设备实现方法及其实现装置
US20010027387A1 (en) Debugging supporting apparatus, debugging supporting method and recording medium readable by computer with its programs recorded thereon
JP2008299068A (ja) 操作訓練システムおよび操作訓練方法
JP3739615B2 (ja) 車載用情報処理装置および記録媒体
CN112506152B (zh) 一种采煤机及其控制器、控制方法
JP2008027041A (ja) デバッグシステム及びターゲット装置
JPH1040080A (ja) オープンビジネス共通基盤装置
EP3982213A1 (en) Support device and support program
JP2007018091A (ja) 情報処理装置、情報処理システム、アプリケーション開発支援方法及びプログラム
JP2022072452A (ja) 情報処理装置、及びプログラム
JP2006293515A (ja) Osエミュレータ時間経過制御装置
JPH08272644A (ja) 分散処理装置で実行されるプログラムのデバッグ方法
WO2020246096A1 (ja) サポート装置およびサポートプログラム
JP3085730B2 (ja) 複合cpuシステムの並列シミュレーション方式
JP2001318805A (ja) 組み込みシステムのテスト方法及びテストシステム
KR100200712B1 (ko) 노-타겟 시스템의 프로그램 디버깅 장치
JP3394834B2 (ja) マルチプロセッサシステムを構成する装置のデバッグ方式
JP2006301983A (ja) 情報処理装置およびプログラムのテスト方法
JPH11120028A (ja) プログラム移植サポート方式
JPH11161514A (ja) デバッガ装置、デバッガ方法、およびデバッガプログラムを記録した記録媒体
JPH10269104A (ja) 並列システムテスト方法
JP2006276962A (ja) コンピュータを利用する設計開発方法、コンピュータ利用方法及びシステム
JP2002335303A (ja) 通信路切り替え方法
JP2003296138A (ja) 組込み機器用アプリケーションのシミュレートデバッグ方法
JP2002244883A (ja) デバッグ支援装置、デバッグ支援方法及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071113

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071120

A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20091006