JPH1185565A - Cpuのデバッグ方法およびそのシステム - Google Patents
Cpuのデバッグ方法およびそのシステムInfo
- Publication number
- JPH1185565A JPH1185565A JP9248795A JP24879597A JPH1185565A JP H1185565 A JPH1185565 A JP H1185565A JP 9248795 A JP9248795 A JP 9248795A JP 24879597 A JP24879597 A JP 24879597A JP H1185565 A JPH1185565 A JP H1185565A
- Authority
- JP
- Japan
- Prior art keywords
- address
- cpu
- bus
- rom
- break instruction
- 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.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【課題】 ROMに書き込まれたプログラムのデバッグ
を行うこと。 【解決手段】 CPU1がフェッチするメモリ3のアド
レスをチェックし続け、指定されたアドレスを含む番地
をアクセスするのをチェックしたらバスサイジングを行
い、更に指定された番地をアクセスしたらメモリ3のア
クセスを行わず、代わりにバスにブレイクの命令を送出
しデバッグプログラムの実行に変えることを特徴とする
CPUのデバッグ方法。
を行うこと。 【解決手段】 CPU1がフェッチするメモリ3のアド
レスをチェックし続け、指定されたアドレスを含む番地
をアクセスするのをチェックしたらバスサイジングを行
い、更に指定された番地をアクセスしたらメモリ3のア
クセスを行わず、代わりにバスにブレイクの命令を送出
しデバッグプログラムの実行に変えることを特徴とする
CPUのデバッグ方法。
Description
【0001】
【発明の属する技術分野】本発明は、CPUのソフトウ
ェアの試験を行うためのデバッグ方法に関し、特にRO
Mに書き込まれたプログラムのデバッグ方法及びデバッ
クシステムに関する。
ェアの試験を行うためのデバッグ方法に関し、特にRO
Mに書き込まれたプログラムのデバッグ方法及びデバッ
クシステムに関する。
【0002】
【従来の技術】従来より、インサーキットエミュレータ
を用いずにCPUのソフトウェアのデバッグを行う場
合、モニタと呼ばれるプログラムを用い、実際のレジス
タやメモリの状態を表示したり、内容を書き換えること
が行われている。それは、デバックの対象となるプログ
ラムを実行中にモニタプログラムに戻すには、対象プロ
グラムの途中を予めブレーク命令CCHに書き換えてお
き、モニタプログラムに戻った時に対象プログラムの途
中を元の内容に戻すことが行われている。
を用いずにCPUのソフトウェアのデバッグを行う場
合、モニタと呼ばれるプログラムを用い、実際のレジス
タやメモリの状態を表示したり、内容を書き換えること
が行われている。それは、デバックの対象となるプログ
ラムを実行中にモニタプログラムに戻すには、対象プロ
グラムの途中を予めブレーク命令CCHに書き換えてお
き、モニタプログラムに戻った時に対象プログラムの途
中を元の内容に戻すことが行われている。
【0003】それには、まず、モニタプログラムを実行
しブレークをかける番地を指定する。指定した番地をブ
レーク命令CCHに書き換えておき、元の内容はRAM
に一時記憶しておく。対象プログラムをモニタから実行
させるとブレーク命令CCHを読み込み、モニタプログ
ラムに再度移る。この時、ブレーク命令に書き換える前
のデータに戻し、この後レジスタの内容を見ることがで
きる。これがモニタプログラムを用いたデバック方式で
ある。
しブレークをかける番地を指定する。指定した番地をブ
レーク命令CCHに書き換えておき、元の内容はRAM
に一時記憶しておく。対象プログラムをモニタから実行
させるとブレーク命令CCHを読み込み、モニタプログ
ラムに再度移る。この時、ブレーク命令に書き換える前
のデータに戻し、この後レジスタの内容を見ることがで
きる。これがモニタプログラムを用いたデバック方式で
ある。
【0004】
【発明が解決しようとする課題】上述したような従来の
CPUのデバッグ方法においては、一部書換え可能なR
AMに書き込まれたプログラムのみがデバッグ可能であ
り、一部書換え不能なROMに書き込まれたプログラム
のデバッグを行うことができないという問題点がある。
CPUのデバッグ方法においては、一部書換え可能なR
AMに書き込まれたプログラムのみがデバッグ可能であ
り、一部書換え不能なROMに書き込まれたプログラム
のデバッグを行うことができないという問題点がある。
【0005】本発明は、上述したような従来の技術が有
する問題点に鑑みてなされたものであって、ROMに書
き込まれたプログラムのデバッグを行うことができるC
PUのデバッグ方式を提供することを目的とする。
する問題点に鑑みてなされたものであって、ROMに書
き込まれたプログラムのデバッグを行うことができるC
PUのデバッグ方式を提供することを目的とする。
【0006】
【課題を解決するための手段】上記目的を達成するため
に、本発明のデバッグ方法は、CPUがフェッチするメ
モリのアドレスをチェックし続け、指定されたアドレス
を含む番地をアクセスしようとするのをチェックしたら
バスサイジングを行い、更に指定された番地をアクセス
したらメモリのアクセスを行わず、代わりにデータバス
にブレイクの命令を送出しデバッグプログラムの実行に
変えることを特徴とするCPUのデバッグ方法にある。
に、本発明のデバッグ方法は、CPUがフェッチするメ
モリのアドレスをチェックし続け、指定されたアドレス
を含む番地をアクセスしようとするのをチェックしたら
バスサイジングを行い、更に指定された番地をアクセス
したらメモリのアクセスを行わず、代わりにデータバス
にブレイクの命令を送出しデバッグプログラムの実行に
変えることを特徴とするCPUのデバッグ方法にある。
【0007】また、本発明のデバッグシステムは、デバ
ックの対象となるプログラムを保有するROM、RA
M、CPU及びその周辺回路を搭載したASICを具有
するCPUデッバクシステムとして、前記ASICは、
更に、ブレークポイントを記憶するレジスタと、前記ブ
レークポイントのアドレスとデータバスのアドレスとの
一致を検出するコンパレータと、該コンパレータの検出
出力で、データバスのバスサイジングを行い、さらにブ
レークポイントのアドレスに従って前記ROMにアクセ
スすることなくデータバスにブレーク命令を送出する論
理回路とを有することを特徴とするものである。
ックの対象となるプログラムを保有するROM、RA
M、CPU及びその周辺回路を搭載したASICを具有
するCPUデッバクシステムとして、前記ASICは、
更に、ブレークポイントを記憶するレジスタと、前記ブ
レークポイントのアドレスとデータバスのアドレスとの
一致を検出するコンパレータと、該コンパレータの検出
出力で、データバスのバスサイジングを行い、さらにブ
レークポイントのアドレスに従って前記ROMにアクセ
スすることなくデータバスにブレーク命令を送出する論
理回路とを有することを特徴とするものである。
【0008】上記のように構成された本発明において
は、ターゲットとして指定された番地が含まれるアドレ
スをCPUがフェッチしようとするのをアドレスの一致
と制御コードで検出し、検出結果によりバスサイジング
モードとしCPUからのアクセスをバイト単位にし、指
定された番地をアクセスする時にROMのアクセスを停
止し、代わりにデータバスにブレーク命令を送出するこ
とでCPUがブレーク命令を取り込むことにより、ソフ
トウェアで行う割り込みとしてデバッグプログラムの実
行に変えることができる。
は、ターゲットとして指定された番地が含まれるアドレ
スをCPUがフェッチしようとするのをアドレスの一致
と制御コードで検出し、検出結果によりバスサイジング
モードとしCPUからのアクセスをバイト単位にし、指
定された番地をアクセスする時にROMのアクセスを停
止し、代わりにデータバスにブレーク命令を送出するこ
とでCPUがブレーク命令を取り込むことにより、ソフ
トウェアで行う割り込みとしてデバッグプログラムの実
行に変えることができる。
【0009】
【発明の実施の形態】以下に、本発明の実施の形態につ
いて図面を参照して説明する。
いて図面を参照して説明する。
【0010】図1は、本発明の実施の形態の構成を示す
ブロック図である。同図にはCPU1と、その周辺回路
を搭載したASIC(特定用途向けIC)2と、デバッ
クの対象プログラム及びモニタプログラム等を保有する
ROM3のみを示してある。その他は本発明の実施形態
とは直接関係ないので図示を省略する。
ブロック図である。同図にはCPU1と、その周辺回路
を搭載したASIC(特定用途向けIC)2と、デバッ
クの対象プログラム及びモニタプログラム等を保有する
ROM3のみを示してある。その他は本発明の実施形態
とは直接関係ないので図示を省略する。
【0011】本実施形態に用いているCPU1は808
6系のCPUV33でありバスサイジング(Bus Sizing)
機能を有している。バスサイジングはデータバスが16
ビットでも8ビットでも外部(ここではASIC2)か
らの信号でいずれにも切り替えることで、相当するビッ
トのメモリやI/Oを効率良くインタフェースするもの
である。
6系のCPUV33でありバスサイジング(Bus Sizing)
機能を有している。バスサイジングはデータバスが16
ビットでも8ビットでも外部(ここではASIC2)か
らの信号でいずれにも切り替えることで、相当するビッ
トのメモリやI/Oを効率良くインタフェースするもの
である。
【0012】CPU1の命令の取り込みについては、デ
ータバスが16ビットで2バイト単位で行われる86系
のCPUV33の場合は、命令がバイト単位であるので偶
数バイト(EVEN)と奇数バイト(ODD)の2命令
をまとめて取り込み、CPU1内部で処理する。もし
も、単にアドレスが一致したときにデータバス4にAS
IC2からブレーク命令を出力することは、偶数アドレ
ス、奇数アドレスのいずれであるかの判断を要し、半分
はASIC2からのブレーク命令の出力、他はROM3
からのデータとなり煩雑で使用に耐えない。
ータバスが16ビットで2バイト単位で行われる86系
のCPUV33の場合は、命令がバイト単位であるので偶
数バイト(EVEN)と奇数バイト(ODD)の2命令
をまとめて取り込み、CPU1内部で処理する。もし
も、単にアドレスが一致したときにデータバス4にAS
IC2からブレーク命令を出力することは、偶数アドレ
ス、奇数アドレスのいずれであるかの判断を要し、半分
はASIC2からのブレーク命令の出力、他はROM3
からのデータとなり煩雑で使用に耐えない。
【0013】そこで、本実施形態においては、後述する
ように、ASIC2の内部のブレークポイントを指定し
たレジスタ11(図3参照)の内容及びアドレスA0を除
くアドレスとの両者が一致したときに、バスサイジング
を行わせ(図2(b)参照)、データの幅を8ビットと
するバイト単位でのプログラムのフェッチを行わせるも
のである。続いて更に、レジスタ11のアドレスA0の内
容とアドレスバス5のアドレスA0が一致した時にROM
3へのチップ・セレクト入力信号/CSをLにせず、デ
ータバス4にブレーク命令CCHを出力しCPU1にブ
レーク命令を読み込ませる。ブレーク命令CCHはソフ
トウエアで行う割り込みで、この割り込みルーチンでモ
ニタプログラムによりデバックを実行可能とする。
ように、ASIC2の内部のブレークポイントを指定し
たレジスタ11(図3参照)の内容及びアドレスA0を除
くアドレスとの両者が一致したときに、バスサイジング
を行わせ(図2(b)参照)、データの幅を8ビットと
するバイト単位でのプログラムのフェッチを行わせるも
のである。続いて更に、レジスタ11のアドレスA0の内
容とアドレスバス5のアドレスA0が一致した時にROM
3へのチップ・セレクト入力信号/CSをLにせず、デ
ータバス4にブレーク命令CCHを出力しCPU1にブ
レーク命令を読み込ませる。ブレーク命令CCHはソフ
トウエアで行う割り込みで、この割り込みルーチンでモ
ニタプログラムによりデバックを実行可能とする。
【0014】バスサイジングした際の奇数バイト、偶数
バイトのどちらかの選択について説明する。
バイトのどちらかの選択について説明する。
【0015】図2(a)は奇数バイト、偶数バイトに2
分されるデータの様子を示す図、同(b)はバスサイジ
ングされたデータの様子を示す図である。
分されるデータの様子を示す図、同(b)はバスサイジ
ングされたデータの様子を示す図である。
【0016】図2に示すように、EVEN番地でブレー
ク命令CCHを出力する時は、アドレスA0がLの400
00番地をレジスタ11に書き込めばよく、ODD番地
でブレーク命令CCHを出力する時はアドレスA0がHの
40001番地をレジスタ11に書き込めば、CPU1
は40000番地をバスサイジングで読む時はROM3
のデータそのままで続け、40001番地をアクセスす
るとROM3はディスエーブルになり、ASIC2から
ブレーク命令CCHが出力されCPU1はブレーク命令
CCHを読み込むことになる。同様にODD番地でブレ
ーク命令CCHを出力する時は、CPU1は40000
番地をバスサイジングでアクセスするとROM3はディ
スエーブルになり、40001番地を読む時はROM3
のデータそのままで続け、ASIC2からブレーク命令
CCHが出力されCPU1はブレーク命令CCHを読み
込むことになる。
ク命令CCHを出力する時は、アドレスA0がLの400
00番地をレジスタ11に書き込めばよく、ODD番地
でブレーク命令CCHを出力する時はアドレスA0がHの
40001番地をレジスタ11に書き込めば、CPU1
は40000番地をバスサイジングで読む時はROM3
のデータそのままで続け、40001番地をアクセスす
るとROM3はディスエーブルになり、ASIC2から
ブレーク命令CCHが出力されCPU1はブレーク命令
CCHを読み込むことになる。同様にODD番地でブレ
ーク命令CCHを出力する時は、CPU1は40000
番地をバスサイジングでアクセスするとROM3はディ
スエーブルになり、40001番地を読む時はROM3
のデータそのままで続け、ASIC2からブレーク命令
CCHが出力されCPU1はブレーク命令CCHを読み
込むことになる。
【0017】次に、周辺回路を取り込んだASIC内の
ブレークポイントでブレーク命令を送出する回路構成お
よびその動作について説明する。
ブレークポイントでブレーク命令を送出する回路構成お
よびその動作について説明する。
【0018】図3は、本実施形態におけるASIC内の
一部構成を示す回路図である。
一部構成を示す回路図である。
【0019】同図において、ブレークポイントレジスタ
11はブレークポイントを指定するレジスタで、その上
位ビットMSBはイネーブルビットで、コンパレータ1
2に送出される。このビットがLの時のみ本回路は動作
する。
11はブレークポイントを指定するレジスタで、その上
位ビットMSBはイネーブルビットで、コンパレータ1
2に送出される。このビットがLの時のみ本回路は動作
する。
【0020】指定されたアドレスに対応するブレークポ
イントはCPU1からのWR命令でブレークポイントレ
ジスタ11に書き込まれ、レジスタ11の出力であるブ
レークポイントのアドレスは下位ビットLSBと上位ビ
ットMSBを除きコンパレータ12に出力され、コンパ
レータ12でアドレスバス5のROM3に入力している
アドレスA1〜A18 比較される。これはROM3のアドレ
スが00000〜7FFFF(図1参照)でA19がLの
時にこのROM3がセレクトされ、またROM3のデー
タバス4は16ビットであるのでアドレスA0は入力され
ない。即ちワード単位でのみアクセスされる。
イントはCPU1からのWR命令でブレークポイントレ
ジスタ11に書き込まれ、レジスタ11の出力であるブ
レークポイントのアドレスは下位ビットLSBと上位ビ
ットMSBを除きコンパレータ12に出力され、コンパ
レータ12でアドレスバス5のROM3に入力している
アドレスA1〜A18 比較される。これはROM3のアドレ
スが00000〜7FFFF(図1参照)でA19がLの
時にこのROM3がセレクトされ、またROM3のデー
タバス4は16ビットであるのでアドレスA0は入力され
ない。即ちワード単位でのみアクセスされる。
【0021】いま、コンパレータ12が入力ネーブル時
にレジスタ11の内容及びアドレスの両者の一致を検出
すると一致を出力し、CPU1へのバスサイジングの信
号/8ビットをLにする。これでCPU1はデータバス
4を8ビットとしてデータを取り込むことになる。
にレジスタ11の内容及びアドレスの両者の一致を検出
すると一致を出力し、CPU1へのバスサイジングの信
号/8ビットをLにする。これでCPU1はデータバス
4を8ビットとしてデータを取り込むことになる。
【0022】この時に、ブレークポイントレジスタ11
の下位ビットLSBとアドレスA0を比較し一致したら、
さらにROM3のチップ・セレクト入力信号/CSを発
生させることなく、メモリリード信号/MRDとの積で
バッファ13を開き、バッファ13にあるブレーク命令
CCHをデータバス4に出力する。このようにして、C
PU1はROM3のデータの代わりにブレーク命令CC
Hを読み込むものである。
の下位ビットLSBとアドレスA0を比較し一致したら、
さらにROM3のチップ・セレクト入力信号/CSを発
生させることなく、メモリリード信号/MRDとの積で
バッファ13を開き、バッファ13にあるブレーク命令
CCHをデータバス4に出力する。このようにして、C
PU1はROM3のデータの代わりにブレーク命令CC
Hを読み込むものである。
【0023】ブレーク命令CCHはソフトウエアで行う
割り込みで、この割り込みルーチンでモニタプログラム
によりデバックを実行し、レジスタ表示や、シングルス
テップの指定等を行わせる。
割り込みで、この割り込みルーチンでモニタプログラム
によりデバックを実行し、レジスタ表示や、シングルス
テップの指定等を行わせる。
【0024】
【発明の効果】以上説明したように、本発明によれば、
周辺回路を取り込んだASIC内にブレークポイントで
ブレーク命令を送出する回路構成を設けることで、ソフ
トウエアによる割り込みを行うことができ、ROMを用
いたCPUシステムでもソフトのデバッグが可能になる
という効果がある。
周辺回路を取り込んだASIC内にブレークポイントで
ブレーク命令を送出する回路構成を設けることで、ソフ
トウエアによる割り込みを行うことができ、ROMを用
いたCPUシステムでもソフトのデバッグが可能になる
という効果がある。
【図1】本発明の実施形態の構成を示すブロック図
【図2】(a)奇数バイト、偶数バイトに2分されるデ
ータの様子を示す図、(b)バスサイジングされたデー
タの様子を示す図
ータの様子を示す図、(b)バスサイジングされたデー
タの様子を示す図
【図3】本実施形態におけるASICの内部構成を示す
回路図
回路図
1 CPU 2 ASIC 3 ROM 4 データバス 5 アドレスバス 11 ブレークポイントレジスタ 12 コンパレータ 13 バッファ
Claims (2)
- 【請求項1】 CPUがフェッチするメモリのアドレス
をチェックし続け、指定されたアドレスを含む番地をア
クセスするのをチェックしたらバスサイジングを行い、
更に指定された番地をアクセスしたらメモリのアクセス
を行わず、代わりにデータバスにブレイクの命令を送出
しデバッグプログラムの実行に変えることを特徴とする
CPUのデバッグ方法。 - 【請求項2】 デバックの対象となるプログラムを保有
するROM、CPU及びその周辺回路を搭載したASI
Cを具有するCPUデバッグシステムとしてて、前記A
SICは、更に、ブレークポイントを記憶するレジスタ
と、前記ブレークポイントのアドレスとデータバスのア
ドレスとの一致を検出するコンパレータと、該コンパレ
ータの検出出力で、データバスのバスサイジングを行
い、さらにブレークポイントのアドレスに従って前記R
OMにアクセスすることなくデータバスにブレーク命令
を送出する論理回路とを有することを特徴とするCPU
のデバックシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9248795A JPH1185565A (ja) | 1997-09-12 | 1997-09-12 | Cpuのデバッグ方法およびそのシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9248795A JPH1185565A (ja) | 1997-09-12 | 1997-09-12 | Cpuのデバッグ方法およびそのシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1185565A true JPH1185565A (ja) | 1999-03-30 |
Family
ID=17183517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9248795A Pending JPH1185565A (ja) | 1997-09-12 | 1997-09-12 | Cpuのデバッグ方法およびそのシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1185565A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100526384B1 (ko) * | 2002-05-27 | 2005-11-08 | 가부시끼가이샤 도시바 | 디버그 장치 및 디버그 방법 |
-
1997
- 1997-09-12 JP JP9248795A patent/JPH1185565A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100526384B1 (ko) * | 2002-05-27 | 2005-11-08 | 가부시끼가이샤 도시바 | 디버그 장치 및 디버그 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5247639A (en) | Microprocessor having cache bypass signal terminal | |
US20040049665A1 (en) | Trace control circuit adapted for high-speed microcomputer operation | |
US5586336A (en) | Microcomputer capable of monitoring internal resources from external | |
JPH1185565A (ja) | Cpuのデバッグ方法およびそのシステム | |
JP3358214B2 (ja) | 電子装置 | |
JP3507193B2 (ja) | ロード・ストア命令処理装置 | |
JPH05233266A (ja) | 情報処理装置 | |
JPS62197831A (ja) | デ−タ処理装置 | |
JP3590289B2 (ja) | イベント検出回路 | |
JPH03266154A (ja) | 情報処理装置 | |
KR0171173B1 (ko) | 원칩 마이크로 컴퓨터 | |
JPH06202907A (ja) | デバッグ支援装置 | |
JPH08171505A (ja) | 半導体装置 | |
JPH03129536A (ja) | ブレークアドレス検出装置 | |
JP2817675B2 (ja) | プログラム・デバッグ装置 | |
JP3421249B2 (ja) | プログラムデバッグ装置 | |
JPH1139159A (ja) | 計算機システム | |
JPH0226252B2 (ja) | ||
JPH06259250A (ja) | 情報処理装置 | |
JPH05224991A (ja) | マイクロプロセッサ | |
JPH0315948A (ja) | アドレスバス試験方式 | |
JPH03168845A (ja) | 命令実行制御方式 | |
JPH05101203A (ja) | マイクロ・プロセツサ | |
JP2002055837A (ja) | データ処理システム及びその製造方法 | |
JPH0635750A (ja) | 半導体集積回路装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040810 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070724 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070822 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080109 |