JPH10301803A - デバッグ装置、情報処理装置及び情報記憶媒体 - Google Patents

デバッグ装置、情報処理装置及び情報記憶媒体

Info

Publication number
JPH10301803A
JPH10301803A JP9120348A JP12034897A JPH10301803A JP H10301803 A JPH10301803 A JP H10301803A JP 9120348 A JP9120348 A JP 9120348A JP 12034897 A JP12034897 A JP 12034897A JP H10301803 A JPH10301803 A JP H10301803A
Authority
JP
Japan
Prior art keywords
information
debug
debugging
program
host
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
JP9120348A
Other languages
English (en)
Inventor
Yoshimi Oka
義美 岡
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP9120348A priority Critical patent/JPH10301803A/ja
Publication of JPH10301803A publication Critical patent/JPH10301803A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 デバッグ段階及び製造後、出荷後においてハ
ードウエアに障害を含む情報処理装置のハードウエア及
びソフトウエアのデバッグ作業を容易にし、また、前記
情報処理装置の形状又は状態に関わらずデバッグが可能
なデバッグ装置を提供すること。 【解決手段】 デバッグの対象(ターゲット機100)
をホスト機200となるパソコンに通信線30で接続し
てデバッグを行う。ターゲット機100ではデバッグ用
プログラム300が実行され、その出力情報をホスト機
200に送信し、ホスト機200からコマンドが送られ
てきた場合にはそのコマンドの処理を行う。ホスト機2
00では、ホストプログラム600が実行され、自動的
に又はユーザーの指示によりターゲットにプログラムを
送って実行させたり、ターゲットにメモリ読み出しなど
のコマンドを送り・結果を受け取り・表示したりする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ハードウエアに障
害を含む情報処理装置であるターゲット機のハードウエ
ア及びソフトウエアの少なくとも一方をデバッグするデ
バッグ装置、情報処理装置及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】パソコン
の製造に際して、市販のCPUに新たに設計した周辺装
置のチップを接続したり、これらのチップを接続するた
めのプリント基板を新たに設計したりすることが行われ
る。この設計過程は、「回路設計→基板設計→サンプル
製造→評価→量産」という流れで行われる。ここにおい
て、新たに設計する部品が多い場合や、製造工程が確立
していないサンプル製造時には、できあがるサンプルに
障害が多い。このため、該サンプルは最初から動くこと
は殆ど無い状態であり、設計過程におけるサンプルの評
価時には、このような状態下においてハードウエアのデ
バッグを行うことが必要となる。
【0003】また、ハードウエアのみならす、パソコン
に組み込みのROMに書き込んで提供されるソフトウエ
アも新たに設計する場合、該ソフトウエアのデバッグも
必要となる。
【0004】このようなソフトウエアとして、通常パソ
コンの組み込みROMに書き込んで提供されるソフトウ
エアであるBIOS(Basic Input/Out
put System)がある。BIOSは、ハードウ
エアの制御を行うソフトウエアである。BIOSの初期
化と機能診断のルーチン(以下POD(PowerOn
Diagnostic)と呼ぶ)は、電源投入後最初
に実行されるプログラムである。従って、最初のサンプ
ルのハードウエアのデバッグは、まずCPUがROMか
ら命令を取り込んで働くようにすること、つまり、PO
Dが動かせる状態にすることから始まる。
【0005】しかし新たに設計したハードウエアのデバ
ッグを行う場合、信号線の配線のつなぎまちがえやクロ
ストークやハンダの不良で、サンプルの基盤が最初から
動くことがほとんどない。そして、その原因がハードウ
エアとソフトウエアのいずれの障害によるものなのかの
特定は困難であり、両者にまたがっていることも多かっ
た。
【0006】このようなサンプルのハードウエアとPO
Dのデバッグにおいては、ソフトウエアデバッグが使え
ないという点で通常のデバッグ作業とは異なる。通常ソ
フトウエアのデバッグにあたって強力な道具は、ソフト
ウエアデバッガである。しかし、ソフトウエアデバッガ
は、RAMが動作してOSが立ち上がらないと使えない
ため、ROMとCPUしか動作していない状態で実行さ
れるPODのデバッグには使えないのである。
【0007】ここでサンプルのハードウエアとPODの
デバッグの一般的な手法について説明する。
【0008】まず、最初にPODを動かすために、少な
くともCPUとROMが動くようにする。すなわち、C
PUとROMを接続する信号線が正しく動作し、また、
CPUのクロック線など重要な信号線が正しく接続され
ていることを確認する。
【0009】ROMにはBIOSが書き込まれているの
で、電源投入後最初にPODが実行される。PODは、
周辺デバイスの機能診断をするので、PODの動作を確
認することで、ハードウエアの障害をある程度特定する
ことができる。そして、アドレスライン・データライン
のクロストークや信号線・基本的な周辺デバイスの機能
を、ロジックアナライザによる信号の変化とPODが実
行しているはずのコードを比較してチェックを行う。
【0010】このように、PODの動作を調べること
で、電源投入直後に起こる障害だけではなく、種々の周
辺装置の障害解析ができるし、ソフト的な設定が正しく
行われているのかの検査もすることができる。
【0011】PODは、システムを動かす上で必要なデ
バイスに障害がある場合には、自らハングアップするよ
うに設計されている。例えば、タイマーカウンターやD
MAコントローラに障害がある場合、メモリのリフレッ
シュができないのでシステムの立ち上げが不可能であ
る。また、割り込みコントローラに障害がある場合、キ
ーボードや補助記録装置が使えないのでシステムを立ち
上げてもほとんど意味がないからである。
【0012】また、PODは、デバッグ上重要な位置で
POD_IDと呼ばれるコードを所定のI/O por
t(MFGポート)に出力する。PODの実行中にMF
Gポートに出力される値をロジックアナライザを用いて
採ると、PODがどのルーチンを実行したかが分かる。
従って、MFGポートに出力された最後の値を見れば、
PODがハングアップした場合にどのルーチンを実行し
た結果ハングアップしたかが分かる。
【0013】しかし、ロジックアナライザは多数のPO
D_IDを記録できるほど大きなメモリを持っておら
ず、通常1000個程度、拡張しても2000から40
00個程度の事象しか記録できない。従って、PODの
動作のハングアップ前の最後の部分しか記録に残らず、
PODの動作が完全に分かるわけではない。
【0014】また、重要な障害があってもPODがハン
グアップするとは限らないため、POD_IDだけで
は、十分にデバッグの目的を達成することはできなかっ
た。
【0015】また、効率のよいデバッグを行うために
は、POD実行中のデバイスの設定状態やメモリ内容を
調べたり、それらを変更できることが好ましいが、ロジ
ックアナライザでは、PODの実行を止めることはでき
なかった。
【0016】ここにおいて、PODの代わりにテストプ
ログラムを実行するという手法もある。即ち、PODの
代わりに、注目しているデバイスのテストをするための
プログラムをROMに書き込んでテストを行うのであ
る。このように個々のデバイスに特化したテストプログ
ラムを使い、また、その時々の障害に合わせてプログラ
ムを変更することで、ハードウエアのデバッグを能率良
く行うことができるからである。しかし、PODの代わ
りにテストプログラムを走らせる場合、いちいちROM
を書き直さなければならず、デバッグの能率を落として
いた。また、フロッピーディスクコントローラ・ハード
ディスクコントローラ・キーボードコントローラのよう
に複雑なデバイスをテストするためには、テストプログ
ラムを作るのに大きな手間がかかるという問題点もあっ
た。
【0017】また、基板形状の問題からロジックアナラ
イザを付け難いシステムもある。例えば、MFGポート
を見るために基板に改造がある場合や、そもそもプロー
ブを差し込むことが難しい場合である。また、ロジック
アナライザを用いれば、データバス・アドレスバス・コ
ントロールバスなどのデバッグ作業が容易になるが、ロ
ジックアナライザを有効に使えない場合デバッグ作業は
困難なものとなる。
【0018】またハードウエア及びソフトウエア双方の
デバッグに威力を発揮するものとして、擬似的にCPU
の機能を有するICE(In Circuit Emu
lator)がある。該ICEはPODの実行を止める
ことができるが、基板形状の問題からICEが付け難い
システムもある。例えばCPUが基板に直付けになって
いる場合や、CPUソケットの回りの隙間が狭くてプロ
ーブを差し込めない場合等である。
【0019】上述したサンプルのデバッグ作業のよう
に、一般にハードウエアに障害を含み、OSが正常に動
作していない段階における情報処理装置のデバッグ作業
は、通常の情報処理装置のデバッグ作業に比べて困難で
ある。また、基板形状の問題等からロジックアナライザ
やICEが付け難いシステムにおいては、そのデバッグ
は更に困難なものとなる。
【0020】本発明の第一の目的は、ハードウエアに障
害を含む状態の情報処理装置のハードウエア及びソフト
ウエアのデバッグ作業を容易にするデバッグ装置、情報
処理装置及び情報記憶媒体を提供することである。
【0021】また、本発明の第二の目的は、デバッグの
対象となる情報処理装置の形状又は状態に関わらすデバ
ッグが行えるデバッグ装置、情報処理装置及び情報記憶
媒体を提供することである。
【0022】本発明の第三の目的は、デバッグ段階のみ
ならず、製造後・出荷後の情報処理装置の障害解析を容
易にするデバッグ装置、情報処理装置及び情報記憶媒体
を提供することである。
【0023】
【課題を解決するための手段】本発明は、ハードウエア
に障害を含む情報処理装置であるターゲット機のハード
ウエア及びソフトウエアの少なくとも一方をデバッグす
るデバッグ装置であって、前記ターゲット機から、前記
ターゲット機とは別に設けられた情報処理装置であるホ
スト機への通信を行う第一の通信手段と、前記ターゲッ
ト機において、電源投入後の初期状態においてデバッグ
用プログラムを実行させるデバッグ用プログラム実行手
段と、前記デバッグ用プログラムの出力情報を、前記第
一の通信手段を用いてターゲット機からホスト機に送信
する出力情報送信手段と,前記デバッグ用プログラムの
出力情報を前記ホスト機において受信する出力情報受信
手段とを含むことを特徴とする。
【0024】ターゲット機とはデバッグの対象となる情
報処理装置をいい、前記第一の通信手段、前記デバッグ
用プログラム実行手段、出力情報送信手段の実行を可能
ならしめる部分以外のハードウエアに障害を含んでいる
情報処理装置である。なお、ここにいうデバッグとは、
設計や製造途中のデバッグのみならず、製造後・出荷後
の障害解析も含む。従って、本発明でデバッグの対象と
なる該情報処理装置は、設計や製造途中のデバッグ段階
のもののみならず、製造後・出荷後の製品も含む。 本
発明ではターゲット機において実行されるデバッグ用プ
ログラムの出力情報をホスト機に送信するため、ロジッ
クアナライザ等を使う場合に比べて、多量の情報を出力
情報を蓄積することができる。ロジックアナライザ等を
使う場合は、該ロジックアナライザの記憶容量に限定さ
れるが、本発明の場合、ホスト機として任意のパソコン
を用いれば、ロジックアナライザの10倍程度の出力情
報を記憶することが可能となる。更に、一時記憶ファイ
ルを利用することにより、事実上無制限に出力情報を蓄
積することができる。
【0025】このように本発明の場合、デバッグに必要
な情報を多量得ることができるデバッグ装置を提供する
ことができる。
【0026】また、本発明のデバッグ装置は、ロジック
アナライザのようにプローブを接続したり、CPUをI
CEのプローブと交換する必要がないため、ターゲット
機となる情報処理装置の形状や状態に関係なくデバッグ
を実行することができる。
【0027】また本発明は、前記ホスト機からターゲッ
ト機への通信を行う第二の通信手段をさらに含み、前記
受信した出力情報に基づき、前記ターゲット機に所与の
デバッグ処理を行わせるためのデバッグ情報を前記第二
の通信手段を用いてホスト機からターゲット機に送信す
るデバッグ情報送信手段と、前記デバッグ情報を前記タ
ーゲット機において受信するデバッグ情報受信手段とを
含み、前記デバッグ用プログラム実行手段は、該デバッ
グ情報に基づき所与のデバッグ処理を行う手段とを含む
ことを特徴とする。
【0028】本発明によれば、ホスト機からターゲット
機へデバッグ情報を送信することより、ターゲット機に
所与のデバッグ処理を行わせることができる。このた
め、ターゲット機で実行されるデバッグ処理の内容をデ
バッグの進行状況に応じて、ホスト機から指示すること
ができる。即ち、従来はその時々の障害にあわせてテス
トプログラムを変更することで対処していたデバッグ動
作をターゲット機のプログラム自体を変更することなし
に実現することができ、デバッグ動作を容易にし、デバ
ッグ効率の向上を図ることが出来る。
【0029】また本発明の前記デバッグ用プログラム実
行手段は、出力情報の送信に伴い、前記デバッグ用プロ
グラムの実行を所定の位置で停止させ、ホスト機からデ
バッグ情報が送られてきたこと及び所与の時間ホスト機
からデバッグ情報が送られてこないことの少なくとも一
方を確認してから、前記デバッグ用プログラムの実行を
開始させることを特徴とする。
【0030】このようにすると、ターゲット機のからの
実行情報の送信に伴うホスト機からのデバッグ情報の有
無を確認しながら、ターゲット機におけるプログラムの
実行を進めることができる。また、何らかの原因でホス
ト機との通信が出来なくなった場合でもデバッグ用プロ
グラムを実行させることが出来る。
【0031】また本発明の前記デバッグ情報送信手段
は,前記ターゲット機に実行させるデバッグ処理を指示
するための所与のデバッグコマンドを前記第二の通信手
段を用いて前記ホスト機から前記ターゲット機に送り、
前記デバッグ情報受信手段は、前記デバッグコマンドを
前記デバッグ情報として受信し、前記デバッグ用プログ
ラム実行手段は、受信した前記デバッグコマンドに基づ
き所与のデバッグ処理を行うデバッグ用プログラムを実
行させることを特徴とする。
【0032】前記デバッグ用プログラム実行手段は、タ
ーゲット機において受信したコマンドに対応する処理を
行うためのデバッグ用プログラムを実行するための手段
を有している。従って、ホスト機からターゲット機へ所
与のコマンドを送るという簡単な操作で、デバッグの進
行状況に応じた所望のコマンド処理を、ターゲット機に
行わせることができる。
【0033】また本発明の前記デバッグ情報送信手段
は、前記ターゲット機においてデバッグ用プログラムの
実行を停止させるための停止情報を前記第二の通信手段
を用いて前記ホスト機から前記ターゲット機に送り、デ
バッグ情報受信手段は、前記停止情報を前記デバッグ情
報として受信し、前記デバッグ用プログラム実行手段
は、受信した前記停止情報に基づきデバッグ用プログラ
ムの実行を停止させることを特徴とする。
【0034】本発明によれば、ホスト機から停止情報を
送信することにより、ターゲット機のデバッグ用プログ
ラムの実行を停止させることができる。これにより所望
の個所でターゲット機の状態を調べることが可能とな
り、デバッグ効率の向上を図ることが出来る。
【0035】ここにおいて前記デバッグ情報送信手段
は、受信した前記出力情報が所定の条件に該当する場合
には前記ターゲット機においてデバッグ用プログラムの
実行を停止させるための停止情報を前記第二の通信手段
を用いて前記ホスト機から前記ターゲット機に送るよう
構成してもよい。
【0036】このようにすれば、ホスト機は前記出力情
報に応じて自動的に停止情報を送信し、ターゲット機の
デバッグ用プログラムの実行を停止させることができ
る。従って、停止させたい位置を前記出力情報に関連さ
せて指定しておくことで所望の箇所で自動的に前記デバ
ッグ用プログラムの実行を停止させることができるデバ
ッグ装置を提供することができる。
【0037】また本発明の前記デバッグ情報送信手段
は、前記ターゲット機において停止中のデバッグ用プロ
グラムを続行させるための続行情報を前記第二の通信手
段を用いて前記ホスト機から前記ターゲット機に送り、
デバッグ情報受信手段は、前記続行情報を前記デバッグ
情報として受信し、前記デバッグ用プログラム実行手段
は、受信した前記続行情報に基づき停止中のデバッグ用
プログラムを続行させることを特徴とする。
【0038】本発明によれば、ホスト機から続行情報を
送信することにより、ターゲット機において停止中のデ
バッグ用プログラムを続行させることができる。例えば
デバッグの状況に応じてユーザーがホスト機から続行を
指示にすることにより、所望のタイミングでデバッグ用
プログラムの実行を再開させることができる。従って、
デバッグ処理の進行にあわせてプログラムの続行を指示
できる使い勝手のよいデバッグ装置が実現する。
【0039】また本発明の前記デバッグ情報送信手段
は、前記ターゲット機においてメモリの内容を読み出す
ためのメモリ読み出し情報を前記第二の通信手段を用い
て前記ホスト機から前記ターゲット機に送り、デバッグ
情報受信手段は、前記メモリ読み出し情報を前記デバッ
グ情報として受信し、前記デバッグ用プログラム実行手
段は、受信した前記メモリ読み出し情報に基づき、ター
ゲット機においてメモリの内容を読み出すためのデバッ
グ用プログラムを実行させ、前記出力情報送信手段は、
前記出力情報として読み出したメモリの内容を出力する
ことを特徴とする。
【0040】ここにおいてメモり読み出し情報として
は、例えば読み出すべきメモリのアドレスとサイズ等が
ある。本発明によれば、デバッグしたい内容に応じてホ
スト機側で、適宜メモり読み出し情報を送信することが
できる。従って、デバッグの進行状況に応じてメモリの
所望の場所の内容を得ることが出来、デバッグ効率の向
上を図ることが出来る。
【0041】なお前記デバッグ情報送信手段は、受信し
た前記出力情報が所定の条件に該当する場合には、前記
ターゲット機においてメモリの内容を読み出すためのメ
モリ読み出し情報を前記第二の通信手段を用いて前記ホ
スト機から前記ターゲット機に送るよう構成しても良
い。
【0042】このようにすれば、ホスト機は前記出力情
報に応じて自動的に前記メモリ読み出し情報を送信す
る。従って、ユーザーはメモリの内容を読み出したい位
置を前記出力情報に関連させて指定しておくことで所望
の箇所で自動的にターゲット機のメモリの内容を読み出
すことができるデバッグ装置を提供することができる。
【0043】また本発明の前記デバッグ情報送信手段
は、前記ターゲット機においてメモリに所与の情報を書
き込むためのメモリ書き込み情報を前記第二の通信手段
を用いて前記ホスト機から前記ターゲット機に送り、デ
バッグ情報受信手段は、前記メモリ書き込み情報を前記
デバッグ情報として受信し、前記デバッグ用プログラム
実行手段は、受信した前記メモリ書き込み情報に基づ
き、ターゲット機においてメモリに所与の内容を書き込
むためのデバッグ用プログラムを実行させることを特徴
とする。
【0044】ここにおいてメモり書き込み情報として
は、例えば書き込むべきメモリのアドレスとサイズ、書
き込むべきデータ等がある。本発明によれば、デバッグ
したい内容に応じてホスト機側で、適宜メモり書き込み
情報を送信することにより、デバッグに必要な情報をメ
モリに書き込むことができる。
【0045】また本発明の前記デバッグ情報送信手段
は、受信した前記出力情報が所定の条件に該当する場合
には前記ターゲット機においてメモリに所与の情報を書
き込むためのメモリ書き込み情報を前記第二の通信手段
を用いて前記ホスト機から前記ターゲット機に送るよう
構成しても良い。
【0046】このようにすれば、ホスト機は前記出力情
報に応じて自動的に前記メモリ書き込み情報を送信す
る。従って、ユーザーはメモりに所与の情報を書き込み
たい位置を前記出力情報に関連させて指定しておくこと
で所望の箇所で自動的にターゲット機のメモりに所与の
情報を書き込むことができるデバッグ装置を提供するこ
とができる。
【0047】また本発明の前記デバッグ情報送信手段
は、前記ターゲット機においてI/Oポートの情報を読
み込むためのI/Oポート読み込み情報を前記第二の通
信手段を用いて前記ホスト機から前記ターゲット機に送
り、デバッグ情報受信手段は、前記I/Oポート読み込
み情報を前記デバッグ情報として受信し、前記デバッグ
用プログラム実行手段は、受信した前記I/Oポート読
み込み情報に基づき、ターゲット機においてI/Oポー
トの情報を読み込むためのデバッグ用プログラムを実行
させ、前記出力情報送信手段は、前記出力情報として読
み出したI/Oポートの情報を出力することを特徴とす
る。
【0048】ここにおいてI/Oポートの読み出し情報
としては、例えば読み出すべきI/Oポートのアドレス
等がある。本発明によれば、デバッグしたい内容に応じ
てホスト機側で、適宜I/Oポート読み出し情報を送信
することにより、デバッグに必要な情報をI/Oポート
から読み出すことが出来る。
【0049】また本発明の前記デバッグ情報送信手段
は、受信した前記出力情報が所定の条件に該当する場合
には前記ターゲット機においてI/Oポートの情報を読
み込むためのI/Oポート読み込み情報を前記第二の通
信手段を用いて前記ホスト機から前記ターゲット機に送
るよう構成しても良い。
【0050】このようにすれば、ホスト機は前記出力情
報に応じて自動的に前記I/Oポート読み込み情報を送
信する。従って、ユーザーはI/Oポートの情報を読み
込みたい位置を前記出力情報に関連させて指定しておく
ことで所望の箇所で自動的にターゲット機のI/Oポー
トの情報を読み込むことができるデバッグ装置を提供す
ることができる。
【0051】また本発明の前記デバッグ情報送信手段
は、前記ターゲット機においてI/Oポートに所与の情
報を書き込むためのI/Oポート書き込み情報を前記第
二の通信手段を用いて前記ホスト機から前記ターゲット
機に送り、デバッグ情報受信手段は、前記I/Oポート
書き込み情報を前記デバッグ情報として受信し、前記デ
バッグ用プログラム実行手段は、受信した前記I/Oポ
ート書き込み情報に基づき、ターゲット機においてI/
Oポートに所与の情報を書き込むためのデバッグ用プロ
グラムを実行させることを特徴とする。
【0052】ここにおいてI/Oポートの書き込み情報
としては、例えば書き込むべきI/Oポートのアドレ
ス、書き込むべきデータ等がある。本発明によれば、デ
バッグしたい内容に応じてホスト機側で、適宜I/Oポ
ート書き込み情報を送信するこことにより、デバッグに
必要な情報をI/Oポートに書き込むことが出来る。
【0053】また本発明の前記デバッグ情報送信手段
は、受信した前記出力情報が所定の条件に該当する場合
には前記ターゲット機においてI/Oポートに所与の情
報を書き込むためのI/Oポート書き込み情報を前記第
二の通信手段を用いて前記ホスト機から前記ターゲット
機に送るよう構成してもよい。
【0054】このようにすれば、ホスト機は前記出力情
報に応じて自動的に前記I/Oポート書き込み情報を送
信する。従って、ユーザーはI/Oポートに所与の情報
を書き込みたい位置を前記出力情報に関連させて指定し
ておくことで所望の箇所で自動的にターゲット機のI/
Oポートに所与の情報を書き込むことができるデバッグ
装置を提供することができる。
【0055】また本発明の前記デバッグ情報送信手段
は,前記ターゲット機に実行させたいデバッグ処理を指
示するための所与のデバッグプログラムを前記第二の通
信手段を用いて前記ターゲット機に送り、デバッグ情報
受信手段は、前記デバッグプログラムを前記デバッグ情
報として受信し、前記デバッグ用プログラム実行手段
は、受信した前記デバッグプログラムを実行させること
を特徴とする。
【0056】本発明によれば、デバッグ状況に応じて、
ターゲット機に所与のプログラムを実行させることがで
きる。従って、ターゲット機の設定等を変更すること無
く、所望のプログラムを実行することができる。
【0057】また本発明の前記デバッグ情報送信手段
は、受信した前記出力情報が所定の条件に該当する場合
には前記ターゲット機に実行させたいデバッグ処理を指
示するための所与のデバッグプログラムを前記第二の通
信手段を用いて前記ターゲット機に送るよう構成しても
良い。
【0058】このようにすれば、ホスト機は前記出力情
報に応じて自動的に前記所与のデバッグプログラムを送
信する。従って、ユーザーは前記所与のデバッグプログ
ラムを送りたい位置を前記出力情報に関連させて指定し
ておくことで所望の箇所で自動的にターゲット機に前記
所与のデバッグプログラムを送ることができるデバッグ
装置を提供することができる。
【0059】また本発明の前記デバッグ用プログラム実
行手段は、オペレーティングシステムが動作していない
状態でデバッグ用プログラムを実行させることを特徴と
する。
【0060】オペレーティングシステムが動作していな
い状態では、通常のソフトウエアデバッグを行う際に強
力な道具となるソフトウエアデバッガが使えない。従っ
て例えば、ROMとCPUのみしか動いていない状態で
実行されるBIOSのデバッグにはソフトウエアデバッ
ガは使えない。
【0061】一般に、まだハードウエアがサンプル品の
段階でハードウエアのデバッグが必要な状態でオペレー
ティングシステムの動作が望めない場合や、そもそもオ
ペレーティングシステムの動作を予定していない場合に
おいてもソフトウエアデバッガは使えない。本発明は、
前記ソフトウエアデバッガが有しているようなデバッグ
機能を有しているにも関わらず、オペレーティングシス
テムの動作を前提としていない。このため、ソフトウエ
アデバッガが使えない状況の情報処理装置においても、
種々のデバッグ処理を行うことができるデバッグ装置を
提供することが出来る。
【0062】また本発明の前記デバッグ用プログラム実
行手段は、ターゲット機の読み出し専用メモリに記憶さ
れているBIOSの初期化及び機能診断ルーチンをター
ゲット機の中央処理装置で実行させることを特徴とす
る。
【0063】ここにおいてBIOSとは、Basic
Input/Output Systemの省略で、通
常パソコン等の情報処理装置に組み込みのROMに書き
込んで提供されるソフトウエアをさす。本発明に関係す
るBIOSの機能としては、ハードウエアの初期化と機
能診断がある。
【0064】BIOSの初期化と機能診断のルーチン
は、電源投入後最初に実行されるプログラムである。前
記ルーチンは、メモリ・ビデオ・通信ポート・キーボー
ドなどパソコン等の情報処理装置に普通に装備されてい
る周辺装置が正常に働くかどうか分からない状態で実行
が開始される。即ち該ルーチンは、CPUと該ルーチン
が納められているROMのみが正常に働くと言う前提で
作られており、上記の周辺装置の機能を調べ、前記周辺
装置の初期化を行うものである。
【0065】本発明によれば、このようなBIOSの初
期化と機能診断のルーチンに、該プログラムに通信やホ
スト機からのデバッグ情報に伴う処理を実行するための
ルーチンを追加するという簡単な構成で、デバッグ用プ
ログラム実行手段で実行されるデバッグ用プログラムを
作成することができる。
【0066】また本発明の前記出力情報送信手段は、前
記出力情報としてデバッグ用プログラムの実行位置を表
す情報を出力することを特徴とする。
【0067】通常、ハード又はソフトに障害がある場合
は、該当個所で前記デバッグ用プログラムが実行が中断
される。本発明によれば、ターゲット機において実行さ
れるデバッグ用プログラムの実行位置を表す情報を得る
ことができるため、該実行位置を表す情報を参照するこ
とにより、前記デバッグ用プログラムがどこまで正常に
実行されたかを知ることができる。
【0068】また本発明の前記デバッグ用プログラム実
行手段は、複数の実行位置検出用命令が挿入されている
デバッグ用プログラムを実行し、前記実行情報送信手段
は、前記デバッグ用プログラムの前記実行位置検出用命
令の実行に基づき、所定のルールで増加又は減少させた
実行位置検出用ID番号を、実行情報としてターゲット
機からホスト機に送ることを特徴とする。
【0069】本発明によれば、実行位置検出用IDによ
り、前記デバッグ用プログラムのソースコード上の位置
を容易に知ることができる。
【0070】また本発明の前記デバッグ用プログラム実
行手段は、ターゲット機のRAMが動作していない状態
でデバッグ用プログラムを実行させることを特徴とす
る。
【0071】本発明によれば、CPUとROMと通信手
段のみ正常に機能しているハードウエアにおいて、デバ
ッグを行うことができる。
【0072】また本発明の前記ターゲット機は、所与の
ボード上に設けられた中央処理装置とメモリを含む集積
回路装置であって、前記第一の通信手段は第一の通信回
線を含み、前記第二の通信手段は第二の通信回線を含
み、前記第一の通信回線の一方の端子及び第二の通信回
線の一方の端子は、前記集積回路装置の端子及び前記ボ
ード上の配線の少なくとも一つと接続され、前記第一の
通信回線の他方の端子及び第二の通信回線の他方の端子
は、ホスト機と接続されていることを特徴とする。
【0073】本発明によれば、所与のボード上に設けら
れた中央処理装置とメモリを含む集積回路装置のデバッ
グ作業の容易化を図ることができる。
【0074】また本発明は、前記ホスト機の存在の有無
を検出するホスト検出手段を更に含み、前記デバッグ用
プログラム実行手段は、前記ホスト検出手段がホスト機
の存在が無いことを検出した場合には、ホスト機からの
デバッグ情報を待つことなく前記デバッグ用プログラム
を実行させることを特徴とする。
【0075】本発明によれば、何らかの事情でホスト機
が存在しない場合やホスト機との通信ができない場合に
は、ホスト機の存在を無視して前記デバッグプログラム
を実行させることができる。従って、デバッグが終了し
た後は、ホスト機の存在を無視してプログラムを実行す
ることができる。このため、前記デバッグ用プログラム
を入れたまま、出荷することもできるので、製品出荷後
に不良が発覚した場合のデバッグ装置として用いること
もできる。
【0076】また、製品出荷時に前記デバッグ用プログ
ラムを削除する必要がないため、製品に乗るプログラム
をデバッグ用プログラムとして援用して、デバッグ装置
を作成することもできる。
【0077】なお前記出力情報送信手段は、前記ホスト
検出手段がホスト機の存在が無いことを検出した場合に
は、出力情報の送信を行わないよう構成してもよい。こ
のようにすれば、通信を行う際の無駄な操作を省くこと
ができる。
【0078】また本発明の前記ホスト検出手段は、ホス
ト機からのデバッグ情報の受信の有無に基づきホスト機
の存在の有無を表すホスト存在フラグを設定する手段を
含み、ホスト存在フラグに基づきホスト機の存在がない
と判断することを特徴とする。
【0079】このようにすれば、ホスト機から応答がな
い場合、一旦ホスト機が存在しない旨のフラグが設定さ
れたら、後は該フラグを参照することでホスト機が存在
しないと判断することができる。すなわち、通信に伴い
毎回ホスト機の存在を確認する必要が無いため、ホスト
機確認に伴う時間的なロスを大幅に削減することができ
る。
【0080】また本発明の前記ホスト検出手段は、出力
情報送信手段が出力情報の送信に失敗した場合及び出力
情報送信後所定時間内にホスト機からのデバッグ情報を
受信しない場合の少なくとも一方の場合にホスト機の存
在が無いと判断することを特徴とする。
【0081】このようにすれば、出力情報送信手段が出
力の送信に失敗した場合にはホストの存在が無いと判断
する構成を有する通信手段を用いる場合でも、シリアル
ポートを用いた場合のように出力情報送信後所定時間内
にホスト機からのデバッグ情報を受信しない場合にホス
トの存在が無いと判断する構成を有する通信手段を用い
る場合でも、途中でホスト機との通信ができなくなった
ときに支障無くデバッグ用プログラムを実行させること
ができる。
【0082】また本発明は、前記デバッグ用プログラム
の出力情報及び出力情報に基づき生成されたデバッグ用
の情報を前記ホスト機から所与の出力手段に出力する手
段を含むことを特徴とする。
【0083】ここにおいて、出力情報に基づき生成され
たデバッグ用の情報とは、デバッグ用プログラムの実行
によるデバッグの内容がわかるような情報をいい、デバ
ッグ用プログラムの実行位置を表す情報や、デバッグ用
プログラムの実行位置に対応して設けられた実行内容を
説明するような情報を含む。
【0084】発明によれば、前記出力情報及び出力情報
に基づき生成されたデバッグ用の情報の少なくとも一方
が出力されるため、該情報を参照しながらデバッグ動作
を行うことができる。
【0085】また本発明の情報記憶媒体は、ハードウエ
アに障害を含む情報処理装置であるターゲット機のハー
ドウエア又はソフトウエアの少なくとも一方をデバッグ
するデバッグ装置に用いる情報記憶媒体であって、前記
ターゲット機において、電源投入後の初期状態において
デバッグ用プログラムを実行させるための情報と、前記
デバッグ用プログラムの出力情報を、前記ターゲット機
とは別に設けられた情報処理装置であるホスト機への通
信を行う第一の通信手段を用いて、ターゲット機からホ
スト機に送信するための情報とを含むことを特徴とす
る。
【0086】また本発明の情報記憶媒体は、前記受信し
た出力情報に基づき、前記ターゲット機に所与のデバッ
グ処理を行わせるためのデバッグ情報を前記ホスト機か
ら前記ターゲット機への通信を行う第二の通信手段を用
いてホスト機からターゲット機に送信するための情報
と、前記デバッグ情報を前記ターゲット機において受信
するための情報とを含み、前記デバッグ用プログラムを
実行させるための情報は、前記デバッグ情報に基づき所
与のデバッグ処理を行うための情報とを含むことを特徴
とする。
【0087】ここにおいて、情報記憶媒体とは、RO
M、RAM、フロッピーディスク等を含む。本発明の情
報記憶媒体を所与の情報処理装置の記憶手段として用い
ることにより通信を利用してデバッグ用プログラムの実
行をおこなうことが可能となる。
【0088】また本発明の情報処理装置は、本発明の情
報記憶媒体と、該情報記憶媒体に記憶された情報に基づ
き処理を行う中央処理手段を含むことを特徴とする。
【0089】本発明の情報処理装置によれば、通信を利
用してデバッグ用プログラムの実行をおこなえるため、
製品出荷時も前記デバッグ用プログラムを入れたままで
よい。このため、製品出荷後に不良が発覚した場合にも
ホスト機と接続するという簡単な操作でデバッグ装置と
して用いることもできる。
【0090】また本発明の情報処理装置の前記中央処理
手段と情報記憶媒体はカードサイズのボード上に実装さ
れていることを特徴とする。
【0091】カードサイズのボードは、小さすぎてロジ
ックアナライザやICE等のプローブが接続しにくい。
しかし、本発明の情報処理装置では、プローブの接続等
の操作を要しない。このため、前記クレジットサイズの
カード状のボードとして形成された情報処理装置であっ
ても、実行時間の遅延を招くことなく通信を利用したデ
バッグ処理を行うことができる情報処理装置を提供する
ことができる。
【0092】
【発明の実施の形態】本発明の実施の形態について説明
する。
【0093】図1は、本実施例のデバッグ装置を用い
て、クレジットサイズのカード形状のパソコン(以下カ
ードPCという)のサンプルをデバッグする際の外観図
を示している。前記カードPC10は、非常に小型であ
るため、サンプルデバッグ時にロジックアナライザのプ
ローブを付けることが困難である。また、前記カードP
C10は、CPUが基板に直付けになっているため、C
PUをICEのプローブと交換することができない。こ
のため、サンプルデバッグ時にロジックアナライザやI
CEを使うことができない。
【0094】そこで、本デバッグ装置は、デバッグの対
象(ターゲット機)であるカードPC10をホスト機と
なるパソコン20に通信線30で接続してデバッグを行
うよう構成されている。
【0095】(本実施例のハードウエア構成)図2は、
本実施例のデバッグ装置のハードウエア構成を示してい
る。本デバッグ装置では、デバッグされるサンプルの他
に、もう1台パソコンを使用する。サンプルをターゲッ
ト機100、もう1台のパソコンをホスト機200と呼
ぶ。
【0096】ターゲット機100は、CPU110、R
OM120、RAM130、I/Oポート140を含ん
でいる。ROM120には、デバッグ用プログラムが書
き込まれている。CPUがROMに記憶された該デバッ
グ用プログラムを読んで実行を行うことでデバッグ用プ
ログラム実行手段として機能する。また、該デバッグ用
プログラムは図3に示すように通信ルーチン330を含
んでおり、CPUが該通信ルーチン330を実行するこ
とで、出力情報送信手段及びデバッグ情報受信手段とし
て機能する。
【0097】ターゲット機となるカードPCはデバッグ
の対象となるサンプルであるため、電源投入後にPOD
を数十ステップも実行するとハングアップする程度にハ
ードウエアに障害を含んでいる段階である。但し、本デ
バッグ装置が有効に機能するために、少なくともCPU
はROMに記憶されたデバッグ用プログラムを読み込ん
で実行し、その出力をI/Oポートから通信線30を通
じてホスト機に送信できる機能は動作してるものとす
る。
【0098】ホスト機200は、CPU210、ROM
220、RAM230、I/Oポート240を含んでい
る。RAM230には、図6に示すホストプログラム6
00が記憶されている。該ホストプログラム600に記
憶されている受信モジュール610、蓄積モジュール6
30等が実行されることにより、出力情報受信手段とし
て機能する。また、該ホストプログラム600に記憶さ
れている蓄積モジュール630、操作モジュール65
0、送信モジュール620が実行されることにより、デ
バッグ情報送信手段として機能する。
【0099】また、ホスト機200とターゲット機10
0は、双方向の通信線30で結ばれている。該通信線3
0は、ターゲット機100からホスト機200への通信
を行う第一の通信線31と、ホスト機200からターゲ
ット機100への通信を行う第二の通信線32とシグナ
ルグラウンド33を含む。前記通信線30は、シリアル
ケーブルやパラレルケーブルなど、双方向でありさえす
ればよい。ソフトウエアでそれぞれの通信線に応じた通
信ルーチンを用意すればよいからである。
【0100】本デバッグ装置では、送信用に任意のI/
Oポートの1ビットを、受信用に任意のI/Oポートの
1ビットを割り当てている。両者は、同じポートの別の
2ビットでも良いし、Read Only/Write
Onlyの同一のビットであってもよい。例えば、シ
リアルポートのハンドシェイクラインを割り当てること
もできるし、外付けのハードウエアに入出力のビットを
一つずつ用意しても良い。通信線30は双方向であり、
半二重の通信線が用いられている。半二重であること自
体には意味がないが、単純なI/Oポートで通信する関
係上ハードウエアの支援が得られないこと及び通信プロ
グラムがRAMを使えないこと及び通信速度の確保のた
めには、全二重では無く半二重が好ましい。
【0101】(本実施例のソフトウエア構成)ターゲッ
ト機100では、デバッグ用プログラムが実行される。
デバッグ用プログラムの詳細については後述するが、図
3に示すようにPODを含んでいる。該PODには従来
に比べて10倍程度多いPOD_IDを出力できるよう
構成されている。デバッグ用プログラムでは、従来のP
ODが決まったボードに単純な出力命令で出力していた
POD_IDを、双方向の通信線30を使ってホスト機
200に送るように構成されている。また、送出後、ホ
スト機200から何等かのコマンドが送られてこないか
確認する。送られてこない場合にはPODを続行し、送
られてきた場合にはそのコマンドを処理を行う。
【0102】ホスト機200ではホストプログラムが実
行される。ホストプログラムは、ターゲット機100に
メモリ読み出しなどのコマンドを送り、その実行結果を
受け取り表示したり、ターゲット機100にプログラム
を送って実行させたりする。
【0103】次に、それぞれのソフトウェアが有するデ
バッグ上必要な各機能について説明する。
【0104】(ターゲット機におけるホスト検出機能)
ターゲット機100のデバッグ用プログラムは、処理を
開始してできるだけ早い時期にホスト機を検出し、ホス
ト機200が存在したかどうかを、ホスト存在フラグを
立てて記憶する。このようにホスト存在フラグを置くの
は、POD_ID送出の度にホスト機を検出すると、ホ
スト機200が存在しない場合PODの動作が遅くなっ
てしまうからである。
【0105】このようにすることで、デバッグ用プログ
ラムはデバッグ時以外は、ホストが無いものとして、通
常のPODの動作する。このため、製品出荷時にもデバ
ッグ用プログラムをはずす必要はない。従って、製品出
荷後に不良がでた場合のデバッグにも利用することがで
きる。
【0106】(ターゲット機におけるPOD_ID送信
機能)デバッグ用プログラムのPODには、その各所
に、動作が十分追えるようにPOD_IDが割り当てら
れている。POD_IDが割り当てられているとは、P
OD_IDを送出するためのルーチンを呼び出すサブル
ーチンコールが組み込まれていることを意味する。図4
(A)は、PODにPOD_IDを送出するためのルー
チンを呼び出すサブルーチンコールが組み込まれている
様子を示している。ここではsend_id(360ー
1、360ー2、360ー3)がPOD_IDを送出す
るためのルーチンを呼び出すサブルーチンコールに当た
る。
【0107】POD_IDを送出するためのルーチンで
は、まず、I/OポートへのPOD_IDの出力がおこ
なわれる。これは、単純なアウトプット命令である。そ
して、ホスト機が存在するかどうかホスト存在フラグに
よって判定する。ホスト機が存在しない場合には直ちに
呼び出し元に戻る(図5(A)のステップ50参照)。
ホスト機が存在する場合には、POD_IDをホスト機
に送り出し(図5(A)のステップ60参照)、その
後、ホスト機からコマンドの送出が無いか調べるためし
ばらく待つ(図5(A)のステップ70参照)。そして
コマンドが来なければ呼び出し元に戻る(図5(A)の
500参照)。コマンドが来れば、そのコマンドを処理
した後、呼び出し元に戻る(図5(A)のステップ10
0、110、120、140参照)。なお、RAMが使
えない場合でも、コマンド処理が行えるように、送られ
てきたコマンドや付随するパラメータ等は、CPUのレ
ジスタに記憶して処理を行うようにすることが好まし
い。
【0108】(ホスト機における出力情報受信機能)ホ
ストプログラムは、デバッグ用プログラムにホスト機を
検出させるため、デバッグ用プログラムより先に実行を
開始し、常に通信線30を見張り、PODがPOD_I
Dを送り出す度にそれを受け取ってメモリに蓄積する
(図5(B)のステップ160、170、180参
照)。ホスト機のメモリ上には、概ね3万ステップ程度
のPOD_IDが蓄積が可能である。これは、ロジック
アナライザに比べると10倍程度の能力であり、さらに
テンポラリファイルを利用することで、蓄積量を事実上
無制限にすることもできる。
【0109】(ホスト機における出力情報表示機能)蓄
積されたPOD_IDは、通信処理の合間にホスト機の
画面に表示される。POD_IDそのままでは単なる1
6ビットの数値で分かり難いので、対応するPODソー
スコードからコメントを取り出してならべて表示するこ
と等が好ましい。
【0110】(ホストプログラムからターゲット機の動
作を停止させるための機能)ブレークポイント機能を利
用したり、ワンステップ機能を利用したり、その他のユ
ーザー操作によって、ホスト機からターゲット機の動作
を停止させることができる。
【0111】ブレークポイント機能とは、あらかじめ決
められたPOD_IDが送られてきた時にPODの処理
を止める機能である。この機能は、POD_IDを受け
取った直後にターゲット機にPODの動作を中断するコ
マンドを送ることで実現される。(図5(B)のステッ
プ190、210参照)ブレークポイントとなるPOD
_IDはシステムで標準を定めても良いし、ユーザーが
デバッグ状況に応じて適宜定めても良い。例えば、デバ
ッグ用プログラムがシリアルポートの初期化を終えた時
に動作を止め、シリアルポートのテストプログラムをタ
ーゲット機に送り込んでシリアルポートの動作を確かめ
たい場合、前記初期化を終えた時点で出力されるPOD
_IDをブレークポイントとして設定しておくこととよ
い。
【0112】ブレークポイントでPODの処理を止めた
後、ユーザーは、ホストプログラムを通して、種々の操
作を行うことができる。即ちホスト機の画面には、デバ
ッグ用プログラムに進行状況を表すために実行位置に対
応するコメント情報が表示されている。ユーザーは、該
画面表示を見ながら、ブレークポイントにおいてターゲ
ット機において実行させたいデバッグ処理を決定し、該
デバッグ処理に対応するコマンド等の実行を、ホスト機
のキーボードより入力する(図5(B)のステップ22
0、230、240参照)。
【0113】なお、ブレークポイント以外でもターゲッ
ト機の動作を停止させたい場合、ワンステップ機能を利
用したり、ユーザー操作を行ったりする。
【0114】ワンステップ機能とは、ターゲット機にお
いて次のsend_idルーチン呼び出しまでを実行さ
せる機能である。即ちユーザーがホスト機を操作して、
ワンステップ機能を実行するよう指示した後にくる最初
のPOD_IDでターゲット機の実行を停止させること
ができる。
【0115】ワンステップ機能は、ターゲット機のPO
Dの継続を指示するコマンドを送り、その後にくる最初
のPOD_IDに対して停止コマンドを送ることで実現
される。 また、ユーザーがホスト機を操作することに
よって、一時的なブレークポイントを指示して、該一時
的なブレークポイントでターゲット機を止めることもで
きる。
【0116】以下、本デバッグ装置のターゲット機及び
ホスト機の構成及び動作の一例について詳細に説明す
る。
【0117】(デバッグ用プログラムの構成)図3は、
ターゲット機のROMに記憶されているデバッグ用プロ
グラム300の構成を表している。デバッグ用プログラ
ム300は、POD310と本デバッグ装置のデバッグ
機能を実現するために必要なプログラムであるPOD_
ID更新ルーチン320、通信ルーチン330、コマン
ド処理ルーチン340を含んでいる。
【0118】POD310は、電源投入後最初に実行さ
れ、ハードウエアの初期化と機能診断を行うプログラム
である。すなわち、POD310は、メモリ・ビデオ・
通信ポート・キーボードなどパソコンに普通に装備され
ている周辺装置の機能を調べ初期化する複数の初期化&
機能診断ルーチン312、314…を含んでいる。
【0119】該POD310は、電源投入後最初に実行
され、周辺デバイスの機能診断をするため、従来からサ
ンプルのデバッグに用いるプログラムとして援用されて
いた。しかし従来は、デバッグ上重要な位置でPOD_
IDと呼ばれるコードを出力させ、それをロジックアナ
ライザに記憶させていただけだった。このため、ロジッ
クアナライザがつかないサンプルではデバッグが出来な
かったり、記録出来るPOD_IDの数が限られていた
り、PODの実行を止めて種々の操作をすることが出来
ない等の各種不具合が生じていた。
【0120】そこで前記不具合の解消すべく、本実施例
のデバッグ装置はPOD_IDも含めたデバッグ用プロ
グラムの出力情報を前記通信線30を介してホスト機2
00に送信し、又ホスト機からのコマンド等を受信し
て、該コマンドに対応する処理を行う機能を有するよう
構成されている。
【0121】ターゲット機100においては、前記PO
D_ID更新ルーチン320、通信ルーチン330、コ
マンド処理ルーチン340をデバッグ用プログラムに含
ませることで、ソフトウエア的に前記機能の実現を図っ
ている。
【0122】前記POD_ID更新ルーチン320は、
POD_IDを更新して、通信ルーチンに渡す処理を行
うルーチンである。POD310は、デバッグ上重要な
位置でPOD_ID更新ルーチン320をコールするよ
う構成されている。なお、RAMが使えないので、サブ
ルーチンの呼び出しには、戻り番地をレジスタ渡しにす
るなどの特殊なテクニックが必要となる。
【0123】通信ルーチン330は、ターゲット機とホ
スト機の通信処理を行うルーチンであり、POD_ID
更新ルーチンから呼ばれて起動される。通信ルーチン
は、ホスト機の存在確認を行い、ホスト機が存在する場
合POD_IDの送信を行い、ホスト機からのコマンド
を受信するよう構成されている。そして、受信したコマ
ンドの処理を行うコマンド処理ルーチン340をコール
する。なお、該通信ルーチン330が実行されること
で、出力情報記憶手段及びデバッグ情報受信手段として
機能する。
【0124】コマンド処理ルーチン340は、ホスト機
から送られてくるコマンドに応じて、該コマンドに対応
した各種処理を行うためのプログラムを含んでいる。ホ
スト機からは、停止しているPOD310の継続を指示
するコマンド、PODの実行の停止を指示するコマン
ド、ターゲット機のメモリの内容を読み出すことを指示
するコマンド、ターゲット機のメモリに所与の内容を書
き込むことを指示するコマンド、ターゲット機のI/O
ポートの内容を読み出すことを指示するコマンド、ター
ゲット機のI/Oポートに所与の内容を書き込むことを
指示するコマンド、ホストから送信したプログラムの実
行を指示するコマンド等が送られてくる。
【0125】これに応じてコマンド処理ルーチン340
には前記各コマンドに対応した処理を行うためのプログ
ラムである継続コマンドルーチン341、停止コマンド
ルーチン342、メモリ読み出しコマンド処理ルーチン
343、メモリ書き込み処理ルーチン344、I/Oポ
ート読み出知るーチン345、I/Oポート書き込みル
ーチン346、プログラム実行コマンド処理ルーチン3
47が設けられている。
【0126】ここで、POD310及びPOD_ID更
新ルーチン320について説明する。
【0127】図4(A)(B)は、POD310の主要
個所にPOD_IDの更新ルーチン呼び出しが挿入され
ている様子及びPOD_ID更新ルーチン320の処理
の概略を表した図である。
【0128】図4(A)のPOD310はDMAページ
レジスタのテストを行うルーチンであり、DMAページ
レジスタの80hから8Ehに対し、各ビットが正しく
読み書き出来ることを1ビットずつ確認していく処理を
行っている。この例では、DMAページレジスタのテス
トを始めるとき(360ー1)、テスト中にエラーが生
じたとき(360ー2)、テストを終了したとき(36
0ー3)の3ヶ所でPOD_IDがホスト機に送られ
る。POD_ID更新ルーチンの呼び出しはマクロで行
われる。この例では、POD_ID更新ルーチンのマク
ロ名はsend_idである。この様に、PODを作成
する際、デバッグ状重要な位置に予めPOD_ID更新
ルーチンのマクロを挿入しておく。
【0129】図4(B)は、POD_ID更新ルーチン
320のマクロの処理の概要を表している。マクロ内で
のPOD_IDの再定義(370)は、一回マクロが呼
ばれる度にPOD_IDを増加させるためのものであ
る。これにより、マクロのなかでPOD_IDが1ずつ
増加され、各send_idマクロが異なるPOD_I
Dを送ることが出来る。なお、POD_IDはBIOS
のソースコードのファイルごとに1000個程度割り当
てられている。
【0130】POD_ID更新ルーチン320のマクロ
では、更新したPOD_IDをホスト機に送るために、
通信ルーチン330のコール(380)が行われる。
【0131】次に通信ルーチン330及び通信ルーチン
330が行うホスト機の存在確認について説明する。
【0132】通信ルーチン330は、ターゲット機10
0とホスト機200の通信処理を行うルーチンであり、
POD_ID更新ルーチン320から呼ばれて起動され
る。通信ルーチン330は、まずホスト機の存在の有無
の確認を行い、ホスト機が存在しない場合には、POD
_IDの送信を行わずに呼び出し元へ戻る。
【0133】ホスト機200が存在する場合には、PO
D_IDをホスト機200に送信し、ホスト機200か
らのコマンドを受信するまで待機する。本実施例のデバ
ッグ装置では、ターゲット機100がホスト機200に
POD_IDを送信すると、ホスト機200は存在する
限りなにがしかのコマンドを返送するように構成されて
いるからである。そしてホスト機200からコマンドを
受信すると、コマンド処理ルーチンをコールする。
【0134】本デバッグ装置は、POD_IDを送信す
ると、ホスト機から継続コマンドを受信しない限りホス
ト機から送信されるコマンドの処理を行うよう構成され
ている。このため継続コマンドの場合以外は、再びホス
ト機からのコマンドを受信するまで待機することにな
る。
【0135】なお、ホスト機の存在の有無の確認につい
ては、ホスト存在フラグを参照して行うよう構成されて
いる。即ち、処理の開始直後PODは通信ルーチンをコ
ールする。このとき、通信ルーチンはホスト機確認用に
決められたデータの送信をおこない、該データに対して
きめられたデータの応答があるかいなかでホスト機の存
在の有無を検出する。前記応答があった場合、ホスト機
が存在するとしてホスト存在フラグをONにし、前記応
答がない場合、ホスト機が存在しないとしてホスト存在
フラグをOFFにする。そして、ホスト存在フラグを設
定した後は、該ホスト存在フラグを参照して、ホスト機
の存在の有無の確認を行う。しかし、ホスト存在フラグ
がONであったため、POD_IDを送信したが、所定
時間すぎてもホスト機からなんらコマンドが送られてこ
ない場合には、ホスト存在フラグをOFFにして呼び出
し元に戻る。この様にしておけば、何らかの原因により
途中でホスト機との通信が出来なくなった場合、ホスト
機の存在をないものとして処理を続行出来るからであ
る。
【0136】また、RAMが使えない状況であるため、
ホスト存在フラグは、周辺デバイスにある何れかのポー
ト(スクラッチパッドレジスタを持つデバイスが幾つか
ある)か、CPUのレジスタの一つをPODでは使用し
ないことにしてそこに置くことにしてもよい。本デバッ
グ装置では、ターゲット機の一つの32ビットレジスタ
(たとえばECXレジスタ)の上位16ビットをPOD
で使用しないようにして、そこにホスト存在フラグを置
くことにしている。このように無理をしてまでホスト存
在フラグを置くのは、POD_ID送出の度にホスト機
を検出すると、ホスト機が存在しない場合PODの動作
が遅くなるのを防ぐためである。
【0137】(ターゲット機の動作の説明)ターゲット
機であるカードPCは、前記デバッグ用プログラム及び
ホスト機から送信される情報に基づき動作する。以下、
前記デバッグ用プログラムによるターゲット機の動作に
ついて説明する。
【0138】図5(A)(B)は本デバッグ装置の動作
説明を行うためのフローチャート図である。図5(A)
はターゲット機における動作を説明するためのフローチ
ャート図である。
【0139】まず、電源が投入されると前記デバッグ用
プログラムのPODの実行が開始され、ホスト存在フラ
グの設定がおこなわれる(ステップ5)。そしてPOD
は、途中でハングアップするか、最後まで実行されて終
了する(ステップ10)。
【0140】PODの実行途中で、send_id(P
OD_ID更新ルーチン)のマクロ呼び出しがあると、
前記POD_ID更新ルーチン320に処理がわたりP
OD_ID更新処理が行われる(ステップ30、ステッ
プ40)。そして、前記通信ルーチン330に処理が渡
り、まずホスト機の存在チェックが行われる。即ち、ホ
スト存在フラグを参照し、ホスト存在フラグがOFFで
あったら、ホスト機へPOD_IDの送信を行わず、直
ちに呼び出し元のPODにもどる。ホスト存在フラグが
OFFでなかったら、ホスト機へPOD_IDを送信す
る処理が行われる(ステップ60)。そしてホスト機か
らのコマンド待ち状態となり、PODの実行は停止した
状態となる(ステップ70)。
【0141】ここにおいて、ホスト機から所定時間応答
がない場合、ホスト存在フラグをOFFにして、呼び出
し元のPODにもどる処理が行われる(ステップ80、
ステップ90)。該処理をタイムアウト処理(500)
という。
【0142】所定時間内にホスト機からコマンドを受信
すると、該コマンドに対応したコマンド処理ルーチン3
40が起動され、コマンドによって指示された処理が行
われる(ステップ140)。該コマンドが継続コマンド
であった場合、呼び出し元のPODにもどり、停止して
いたデバッグ用プログラムの実行が再開される(ステッ
プ110)。
【0143】また、ホスト機から受信したコマンドが、
停止コマンドであった場合、前記タイムアウト処理が禁
止され、再びホスト機からのコマンド待ち状態となる
(ステップ120、ステップ130、ステップ70)。
【0144】(ホスト機の動作の説明)次にブレークポ
イント機能を利用してターゲット機に種々デバッグコマ
ンドを送る場合を例にとりホスト機の動作を説明する。
【0145】ホストプログラムは、デバッグ用プログラ
ムにホスト機を検出させるため、デバッグ用プログラム
より先に実行を開始し、常に通信線を見張り、ターゲッ
ト機からPOD_IDが送られてくるのを待っている
(ステップ160)。そしてターゲット機がPOD_I
Dを送り出す度にそれを受け取ってメモリに蓄積する
(ステップ170、ステップ180)。
【0146】そして、受信したPOD_IDが、ブレー
クポイントに該当するか否か判断する(ステップ19
0)。該POD_IDがブレークポイントに該当しない
場合、ターゲット機に継続コマンドを送り(ステップ1
90、ステップ200)、該当する場合ターゲット機に
停止コマンドを送る(ステップ190、ステップ21
0)。
【0147】ブレークポイントになると、ユーザーの入
力待ちとなり(ステップ220)、ユーザーからの入力
があると(ステップ230)、入力された内容に対応す
るコマンドの送信処理を行う(ステップ240)。入力
されたコマンドが継続コマンドであれば、通常のターゲ
ット機からPOD_IDが送られてくるのを待っている
状態に戻る(ステップ250、ステップ160)。入力
されたコマンドが継続コマンドで無ければ、再びユーザ
ーの入力待ちの状態に戻る(ステップ250、ステップ
220)。
【0148】(ホスト機プログラムの構成)図6はホス
トプログラムとその入出力デバイスの構成を示した図で
ある。
【0149】ホストプログラム600は、受信モジュー
ル610、送信モジュール620、蓄積モジュール63
0、表示モジュール640、操作モジュール650を含
む。
【0150】受信モジュール610は、ターゲット機か
ら通信線30、I/Oポート240の受信ポート690
を介して受け取ったデータを蓄積モジュール630に送
る機能を有する。ターゲット機から受け取るデータは、
POD_IDやデバッグコマンドに対する応答等のデバ
ッグ用プログラムの出力データや、ホストから送信した
プログラムの出力データ等である。
【0151】送信モジュール620は、他のモジュール
から渡されたデータをI/Oポート送信ポート700、
通信線30を介してターゲット機に送り出す機能を有す
る。
【0152】蓄積モジュール630は、以下の機能を有
する。
【0153】(1)受信モジュール610から渡された
データをメモリ710に蓄積する。
【0154】(2)受信モジュール610からデータが
渡されたことを操作モジュール650に通知する。
【0155】(3)ファイル660から読み込んだデー
タをメモリ710に蓄積する。
【0156】(4)メモリ710に蓄積されているデー
タをファイル660に書き込む。
【0157】(5)表示モジュール640からの要求に
応じて、蓄積したデータを渡す。
【0158】蓄積モジュール630は、受信モジュール
610から受け取ったデータとファイル660から読み
込んだデータを区別しないので、POD_IDの記録を
一旦ファイル660に書き出し、後から参照することも
できる。
【0159】以下各モジュールについて、詳細に説明す
る。
【0160】(受信モジュール)まず、受信モジュール
610が行う受信動作について説明する。
【0161】受信モジュール610はターゲット機から
送られてきたデータを二線式通信方式により受信する。
二線式通信方式は、割り込みを使わず、ボーリングとソ
フトウエアによるハンドシェイクによって通信する。そ
のため、受信モジュール610は、適当な時間間隔で繰
り返して呼ばれ、ターゲット機からの受信要求を調べ
る。受信要求がなければ、受信モジュール610は何も
しない。
【0162】受信要求があれば、受信モジュール610
は、データを受信し、受信したデータを蓄積モジュール
630に渡す。受信モジュール610は、データの種類
を区別しない。即ち、ターゲット機から送られてきたデ
ータが、POD_IDであるか、例えば読み出したメモ
リのデータであるのか区別しない。
【0163】(送信モジュール)次に、送信モジュール
620が行う送信動作について説明する。
【0164】送信モジュール620は、他のモジュール
から渡されたデータを二線式通信方式を使ってターゲッ
ト機に送る。送られるデータは、デバッグコマンドやメ
モリ書き込みデータなどである。送信モジュール620
も、受信モジュール610同様データの種類を区別しな
い。
【0165】(蓄積モジュール)蓄積モジュール630
は、データ蓄積サブモジュール632とファイル操作サ
ブモジュール634の2つのサブモジュールを持つ。デ
ータ蓄積サブモジュール632は、メモリ710やディ
スク上のテンポラリファイルをデータ蓄積場所として確
保している。
【0166】このモジュールは、以下の機能を持つ。
【0167】(1)他のモジュールやサブモジュールか
ら渡されたデータを、データ蓄積場所に蓄積する。
【0168】(2)データ蓄積場所に蓄積されたデータ
の簡単な解釈をする。
【0169】(3)受信モジュール610からデータを
受け取ったことを、操作モジュール650に通知する。
【0170】(4)他のモジュールやサブモジュールか
ら要求されたデータを、データ蓄積場所から読み出して
渡す。
【0171】(5)他のモジュールやサブモジュールか
らの指示により、データ蓄積場所を空にする。
【0172】ここで、データ蓄積サブモジュール632
の機能の一つ「蓄積されたデータの簡単な解釈」につい
て説明する。
【0173】受信モジュール610は、ターゲット機よ
り送られてきたデータそのままを1バイト単位でデータ
蓄積サブモジュール632に渡すが、このままでは、デ
ータとして扱いづらい。すなわち、受け取ったデータを
そのままでは、単なるバイト列であるため、POD_I
Dなのかホスト機から送られたコマンドに対する応答な
のかの区別がない。また、例えばPOD_IDは3バイ
トのデータとして送信されるが、この1バイト目なのか
2バイト目なのかの区別もない。このように単なるバイ
トデータのままでは、データ蓄積サブモジュール632
からデータを得る操作モジュール650や表示モジュー
ル640がそれぞれデータの解釈をする必要が生じる。
この場合、2つ以上のモジュールでデータを解釈すると
解釈ロジックに誤りが入る可能性が高くなるので、デー
タ蓄積サブモジュール632で基本的なデータ解釈をす
ませる方が望ましい。そこで、本デバッグ装置では、蓄
積モジュール630でデータの解釈を行うことにしてい
る。
【0174】データ蓄積サブモジュール632の行うデ
ータ解釈は、データの区切りを決めること及びデータの
エラーを検出し、適当な補正を加えることを含む。デー
タの区切りを決める機能は、複数のバイトの組み合わせ
で送られてくるPOD_IDやその他のデータを、それ
ぞれまとまったデータとして解釈するための機能であ
る。データエラーの検出と補正は、誤って受信されたデ
ータによって生じるデータ解釈の混乱の影響を最低限に
押さえるためのものである。代表的には、バイトの挿入
・削除・変更によって、合理的なデータの区切りを得ら
れるようにする。
【0175】なお、操作モジュール650へのデータ受
け取りの通知は、データの解釈が終わった後で行われ
る。
【0176】ファイル操作サブモジュール634は、他
のモジュールの指示により、データ蓄積サブモジュール
632に蓄積されているデータをファイル660に書き
出したり、ファイル660からデータを読み込んでデー
タ蓄積サブモジュール632に蓄積させたりする。
【0177】蓄積モジュール630は、蓄積動作、デー
タ提供動作、ファイル操作を行う。即ち、蓄積モジュー
ル630は、受信モジュール610から渡されたデータ
を、データ蓄積サブモジュール632を使って蓄積す
る。また、蓄積モジュール630は、他のモジュールか
ら要求されたデータを、データ蓄積サブモジュール63
2から取り出して提供する。また、蓄積モジュール63
0は、操作モジュール650の指示により、データ蓄積
サブモジュール632に蓄積されているデータをファイ
ル660に書き出したり、ファイル660からデータを
読み込んでデータ蓄積サブモジュール632に蓄積させ
たりする。
【0178】(表示モジュール)表示モジュール640
は、操作モジュール650から指示されたデータを蓄積
モジュール630から取得し、ホスト機の画面(表示
部)670に表示する。また、コメント用ファイル72
0から、各POD_IDについてのコメント情報を取得
し、データの表示に利用する。
【0179】表示の書式を、操作モジュール650から
の指示によって変更できる。表示できる項目は、「PO
D_ID・ソースコード名・行番号・コメント・詳細コ
メント」から選べる。
【0180】(操作モジュール)操作モジュール650
は、自動応答サブモジュール652と司令処理サブモジ
ュール654のサブモジュールを有する。
【0181】自動応答サブモジュール652は、蓄積モ
ジュール630から受信データを受け取り、それに応じ
た応答を、送信モジュール620を通じて自動的にター
ゲット機に送る。
【0182】通常、ターゲット機に送られるデータは、
ターゲット機にPODの処理を続行させるための継続コ
マンドである。ブレークポイントのPOD_IDが送ら
れてきたときには、PODの動作を中断させるための停
止コマンドを送る。
【0183】さらに複雑な処理をおこなわせることもで
きる。例えば、あるPOD_IDを受け取った時にあら
かじめ用意されているプログラムをターゲット機に送っ
て実行させ、その実行が終了してからPODの動作を再
開するなどの処理を、あらかじめ予約しておくこと等も
できる。
【0184】司令処理サブモジュール654は、ユーザ
ーが入力部680から行うキーボード操作やメニュー操
作を解釈し、各モジュールに適当な指示を出す。ユーザ
ーの行える操作としては、表示位置の変更・データの検
索、ブレークポイントの設定・自動応答の予約、ワンス
テップ機能の予約、ターゲット機のメモリ編集・I/O
・プログラム実行・POD再開の指示、蓄積データのフ
ァイルへの書き出し・読み込みの指示、ホストプログラ
ム終了の指示等がある。
【0185】(デバッグ装置の基本的な動作及び代表的
な動作説明)次に、本デバッグ装置の基本的な動作及び
代表的な動作について、説明する。 (ホストプログラムにおけるPOD_ID受け取り時の
動作)図7は、POD_ID受け取り時のホストプログ
ラムにおける各モジュール毎の動作を説明するための図
である。
【0186】ターゲット機から送られてくるPOD_I
Dはヘッダが1バイトでPOD_IDが2バイトの3バ
イトのデータである。ヘッダを付けるのはノイズがのる
可能性が高いためである。また、POD_IDは16ビ
ットで表されるデータである。
【0187】受信モジュール610はデータの内容を区
別すること無く、受け取ったデータを1バイトずつ蓄積
モジュール630に送る(ステップ310、ステップ3
30、ステップ350)。蓄積モジュール630は、受
信モジュール610から送られてきたデータを蓄積し
(ステップ320、ステップ340、ステップ36
0)、POD_IDデータにおけるヘッダを検出するこ
とにより、POD_IDデータが送られてきたと解釈
し、操作モジュール650に通知する(ステップ37
0)。
【0188】操作モジュール650は、表示モジュール
640に最新データを表示するように指示する(ステッ
プ380)。表示モジュール640は該指示を受ける
と、蓄積モジュール630から最新データを得て、該デ
ータに関するコメント情報等をコメントファイル720
から読み出して画面(表示部)670に表示する(ステ
ップ390)。
【0189】また、操作モジュールでは650では、蓄
積モジュール630に蓄積された最新のPOD_IDデ
ータがブレークポイントに該当するか否か調べる(ステ
ップ400)。ブレークポイントの時は、停止コマンド
を送るよう送信モジュール620に指示する(ステップ
410)。これを受けて送信モジュール620は、ター
ゲット機に停止コマンドを送る(ステップ420)。ブ
レークポイントでない時は、継続コマンドを送るよう送
信モジュール620に指示する(ステップ430)。こ
れを受けて送信モジュール620は、ターゲット機に継
続コマンドを送る(ステップ440)。
【0190】ブレークポイントがくると、ターゲット機
においてタイムアウト処理が禁止されPODの実行を停
止したままホスト機からの指示を待つ状態となる。そこ
でユーザーは所望のデバッグ動作を指示するためのコマ
ンド及びパラメータをホスト機の入力部680から入力
することができる。このときに指示できるコマンドとし
ては、メモリやI/Oポートの読み出しコマンドや、メ
モリやI/Oポートの書き込みコマンドや、プログラム
の実行コマンド等がある。また、ユーザーはワンステッ
プ機能の設定や一時的なブレークポイントの設定も行う
ことができる。以下、それぞれのコマンドが指示される
場合におけるホストプログラム及びターゲット機のデバ
ッグ用プログラムの動作について説明する。
【0191】(メモリやI/Oポートの読み出しコマン
ドが指示される場合の動作)図8は、メモリやI/Oポ
ートの読み出しコマンドが指示される場合のホストプロ
グラムの各モジュール及びターゲット機の動作を説明す
るための図である。
【0192】ユーザーが、入力部680より、ターゲッ
ト機のメモリやI/Oポートを読み出すように操作する
と(ステップ510)、操作モジュール650は、メモ
リ読み出しコマンド又はI/Oポート読み出しコマンド
と、それに付随するパラメータを送るよう送信モジュー
ル620に指示する(ステップ520)。送信モジュー
ル620は、これを受けて該当するコマンドとパラメー
タをターゲット機に送る(ステップ530)。ここにお
いてパラメータとは、読み出すべきメモリやI/Oポー
トのアドレス等をさす。
【0193】ターゲット機の通信ルーチンは、ホスト機
から送られてきたコマンドとパラメータを受け取る(ス
テップ540)。そして、コマンド処理ルーチン340
(図3参照)の対応するルーチン(メモリ読み出しコマ
ンド処理ルーチン343又はI/Oポート読み出しコマ
ンド処理ルーチン345)に処理が渡り、指定されたI
/Oポート又はメモリのデータの読み出しが行われる
(ステップ550)。読み出したデータは1バイトずつ
順次CPUのレジスタに記憶され、通信ルーチンにより
ホスト機に送られる(ステップ560)。
【0194】ホスト機の受信モジュール610では、ま
ず前記コマンドの応答ヘッダを受け取る(ステップ57
0)。蓄積モジュール630は応答ヘッダを蓄積する
(ステップ580)。次に、ホスト機の受信モジュール
610では、ターゲット機において読み出されたデータ
を受け取る(ステップ590)。蓄積モジュール630
は該データを蓄積する(ステップ600)。そして蓄積
モジュール630は、ターゲット機から応答のあったこ
とを操作モジュール650に通知する(ステップ61
0)。
【0195】操作モジュール650は、表示モジュール
640に、最新データを画面(表示部)670に表示す
るように指示する(ステップ620)。表示モジュール
640は蓄積モジュール630から最新データを得て、
画面(表示部)670に表示する(ステップ630)。
ここにおいて、最新データとは、コマンドに対する応答
と、読み出されたデータである。
【0196】(メモリやI/Oポートへの書き込みコマ
ンドが指示される場合の動作)図9は、メモリやI/O
ポートへの書き込みコマンドが指示される場合のホスト
プログラムの各モジュール及びターゲット機の動作を説
明するための図である。
【0197】ユーザーが、入力部680より、ターゲッ
ト機のメモリやI/Oポートに所与のデータを書き込む
ように操作すると(ステップ710)、操作モジュール
650は、メモリ書き込みコマンド又はI/Oポート書
き込みコマンドと、それに付随するパラメータを送るよ
う送信モジュール620に指示する(ステップ72
0)。ここにおいて送信モジュール620は、これを受
けて該当するコマンドとパラメータをターゲット機に送
る(ステップ730)。ターゲット機の通信ルーチン
は、ホスト機から送られてきたコマンドとパラメータを
受け取る(ステップ740)。ここにおいてパラメータ
とは、データを書き込むべきメモリやI/Oポートのア
ドレス等をさす。
【0198】また、操作モジュール650はターゲット
機のメモリやI/Oポートに書き込むべきデータを送る
よう送信モジュール620に指示する(ステップ75
0)。送信モジュール620は、これを受けて書き込む
べきデータをターゲット機に送る(ステップ760)。
ターゲット機の通信ルーチンは、ホスト機から送られて
きた該データを受け取る(ステップ770)。
【0199】そして、コマンド処理ルーチン340の対
応するルーチン(メモリ書き込みコマンド処理ルーチン
344又はI/Oポート書き込みコマンド処理ルーチン
346)に処理が渡り、指定されたI/Oポート又はメ
モリに受信したデータの書き込みが行われる(ステップ
772)。受信したデータは1バイトずつ順次CPUの
レジスタに記憶され、順次I/Oポート又はメモリに書
き込みが行われる。そして書き込みの終了を示す応答ヘ
ッダをホスト機に送信する(ステップ780)。
【0200】ホスト機の受信モジュール610では、ま
ず前記応答ヘッダを受け取る(ステップ790)。蓄積
モジュール630は応答ヘッダを蓄積する(ステップ8
00)。蓄積モジュール630は該データを蓄積する
(ステップ600)。そして蓄積モジュール630は、
ターゲット機から応答のあったことを操作モジュール6
50に通知する(ステップ810)。
【0201】操作モジュール650は、表示モジュール
640に、最新データを画面(表示部)670に表示す
るように指示する(ステップ820)。表示モジュール
640は蓄積モジュール630から最新データを得て、
画面(表示部)670に表示する(ステップ830)。
ここにおいて、最新データとは、コマンドにたいする応
答である。
【0202】(ターゲット機にプログラムを送信して実
行させる時の動作)図10は、ホスト機からターゲット
機にプログラムを送信して実行させる場合のホスト機及
びターゲット機における動作の概略について説明するた
めの図である。
【0203】まず、ホスト機において、ファイル及びメ
モリのいずれかに送信すべきプログラムの実行コードが
記憶されていることが必要となる。そしてターゲット機
において、受信したプログラムを実行させるためには、
該プログラムをRAMに記憶させることが必要となる。
【0204】ブレークポイント時に、ユーザーがプログ
ラムの送信及び実行を行うように指示することで、又は
予めプログラムの送信及び実行が予約されたブレークポ
イントにくることで、ホスト機はターゲット機に送信す
るプログラムの実行を指示するためのコマンドを送る
(ステップ810)。ターゲット機は該コマンドを受け
る(ステップ820)。
【0205】そしてホスト機は、ファイル及びメモリの
いずれかに記憶されたプログラムの実行コードを順次送
信する(ステップ830)。ターゲット機の通信ルーチ
ンは、該実行コードを順次受信し(ステップ840)、
プログラム実行コマンド処理ルーチンは、該実行コード
をRAMに記憶させる。そして、全ての実行コードの受
信が終了すると、ターゲット機は受け取った実行コード
を実行する(ステップ850)。この間ホスト機は実行
終了の報告を待っている(ステップ860)。ターゲッ
ト機において、前記受信したプログラムの実行が終了す
ると、ターゲット機は実行終了を示す応答ヘッダをホス
ト機に送り(ステップ870)、基本動作に戻る(ステ
ップ890)。ここにおいて基本動作とは、図5(A)
のステップ70のホスト機からのコマンド待ち状態をい
う。
【0206】ホスト機は前記応答ヘッダを受け取り(ス
テップ880)、図9におけるステップ790以降と同
様の処理を行う。
【0207】このように、ブレークポイントにおける各
種のデバッグ動作を終えて、ユーザーがPODの再開を
希望する時は、入力部680においてPODを再開する
ように操作すると、ホスト機からターゲット機に継続コ
マンドが送られる。そうすると、ターゲット機では、停
止していたPODが再開される。
【0208】(ホスト機において受信したデータを一旦
ファイルに書き込んで処理を行う場合) 図11(A)
(B)は、ホスト機において受信したデータを一旦ファ
イルに書き込んで処理を行う場合について説明するため
の図である。
【0209】図11(A)は、ホスト機において蓄積デ
ータをファイル660に書き込む時の動作を説明するた
めの図である。蓄積データとは、ホスト機が受信したデ
ータを蓄積モジュール630のデータ蓄積サブモジュー
ル632がデータ蓄積場所に蓄積しているデータのこと
をいう。ホスト機において、ターゲット機から送られて
きたデータをリアルタイムに処理する場合は、前述した
例で説明ように、蓄積モジュール630において蓄積さ
れているデータをファイル660に書き出す必要は無
い。しかし、蓄積モジュール630は、受信モジュール
610から受け取ったデータとファイル660から読み
込んだデータを区別しないので、POD_IDの記録を
一旦ファイルに書き出し、後から参照することもでき
る。このような場合に図11(A)(B)で説明する処
理が必要となる。
【0210】ユーザーが入力部680から蓄積データを
ファイル660に書き込むように操作すると(ステップ
910)、操作モジュール650は蓄積データをファイ
ル660に書き込むよう、蓄積モジュール630に指示
する(ステップ920)。蓄積モジュール630のファ
イル操作サブモジュール634は、蓄積データをファイ
ル660に書き出す(ステップ930)。書き出しを終
了すると、書き出し終了を操作モジュール650に通知
する(ステップ940)。操作モジュール650はユー
ザーに書き込み終了を知らせる(ステップ950)。
【0211】図11(B)は、ファイルからデータを読
み込む時の動作を説明するための図である。ユーザー
が、ファイル660からデータを読み込むように入力部
680から操作すると(ステップ960)、操作モジュ
ール650はファイル660からデータを読み込むよ
う、蓄積モジュール630に指示する(ステップ97
0)。すると蓄積モジュール630のファイル操作サブ
モジュール634は、ファイル660からデータを読み
込む。このとき、データ蓄積サブモジュール632は、
受信モジュール610からデータを受け取る時と同様
に、読み込んだデータの解釈も行う(ステップ98
0)。読み込みを終了すると、読み込み終了を操作モジ
ュール650に通知する(ステップ990)。操作モジ
ュール650は、表示モジュール640に先頭ページを
表示部670に表示するように指示する。(ステップ1
000)。表示モジュール640は蓄積モジュール63
0から先頭ページの表示に必要なデータを、画面に表示
する。
【0212】このように、本デバッグ装置ではファイル
から読み込んだデータも受信した蓄積データと同様に扱
いデバッグ動作を行うことができる。
【0213】(画面表示とホスト用データ作成プログラ
ム)本デバッグ装置では、ターゲット機から送られてく
る出力情報がホスト機の表示部670に表示されるた
め、ユーザーは該表示情報を見ながら、ターゲット機の
PODの進行状況に応じて臨機応変に所望のデバッグ動
作を行うことができる。
【0214】ターゲット機において、電源が投入される
と、図3に示すデバッグ用プログラム300のPOD3
10の実行が開始される。POD310は、周辺装置の
初期化と機能診断を行うプログラムであり、各周辺装置
(A、B、…)の初期化&機能診断ルーチン312、3
14、…を含んでいる。電源が投入されると、POD3
10は順次各周辺装置(A、B、…)の初期化&機能診
断ルーチン312、314、…の実行を行い、システム
を動かす上で障害がある場合は自らハングアップする。
【0215】ここにおいて、該POD310はデバッグ
上重要な位置でPOD_IDデータをホスト機に送信す
るよう構成されている。POD_IDは1ずつインクリ
メントされる番号であるため、POD_IDを調べるこ
とで、POD310の実行位置を知ることができる。例
えばハングアップした場合、どの部分で落ちたのか知る
ためには、実行コード中にできるだけ近い間隔でPOD
_ID更新ルーチンを呼ぶマクロを挿入しておくことが
好ましい。しかし、全PODを実行すると、30000
個程度のPOD_IDが出力されるため、該POD_I
Dを見ただけでユーザーが実行内容やPODのソースコ
ードのどの部分に対応しているのかを理解することは困
難である。
【0216】例えばユーザーが途中でPODの実行を停
止してメモリの読み出し等の所望のデバッグ動作を行い
たい場合、ユーザーは画面上でPODの位置を見なが
ら、PODの実行を停止してデバッグ動作を行う場所を
判断する。このような場合、ユーザーがPOD_IDだ
けをみてPODの位置を判断するのは、非常に困難であ
る。
【0217】そこで本デバッグ装置では、POD実行位
置をPOD_IDの値、行番号、コメント、詳細コメン
トのいずれか、又はそれらの組み合わせで表示すること
ができるようにしている。またそのほかにsend_idが含
まれる部分のラベル等を表示するようにしてもよい。即
ち例えば図12(A)において1210のsend_idによ
るPOD_IDの値を表示する場合、該send_idが含ま
れている部分のラベルであるSR_VALUE_IOOPを表示する
等である。
【0218】図12(A)は、PODのソースコード1
200の一例を示している。例えばホスト機において、
1210のsend_idで送信されるPOD_IDを受信し
た場合、ソースコード名を表示する場合、図12(A)
に示す1210のsend_id付近のソースコード、又は処
理の終わったソースコード上で最も近いところにある名
前(例えば1240)等を表示することになる。また、
行番号を表示する場合、1210のsend_idに対応する
行番号1010を表示することになる。また、コメント
を表示する場合、1210のsend_idに対応するコメン
トである1220を表示することになる。更に詳細コメ
ントとしては、1210のsend_id付近の処理の内容を
詳細に表したコメントを表示することになる。
【0219】ここにおいて、POD_IDはターゲット
機から受信することにより得られる情報であり、ソース
コード名、行番号、コメントは該POD_IDに基づき
PODのソースコードを解析して得られる情報である。
従ってホストプログラムのメモリにPODのソースコー
ドを記憶しておいて、POD_IDを受信する度に、P
ODのソースコードを解析して、該情報を得ることも可
能である。しかし、それでは処理に時間がかかり、実行
する度に同じ処理がくりかえされることになり、効率が
悪い。このため、本デバッグ装置では、予め図12
(B)に示すようにPOD_IDに対応した行番号、コ
メント等を記憶させたコメントファイル720を用意し
ている。そして、表示モジュール640は、受け取った
POD_IDに基づき、コメントファイル720から行
番号、コメント等を読み出して表示部670に表示す
る。
【0220】図12(B)は、コメントファイル720
に記憶されているデータの一例を示した図である。図1
2(B)に示すように、コメントファイル720には、
POD_ID720、行番号1260、コメント127
0等が記憶されている。
【0221】なお、詳細コメントの表示としては、ソー
スコード上に特殊なコメントの形で書かれた内容を表示
するようにしてもよい。即ち、マイクロソフトアセンブ
ラでは、「;」から行の後ろまでをコメントとみなすた
め、本実施例で、マクロ(send_id)に続く1つ
の「;」の後ろにかかれた文字列をコメントとして表示
し、マクロ(send_id)の現れる次の行に二つ続い
た「;」即ち「;;」が現れた場合、その行の終わりま
でを詳細コメントとして表示している。
【0222】なお、PODのソースプログラムから直接
えられる情報では無く、ユーザーが予め、POD_ID
毎に又はコメントの内容毎にその内容を定義しておいた
ものを出力するようにしてもよい。例えばソースコード
のコメント情報に処理内容に応じた記号等含ませてお
き、その記号に対応する内容を、定義しておくような形
式でも良い。
【0223】このようにコメントファイル720を予め
作成しておくと、POD_IDに対応した各種情報をコ
メントファイルから読み出すという簡単な構成で、ユー
ザーにわかり易い情報を画面に表示することができる。
【0224】(コメントファイル作成用プログラム)な
お、ホストプログラムには、前記コメントファイルを作
成するにあたり、PODを入力してコメントファイル7
20を作成するためのコメントファイル作成用プログラ
ムを用意している。該コメントファイル作成用プログラ
ムは、PODのソースコードにPOD_ID更新ルーチ
ンを呼ぶマクロ(send_id)を検出する度にPOD_I
Dの値をインクリメントする。ここにおいてPOD_I
Dの番号はPODのソースコードのファイル毎に割り当
てられている。このため、ソースコード上で、POD_
ID更新ルーチンを呼ぶマクロ(send_id)を検出する
度に、各ファイル毎にさだめられた初期値から1ずつイ
ンクリメントした値がそこで送信されるPOD_IDと
なる。
【0225】図12(A)(B)を用いて、PODのソ
ースコードからコメントファイルを作成する様子を説明
する。図12(A)に示すPODのソースコードを入力
したコメントファイル作成用プログラム1290は、ま
ず1212のsend_idを検出すると、1だけインクリメ
ントしたPOD_ID(1250)0204hを出力す
る。そして、対応する行番号1000及び当該行に記載
されているコメント1216を出力する。そして、次の
send_id(1210)を検出すると、前回より1だけイ
ンクリメントしたPOD_ID(1250)0205h
を出力する。そして、対応する行番号1010及び当該
行に記載されているコメント1220を出力する。この
ようにして、コメントファイル作成用プログラム129
0は、PODのソースコードから、POD_ID、行番
号、コメント等の情報を記憶したコメントファイル72
0を作成する。
【0226】なお本発明のデバッグ装置は、上記実施例
で説明したものに限らず、種々の変形実施が可能であ
る。
【0227】例えば、上記実施例では、ターゲット機か
ら送られてくる出力情報がホスト機の表示部670にリ
アルタイム表示される場合を例にとり説明したが、出力
情報を一旦ファイルにおとすようにしてもよい。このよ
うな場合、ブレークポイントにおいてユーザーが入力す
る処理を自動応答にして実行させることが好ましい。ま
た、後で出力情報を出力させる場合、画面ではなくプリ
ンター等に出力するようにしてもよい。
【0228】また、上記実施例では、ターゲット機とホ
スト機が双方向の通信を行う場合を例にとり説明した
が、ターゲット機がPOD_IDを一方的にホスト機に
送信し、ホスト機でその実行の軌跡を蓄積、出力するよ
うにしても良い。
【0229】
【図面の簡単な説明】
【図1】本実施例のデバッグ装置を用いて、クレジット
サイズのカード形状のパソコンのサンプルをデバッグす
る際の外観図である。
【図2】本実施例のデバッグ装置のハードウエア構成を
示している。
【図3】ターゲット機のROMに記憶されているデバッ
グ用プログラムの構成を表している。
【図4】図4(A)(B)は、PODの主要個所にPO
D_IDの更新ルーチン呼び出しが挿入されている様子
及びPOD_ID更新ルーチンの処理の概略を表した図
である。
【図5】図5(A)(B)は本デバッグ装置の動作説明
を行うためのフローチャート図である。
【図6】ホストプログラムとその入出力デバイスの構成
を示した図である。
【図7】POD_ID受け取り時のホストプログラムに
おける各モジュール毎の動作を説明するための図であ
る。
【図8】メモリやI/Oポートの読み出しコマンドが指
示される場合のホストプログラムの各モジュール及びタ
ーゲット機の動作を説明するための図である。
【図9】メモリやI/Oポートへの書き込みコマンドが
指示される場合のホストプログラムの各モジュール及び
ターゲット機の動作を説明するための図である。
【図10】ホスト機からターゲット機にプログラムを送
信して実行させる場合のホスト機及びターゲット機にお
ける動作の概略について説明するための図である。
【図11】図11(A)(B)は、ホスト機において受
信したデータを一旦ファイルに書き込んで処理を行う場
合について説明するための図である。
【図12】図12(A)(B)は、PODのソースコー
ドからコメントファイルを作成する動作を説明するため
の図である。
【符号の説明】
30 通信線 31 第一の通信線 32 第二の通信線 33 シグナルグランド 100 ターゲット機 120 ROM 130 RAM 140 I/Oポート 300 デバッグ用プログラム 310 POD 320 POD_ID更新ルーチン 330 通信ルーチン 340 コマンド処理ルーチン 600 ホストプログラム 610 受信モジュール 620 送信モジュール 630 蓄積モジュール 640 表示モジュール 650 操作モジュール 660 ファイル 670 表示部 680 入力部 720 コメントファイル

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】 ハードウエアに障害を含む情報処理装置
    であるターゲット機のハードウエア及びソフトウエアの
    少なくとも一方をデバッグするデバッグ装置であって、 前記ターゲット機から、前記ターゲット機とは別に設け
    られた情報処理装置であるホスト機への通信を行う第一
    の通信手段と、 前記ターゲット機において、電源投入後の初期状態にお
    いてデバッグ用プログラムを実行させるデバッグ用プロ
    グラム実行手段と、 前記デバッグ用プログラムの出力情報を、前記第一の通
    信手段を用いてターゲット機からホスト機に送信する出
    力情報送信手段と,前記デバッグ用プログラムの出力情
    報を前記ホスト機において受信する出力情報受信手段と
    を含むことを特徴とするデバッグ装置。
  2. 【請求項2】 請求項1において、 前記ホスト機からターゲット機への通信を行う第二の通
    信手段をさらに含み、 前記受信した出力情報に基づき、前記ターゲット機に所
    与のデバッグ処理を行わせるためのデバッグ情報を前記
    第二の通信手段を用いてホスト機からターゲット機に送
    信するデバッグ情報送信手段と、 前記デバッグ情報を前記ターゲット機において受信する
    デバッグ情報受信手段とを含み、 前記デバッグ用プログラム実行手段は、 該デバッグ情報に基づき所与のデバッグ処理を行う手段
    とを含むことを特徴とするデバッグ装置。
  3. 【請求項3】 請求項2において、 前記デバッグ用プログラム実行手段は、 出力情報の送信に伴い、前記デバッグ用プログラムの実
    行を所定の位置で停止させ、ホスト機からデバッグ情報
    が送られてきたこと及び所与の時間ホスト機からデバッ
    グ情報が送られてこないことの少なくとも一方を確認し
    てから、前記デバッグ用プログラムの実行を開始させる
    ことを特徴とするデバッグ装置。
  4. 【請求項4】 請求項2又は3のいずれかにおいて、 前記デバッグ情報送信手段は,前記ターゲット機に実行
    させるデバッグ処理を指示するための所与のデバッグコ
    マンドを前記第二の通信手段を用いて前記ホスト機から
    前記ターゲット機に送り、 前記デバッグ情報受信手段は、 前記デバッグコマンドを前記デバッグ情報として受信
    し、 前記デバッグ用プログラム実行手段は、 受信した前記デバッグコマンドに基づき所与のデバッグ
    処理を行うデバッグ用プログラムを実行させることを特
    徴とするデバッグ装置。
  5. 【請求項5】 請求項2〜4のいずれかにおいて、 前記デバッグ情報送信手段は,前記ターゲット機におい
    てデバッグ用プログラムの実行を停止させるための停止
    情報を前記第二の通信手段を用いて前記ホスト機から前
    記ターゲット機に送り、 デバッグ情報受信手段は、 前記停止情報を前記デバッグ情報として受信し、 前記デバッグ用プログラム実行手段は、 受信した前記停止情報に基づきデバッグ用プログラムの
    実行を停止させることを特徴とするデバッグ装置。
  6. 【請求項6】 請求項2〜5のいずれかにおいて、 前記デバッグ情報送信手段は,前記ターゲット機におい
    て停止中のデバッグ用プログラムを続行させるための続
    行情報を前記第二の通信手段を用いて前記ホスト機から
    前記ターゲット機に送り、 デバッグ情報受信手段は、 前記続行情報を前記デバッグ情報として受信し、 前記デバッグ用プログラム実行手段は、 受信した前記続行情報に基づき停止中のデバッグ用プロ
    グラムを続行させることを特徴とするデバッグ装置。
  7. 【請求項7】 請求項2〜6のいずれかにおいて、 前記デバッグ情報送信手段は,前記ターゲット機におい
    てメモリの内容を読み出すためのメモリ読み出し情報を
    前記第二の通信手段を用いて前記ホスト機から前記ター
    ゲット機に送り、 デバッグ情報受信手段は、 前記メモリ読み出し情報を前記デバッグ情報として受信
    し、 前記デバッグ用プログラム実行手段は、 受信した前記メモリ読み出し情報に基づき、ターゲット
    機においてメモリの内容を読み出すためのデバッグ用プ
    ログラムを実行させ、 前記出力情報送信手段は、 前記出力情報として読み出したメモリの内容を出力する
    ことを特徴とするデバッグ装置。
  8. 【請求項8】 請求項2〜7のいずれかにおいて、 前記デバッグ情報送信手段は,前記ターゲット機におい
    てメモリに所与の情報を書き込むためのメモリ書き込み
    情報を前記第二の通信手段を用いて前記ホスト機から前
    記ターゲット機に送り、 デバッグ情報受信手段は、 前記メモリ書き込み情報を前記デバッグ情報として受信
    し、 前記デバッグ用プログラム実行手段は、 受信した前記メモリ書き込み情報に基づき、ターゲット
    機においてメモリに所与の内容を書き込むためのデバッ
    グ用プログラムを実行させることを特徴とするデバッグ
    装置。
  9. 【請求項9】 請求項2〜8のいずれかにおいて、 前記デバッグ情報送信手段は,前記ターゲット機におい
    てI/Oポートの情報を読み込むためのI/Oポート読
    み込み情報を前記第二の通信手段を用いて前記ホスト機
    から前記ターゲット機に送り、 デバッグ情報受信手段は、 前記I/Oポート読み込み情報を前記デバッグ情報とし
    て受信し、 前記デバッグ用プログラム実行手段は、 受信した前記I/Oポート読み込み情報に基づき、ター
    ゲット機においてI/Oポートの情報を読み込むための
    デバッグ用プログラムを実行させ、 前記出力情報送信手段は、 前記出力情報として読み出したI/Oポートの情報を出
    力することを特徴とするデバッグ装置。
  10. 【請求項10】 請求項1〜9のいずれかにおいて、 前記デバッグ情報送信手段は,前記ターゲット機におい
    てI/Oポートに所与の情報を書き込むためのI/Oポ
    ート書き込み情報を前記第二の通信手段を用いて前記ホ
    スト機から前記ターゲット機に送り、 デバッグ情報受信手段は、 前記I/Oポート書き込み情報を前記デバッグ情報とし
    て受信し、 前記デバッグ用プログラム実行手段は、 受信した前記I/Oポート書き込み情報に基づき、ター
    ゲット機においてI/Oポートに所与の情報を書き込む
    ためのデバッグ用プログラムを実行させることを特徴と
    するデバッグ装置。
  11. 【請求項11】 請求項1〜10のいずれかにおいて、 前記デバッグ情報送信手段は,前記ターゲット機に実行
    させたいデバッグ処理を指示するための所与のデバッグ
    プログラムを前記第二の通信手段を用いて前記ターゲッ
    ト機に送り、 デバッグ情報受信手段は、 前記デバッグプログラムを前記デバッグ情報として受信
    し、 前記デバッグ用プログラム実行手段は、 受信した前記デバッグプログラムを実行させることを特
    徴とするデバッグ装置。
  12. 【請求項12】 請求項1〜11のいずれかにおいて、 前記デバッグ用プログラム実行手段は、 オペレーティングシステムが動作していない状態でデバ
    ッグ用プログラムを実行させることを特徴とするデバッ
    グ装置。
  13. 【請求項13】 請求項1〜12のいずれかにおいて、 前記デバッグ用プログラム実行手段は、 ターゲット機の読み出し専用メモリに記憶されているB
    IOSの初期化及び機能診断ルーチンをターゲット機の
    中央処理装置で実行させることを特徴とするデバッグ装
    置。
  14. 【請求項14】 請求項1〜13のいずれかにおいて、 前記出力情報送信手段は、 前記出力情報としてデバッグ用プログラムの実行位置を
    表す情報を出力することを特徴とするデバッグ装置。
  15. 【請求項15】 請求項1〜14のいずれかにおいて、 前記デバッグ用プログラム実行手段は、 複数の実行位置検出用命令が挿入されているデバッグ用
    プログラムを実行し、 前記実行情報送信手段は、 前記デバッグ用プログラムの前記実行位置検出用命令の
    実行に基づき、所定のルールで増加又は減少させた実行
    位置検出用ID番号を、実行情報としてターゲット機か
    らホスト機に送ることを特徴とするデバッグ装置。
  16. 【請求項16】 請求項1〜15のいずれかにおいて、 前記デバッグ用プログラム実行手段は、 ターゲット機のRAMが動作していない状態でデバッグ
    用プログラムを実行させることを特徴とするデバッグ装
    置。
  17. 【請求項17】 請求項2〜16のいずれかにおいて、 前記ターゲット機は所与のボード上に設けられた中央処
    理装置とメモリを含む集積回路装置であって、 前記第一の通信手段は第一の通信回線を含み、 前記第二の通信手段は第二の通信回線を含み、 前記第一の通信回線の一方の端子及び第二の通信回線の
    一方の端子は、前記集積回路装置の端子及び前記ボード
    上の配線の少なくとも一つと接続され、 前記第一の通信回線の他方の端子及び第二の通信回線の
    他方の端子は、ホスト機と接続されていることを特徴と
    するデバッグ装置。
  18. 【請求項18】 請求項2〜17のいずれかにおいて、 前記ホスト機の存在の有無を検出するホスト検出手段を
    更に含み、 前記デバッグ用プログラム実行手段は、 前記ホスト検出手段がホスト機の存在が無いことを検出
    した場合には、ホスト機からのデバッグ情報を待つこと
    なく前記デバッグ用プログラムを実行させることを特徴
    とするデバッグ装置。
  19. 【請求項19】 請求項18において、 前記ホスト検出手段は、 ホスト機からのデバッグ情報の受信の有無に基づきホス
    ト機の存在の有無を表すホスト存在フラグを設定する手
    段を含み、ホスト存在フラグに基づきホスト機の存在が
    ないと判断することを特徴とするデバッグ装置。
  20. 【請求項20】 請求項18又は19のいずれかにおい
    て、 前記ホスト検出手段は、 出力情報送信手段が出力情報の送信に失敗した場合及び
    出力情報送信後所定時間内にホスト機からのデバッグ情
    報を受信しない場合の少なくとも一方の場合にホスト機
    の存在が無いと判断することを特徴とするデバッグ装
    置。
  21. 【請求項21】 請求項1〜20のいずれかにおいて、 前記デバッグ用プログラムの出力情報及び出力情報に基
    づき生成されたデバッグ用の情報を前記ホスト機から所
    与の出力手段に出力する手段を含むことを特徴とするデ
    バッグ装置。
  22. 【請求項22】 ハードウエアに障害を含む情報処理装
    置であるターゲット機のハードウエア又はソフトウエア
    の少なくとも一方をデバッグするデバッグ装置に用いる
    情報記憶媒体であって、 前記ターゲット機において、電源投入後の初期状態にお
    いてデバッグ用プログラムを実行させるための情報と、 前記デバッグ用プログラムの出力情報を、前記ターゲッ
    ト機とは別に設けられた情報処理装置であるホスト機へ
    の通信を行う第一の通信手段を用いて、ターゲット機か
    らホスト機に送信するための情報とを含むことを特徴と
    する情報記憶媒体。
  23. 【請求項23】 請求項22において、 前記受信した出力情報に基づき、前記ターゲット機に所
    与のデバッグ処理を行わせるためのデバッグ情報を前記
    ホスト機から前記ターゲット機への通信を行う第二の通
    信手段を用いてホスト機からターゲット機に送信するた
    めの情報と、 前記デバッグ情報を前記ターゲット機において受信する
    ための情報とを含み、 前記デバッグ用プログラムを実行させるための情報は、 前記デバッグ情報に基づき所与のデバッグ処理を行うた
    めの情報とを含むことを特徴とする情報記憶媒体。
  24. 【請求項24】 請求項22又は23のいずれかに記載
    の情報記憶媒体と、 該情報記憶媒体に記憶された情報に基づき処理を行う中
    央処理手段を含むことを特徴とする情報処理装置。
  25. 【請求項25】 請求項24において、 前記中央処理手段と情報記憶媒体はカードサイズのボー
    ド上に実装されていることを特徴とする情報処理装置。
JP9120348A 1997-04-23 1997-04-23 デバッグ装置、情報処理装置及び情報記憶媒体 Withdrawn JPH10301803A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9120348A JPH10301803A (ja) 1997-04-23 1997-04-23 デバッグ装置、情報処理装置及び情報記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9120348A JPH10301803A (ja) 1997-04-23 1997-04-23 デバッグ装置、情報処理装置及び情報記憶媒体

Publications (1)

Publication Number Publication Date
JPH10301803A true JPH10301803A (ja) 1998-11-13

Family

ID=14784017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9120348A Withdrawn JPH10301803A (ja) 1997-04-23 1997-04-23 デバッグ装置、情報処理装置及び情報記憶媒体

Country Status (1)

Country Link
JP (1) JPH10301803A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7562350B2 (en) * 2000-12-15 2009-07-14 Ricoh Company, Ltd. Processing system and method using recomposable software
JP2010157103A (ja) * 2008-12-26 2010-07-15 Mitsubishi Electric Corp 検証システムおよび動作検証装置
WO2012095960A1 (ja) * 2011-01-12 2012-07-19 トヨタ自動車 株式会社 情報処理装置のオンラインデバッグシステム及びオンラインデバッグ方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7562350B2 (en) * 2000-12-15 2009-07-14 Ricoh Company, Ltd. Processing system and method using recomposable software
JP2010157103A (ja) * 2008-12-26 2010-07-15 Mitsubishi Electric Corp 検証システムおよび動作検証装置
WO2012095960A1 (ja) * 2011-01-12 2012-07-19 トヨタ自動車 株式会社 情報処理装置のオンラインデバッグシステム及びオンラインデバッグ方法
JP5177299B2 (ja) * 2011-01-12 2013-04-03 トヨタ自動車株式会社 情報処理装置のオンラインデバッグシステム及びオンラインデバッグ方法
US8904235B2 (en) 2011-01-12 2014-12-02 Toyota Jidosha Kabushiki Kaisha Online debug system and online debug method for information processing device

Similar Documents

Publication Publication Date Title
US8898638B1 (en) Method and system for remote software debugging
US6393588B1 (en) Testing of USB hub
US20020078404A1 (en) System and method for remotely creating a physical memory snapshot over a serial bus
US7673188B2 (en) System and method for controlling synchronous functional microprocessor redundancy during test and method for determining results
US7873874B2 (en) System and method for controlling synchronous functional microprocessor redundancy during test and analysis
JP2002041326A (ja) プログラムのテスト及びデバッギングが容易な中央処理装置
EP0195074A1 (en) Automatic restart apparatus for a processing system
US20060026462A1 (en) Apparatus for recovering BIOS in computer system
US7904610B2 (en) Controlling a device connected to first and second communication path wherein device is also connected to third communication path via a bypass link
US20050172038A1 (en) System and method for processing computer I/O port POST codes
US8015448B2 (en) System and method for conducting BIST operations
US6807629B1 (en) Apparatus and method for accessing POST 80h codes via a computer port
US6941491B2 (en) Method of debugging using a USB connecting system
JPH10301803A (ja) デバッグ装置、情報処理装置及び情報記憶媒体
JPH10301801A (ja) デバッグ装置及び情報記憶媒体
JPH10301802A (ja) デバッグ装置、情報処理装置及び情報記憶媒体
JP2001109697A (ja) マルチインターフェース装置およびbios処理方法
JP2003316603A (ja) プログラム検証システム
US20010025330A1 (en) Interface having plug and play function
US6691195B1 (en) Compact diagnostic connector for a motherboard of data processing system
JP4466372B2 (ja) マイクロプロセッサのモニタ回路により伝送されるメッセージの時間的相関
US11966309B2 (en) Saturation of multiple PCIe slots in a server by multiple ports in a single test card
US20220187788A1 (en) Automatic Assignment of Device Debug Communication Pins
CN113535490B (zh) 侦错装置及其操作方法
CN109074455B (zh) 擦除装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040706