JP4421148B2 - デバッグシステム - Google Patents
デバッグシステム Download PDFInfo
- Publication number
- JP4421148B2 JP4421148B2 JP2001218316A JP2001218316A JP4421148B2 JP 4421148 B2 JP4421148 B2 JP 4421148B2 JP 2001218316 A JP2001218316 A JP 2001218316A JP 2001218316 A JP2001218316 A JP 2001218316A JP 4421148 B2 JP4421148 B2 JP 4421148B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- cpu
- control information
- register
- area
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Microcomputers (AREA)
Description
【発明の属する技術分野】
本発明はデバッグシステムに係り、詳しくは外部エミュレータとのインタフェース回路を内蔵したマイクロコントローラ等の半導体装置にデバッグのために備えられたメモリのマッピング方法に関するものである。
【0002】
近年、CPUを内蔵したマイクロコントローラ等の半導体装置が組み込み用途として用いられ、ソフトウェアの開発にはエバリュエーションチップ(以下エバチップ)が用いられる。エバチップには、開発対象となるマイクロコントローラに搭載されるCPU等の各種機能回路に加え、外部エミュレータと接続されCPUに実行させるプログラムのデバッグを支援するインタフェース回路(デバッグサポートユニット:Debug Support Unit、以下DSU)を内蔵している。そして、外部エミュレータをDSUに接続し、外部エミュレータからデバッグ用コマンドをDSUを介してCPUに与えることにより、デバッグを行う。
【0003】
【従来の技術】
図3は、従来の開発環境を示す概念図である。
マイクロコントローラ(以下、マイコン)11はCPU12とインタフェース回路(デバッグサポートユニット、以下DSU)13を含むエバチップであり、DSU13はツールバス14を介してインサーキットエミュレータ(ICE)15に接続されている。具体的には、DSU13はデバッグ用端子に接続され、そのデバッグ用端子にツールバス14のバスケーブルが接続される。ICE15はホストコンピュータ16に接続されている。ホストコンピュータ16には、プログラムを開発するための各種アプリケーションプログラムや、ICE15の制御プログラム等が記憶されている。
【0004】
開発者は、ICE15を介して、エミュレータプログラムをマイコン11に供給し、それを実行させる。そして、開発者は、ICE15を介してマイコン11の動作制御、内部信号のモニタリング等を行う。これらにより、開発者は、エミュレータプログラムの動作を確認し、プログラムの開発・デバッグ作業を進める。
【0005】
詳述すると、デバッグシステムは通常モードとエミュレータモードを持つ。通常モードはターゲット(ユーザシステム)を動作させるためのモードであり、エミュレータモードはエミュレータプログラムの実行やユーザシステムの状態を確認するためのモードである。
【0006】
また、デバッグシステムは、ユーザ空間とエミュレータ空間を持つ。ユーザ空間はユーザシステムにメモリや周辺回路の入出力がマッピングされた領域である。CPU12は通常モードにおいてユーザシステムに搭載されたメモリや周辺回路をアクセスする。
【0007】
エミュレータ空間はエミュレータ(ホストコンピュータ16)に搭載されたメモリがマッピングされた領域である。CPU12はエミュレータモードにおいてDSU13を介してICE15上のメモリにアクセスする。
【0008】
開発者はプログラムの実行停止のためのブレークポイントを設定し、通常モードにてユーザプログラムを実行させる。そのユーザプログラムの実行がブレークポイントに達すると、CPU12はICE15に格納されているブレーク処理プログラムを読み込み、それを実行する。その際、ブレーク処理終了時にブレーク処理直前の状態を復元するために、CPU12は、ブレーク処理プログラムに先立ち、ユーザプログラムにて使用されていたレジスタの内容をエミュレータ空間にマッピングされたメモリに退避しておくことが必要となる。
【0009】
【発明が解決しようとする課題】
しかしながら、上記の従来技術において、以下のような間題点がある。
(1)近年、マイコンの高速化及び多ビット化の傾向に対して、幅の広いバスでの高速転送が困難であることやデバッグ用端子の削減要求などのため、バス幅を細くする傾向にある。ここで、このツールバスの転送効率がネックとなり、ICE15からのエミュレーションプログラム供給の速度低下、ひいてはデバッグ効率の悪化につながっている。
【0010】
(2)エミュレータモードにおいて、ユーザ空間のメモリに記憶されたデータをエミュレータ空間に転送する場合、そのデータ転送はCPU12が持つ汎用レジスタを介して行われる。即ち、転送プログラムにおいて、CPU12は先ず領域をユーザ空間に切り替え、ユーザ空間にあるデータを汎用レジスタに転送する。次に、CPU12は、エミュレータ空間に切り替え、汎用レジスタからエミュレータ空間にデータを転送する。従って、汎用レジスタのサイズに比して大きなサイズのデータを転送する際には、2つのメモリ空間を頻繁に切り換える必要があるため、切り換え処理のオーバーヘッドが大きく、データの転送レートを上げることができない。
【0011】
(3)ブレーク処理プログラムがICE15に格納されているため、ブレークしてエミュレータプログラムに制御が移る際に、CPU12はツールバス14を介してプログラムを読み込むことになり、ツールバス14の転送効率の低さがボトルネックとなっている。
【0012】
(4)エミュレータプログラムに制御が移るさいには、必ずCPU12の汎用レジスタの退避が行われる。この退避はツールバス14を介して行われるため、そのツールバス14の転送効率の低さがこの処理の効率を低下させ、デバッグ環境そのもののパフォーマンスを低下させる。
【0013】
本発明は上記問題点を解決するためになされたものであって、その目的はデバッグの効率向上を図ることのできるデバッグシステムを提供することにある。
【0014】
【課題を解決するための手段】
上記目的を達成するため、請求項1に記載の発明は、チップに搭載されたCPUとエミュレータとの間に接続され、前記CPUに実行させるプログラムのデバッグを支援するインタフェース回路と、前記インタフェース回路に接続されたメモリと、制御情報が設定されるレジスタとが半導体装置に備えられ、前記レジスタに設定された制御情報に基づいて、前記メモリをエミュレータ空間にマッピングする。従って、メモリにデバッグのためのプログラムを記憶させておけば、そのプログラムを読みとるのに要する時間が短くなり、デバッグ効率が向上する。
【0015】
請求項2に記載の発明のように、前記制御情報はデータ転送バッファ有効ビット、及び前記メモリの有効/無効を設定する情報であり、該制御情報に基づいて前記メモリをユーザ空間及び前記エミュレータ空間の双方からアクセス可能な領域にマッピングする。このメモリをデータ転送のバッファとして用いることで、転送処理一回あたりのデータ転送量が増える。従って、必要な空間切り替え回数が減り、ひいては切り替え処理によるオーバーヘッドを削減できるため、ユーザ空間からエミュレータ空間へ、又はその逆へのデータ転送の効率が向上する。
【0016】
請求項3に記載の発明のように、前記制御情報は前記メモリの有効/無効を設定する情報であり、該制御情報に基づいて、前記CPUがブレーク時に実行するプログラムを記憶するアドレスを含む領域に前記メモリをマッピングする。従って、ブレーク時に実行するプログラムの読み込み時間が短くなり、デバッグ効率が向上する。
【0017】
請求項4に記載の発明のように、前記制御情報はレジスタ退避領域有効ビット、及び前記メモリの有効/無効を設定する情報であり、該制御情報に基づいて、アドレスの即値を含む命令により前記CPUが有する汎用レジスタの内容を格納するアドレスを含む領域に前記メモリをマッピングする。従って、汎用レジスタを格納する処理に要する命令数が少なくてすみ、汎用レジスタの格納に要する時間が短くなる
請求項5に記載の発明のように、前記メモリの有無を示す制御情報が読み出されるレジスタを備え、該レジスタの情報を確認した後に前記メモリの有効/無効を設定する。従って、メモリを備えていない半導体装置に対するデバッグプログラムと、メモリを備えた半導体装置に対するデバッグプログラムの変更部分が少なくてすみ、エミュレータデバッガの開発工数が抑えられる。
【0018】
【発明の実施の形態】
以下、本発明を具体化した一実施の形態を図1及び図2に従って説明する。
図1(a),(b)は、本実施形態の開発環境を示す概念図である。
【0019】
図1(a)に示すように、マイクロコントローラ(以下、マイコン)21はCPU22とインタフェース回路(デバッグサポートユニット、以下DSU)23とデバッグ専用メモリ24を含むエバリュエーションチップ(以下エバチップ)である。CPU22はDSU23に接続され、そのDSU23には専用メモリ24が接続されている。
【0020】
DSU23はデバッグ用端子(図示略)に接続され、そのデバッグ用端子にはツールバス25を介してインサーキットエミュレータ(以下ICE)26に接続されている。そのICE26はホストコンピュータ27に接続されている。
【0021】
具体的には、DSU23はデバッグ用端子に接続され、そのデバッグ用端子にツールバスのバスケーブル25が接続される。デバッグ用端子はチップサイズに与える影響を少なくするために少数(例えば4ピン)設けられ、DSU23はICE26とバスケーブル25を介してシリアル通信する。ICE26はホストコンピュータ27とパラレルケーブルにて接続されている。ホストコンピュータ27には、プログラムを開発するための各種アプリケーションプログラムや、ICE26の制御プログラム等が記憶されている。
【0022】
ホストコンピュータ27は、DSU23から送信されるデバッグ情報の取り込みや、ブレークアドレス情報のDSU23への送信などを行う。
開発者は、ホストコンピュータ27からICE26を介してエミュレータプログラムをマイコン21に実行させる。そして、開発者は、ホストコンピュータ27及びICE26を介してマイコン21の動作制御、内部信号のモニタリング等を行う。これらにより、開発者は、エミュレータプログラムの動作を確認し、プログラムの開発・デバッグ作業を進める。
【0023】
次に、各機能ブロックの詳細を説明する。
CPU22はRISC型CPUであり、汎用レジスタ22aを含む。汎用レジスタ22aは複数のレジスタからなり、CPU22は汎用レジスタ22aを利用してメモリとの間でデータのロード・セーブ、データの演算処理を行い、また演算の結果生じる桁上がりや状態の変化を保存する。
【0024】
マイコン21は、通常モード時にユーザ空間(CPU22が出力するアドレス信号にて指定される領域(アドレス空間))にマッピングされたメモリや周辺回路(何れも図示略)をアクセスする。そして、マイコン21は、メモリ等に記憶されたプログラムを実行する。
【0025】
また、マイコン21は、エミュレータモード時にエミュレータ空間(CPU22が出力するアドレス信号にて指定される領域)にマッピングされたホストコンピュータ27が持つメモリ等の領域をアクセスする。そして、マイコン21は、ホストコンピュータ27に記録されたシステムプログラムやデバッグプログラムを実行する。
【0026】
DSU23は、マイコン21のステータス情報の通知、エミュレータ26,27からのオペレーションの受信・実行、実行アドレスデータ/トレースデータのステータスの通知、ブレークアドレス情報の受信・設定などを行う。
【0027】
DSU23は、制御レジスタ23aを含む。制御レジスタ23aは、専用メモリ24に関する制御情報を記憶する。制御情報は、専用メモリ24の有無、有効/無効、マッピング領域の指定、を含む。
【0028】
専用メモリ24の有無を示す制御情報は、そのエバチップに専用メモリ24が搭載されているか否かを示す情報である。そして、この情報は読取り専用に定義され、エバチップの作成時にその構成に従って情報が固定されている。例えば、専用メモリ24が搭載されている場合は情報として「1」が読み出され、搭載されていない場合は「0」(ゼロ)が読み出される。
【0029】
ホストコンピュータ27は、制御レジスタ23aに記憶された制御情報に基づいて、専用メモリ24の有無を確認する。そして、専用メモリ24がエバチップに搭載されている場合、ホストコンピュータ27は制御レジスタ23aの設定を変更してそれを有効にする。
【0030】
尚、実際には、制御レジスタ23aはCPU22からアクセス可能であり、ホストコンピュータ27からアクセス不可能である。従って、制御レジスタ23aの設定確認及び設定変更はCPU22により行われ、ホストコンピュータ27は制御レジスタ23aの設定確認/設定変更を行うためのプログラムをCPU22に実行させる。このプログラムの実行により、ホストコンピュータ27は実質的に制御レジスタ23aの設定確認/設定変更を行う。
【0031】
専用メモリ24が有効に設定されると、DSU23は専用メモリ24をエミュレータ空間の所定の第1領域にマッピングする。DSU23は、エミュレータモード時にCPU22からのアクセスが第1領域の場合にそのアクセスを専用メモリ24に対して実施し、第1領域以外の場合にはアクセスをICE26を介してホストコンピュータ27に対して実施する。このため、CPU22がエミュレータ空間をアクセスする場合、第1領域に対するアクセスに要する時間は、それ以外の領域に対するアクセスに要する時間よりも短い。
【0032】
従って、第1領域にマッピングされた専用メモリ24に予めブレークプログラム等を転送しておくことで、そのプログラムの実行速度が早くなる。尚、第1領域をCPU22がプログラムを実行するよう予め設定された領域と等しくすることで、CPU22の動作を何ら変更することがなく、プログラム等の修正の手間を省くことができる。
【0033】
マッピング領域の指定は、専用メモリ24が有効に設定された場合に有効とすることができる。制御レジスタ23aに有効を示す制御情報が設定されると、DSU23は専用メモリ24を所定の第2又は第3領域にマッピングする。第2及び第3領域の指定は、制御レジスタ23aの制御情報に基づく。
【0034】
第2領域はCPU22が汎用レジスタの内容を退避するための領域である。CPU22は、ブレーク処理プログラムを実行し、そのプログラムの記述に従って汎用レジスタ22aの内容を第2領域に格納すべく出力し、その汎用レジスタ22aの内容はDSU23から専用メモリ24に出力され、それに記憶される。そして、この第2領域は、CPU22が実行する即値命令(immediate instruction )により汎用レジスタ22aの内容を格納可能な領域に設定されている。即値命令は、アドレスの即値を含む命令である。従って、即値命令を使用することでその格納に要する時間が短く、汎用レジスタ22aの内容を格納するための処理に要する命令数が少なくて済む。
【0035】
第3領域はCPU22がデータ転送のバッファとして利用するための領域である。大量のデータをユーザ空間からエミュレータ空間へ転送する場合、ユーザはCPU22に転送のためのプログラムを実行させる。その実行において、CPU22は、先ず通常モードに切り替えてユーザ空間から専用メモリ24にデータを転送し、次にエミュレーションモードに切り替えて専用メモリ24からエミュレータ空間にデータを転送する。この動作を繰り返すことで、必要なデータをユーザ空間からエミュレータ空間に転送する。専用メモリ24の容量はCPU22が持つ汎用レジスタ22aの容量より大きいので、モード切替の回数が少なくて済み、転送時間が短くなる。
【0036】
図1(b)は、制御レジスタ23aの構成例とCPU22のアクセス先を示す説明図である。
制御レジスタ23aは8ビットのレジスタであり、第1〜第4ビットB0〜B3には所定の機能が設定されている。第1ビットB0は専用メモリ確認ビットであり、第2ビットB1は専用メモリ有効ビットであり、第3ビットB2はレジスタ退避領域有効ビットであり、第4ビットB3はデータ転送バッファ有効ビットである。
【0037】
エミュレータ空間31は複数の領域31a〜31fに区画されている。デバッグの初期状態において、第2〜第4ビットB1〜B3は無効を示す制御情報が設定されている。この場合、CPU22のアクセス先は、全てエミュレータに向いている。
【0038】
制御レジスタ23aの専用メモリ有効ビット及びレジスタ退避領域有効ビットに有効を示す制御情報が格納された場合、DSU23は、CPU22のアクセス先を、エミュレータから第1の領域31aに変更する。即ち、DSU23は、CPU22からのアドレス信号が第1の領域31a内を示す場合、そのアドレスに基づくアクセスを第1の領域31aにマッピングされた専用メモリ24に対して行い、アドレス信号がそれ以外を示す場合にはエミュレータ(ホストコンピュータ27)に対して行う。
【0039】
同様に、制御レジスタ23aの専用メモリ有効ビット及びデータ転送バッファ有効ビットに有効を示す制御情報が格納された場合、DSU23は、CPU22のアクセス先を、エミュレータから第2の領域31cに変更する。制御レジスタ23aの専用メモリ有効ビットに有効を示す制御情報が格納された場合、DSU23は、CPU22のアクセス先を、エミュレータから第3の領域31eに変更する。
【0040】
そして、DSU23は、専用メモリ24が割り当てられていないその他の領域31b,31d,31fに対するCPU22のアクセスを、エミュレータ(ホストコンピュータ27)に対して行う。
【0041】
上記の初期状態により、専用メモリ24の有無によるエミュレータデバッガ(デバッグプログラム)の変更部分を最小限におさえ、開発コストの削減を図ることができる。詳述すると、専用メモリ有効ビットが有効な場合、専用メモリ24をエミュレータ空間31の第3の領域31eに割り当てる。エミュレータデバッガ(又は一部プログラム)は、第3の領域31eにロードされ実行するよう作成される。そして、第3の領域31eにロードするプログラム部分を専用メモリ24に予め転送する。従って、専用メモリ24が搭載されていない場合には、そのプログラム部分はホストコンピュータ27から読み込まれCPU22にて実行される。即ち、専用メモリ24を搭載したエバチップ21と、それを搭載していないエバチップに対するエミュレータデバッガを共通化することができる。
【0042】
図2は、専用メモリ24をマッピングする領域の一例を示す説明図である。
専用メモリ24は1KB(キロバイト)の記憶容量を持つ。
第1の領域31aは0x00000000〜0x000003FFの値を持つアドレス信号にてアクセスされるよう設定され、1KBの容量を持つ領域である。この領域31aは、RISC型のCPU22の命令体系において、汎用レジスタ22aの値を1命令で書き出すことができる限定された領域である。通常、これ以外の領域では1つの汎用レジスタを退避するのにおよそ2命令かかる。従って、この領域31aに専用メモリ24を割り当てることで、汎用レジスタ22aの内容の退避が効率的に行われる。
【0043】
第2の領域31cは0x0000800〜0x000009FFの値を持つアドレス信号にてアクセスされるよう設定され、0.5KBの容量を持つ領域である。この領域31cは、通常モードとエミュレータモードの双方においてCPU22からアクセス可能な領域である。DSU23は専用メモリ24を同じ記憶容量を持つ第1領域24aと第2領域24bに分割し、第2領域24bを第2の領域31cに対して割り当てる。即ち、専用メモリ24の第2領域24bは、ユーザ空間32の領域32aと、それと同じアドレスを持つエミュレータ空間31の第2の領域31cに割り当てられる。
【0044】
従って、専用メモリ24の第2領域24bをユーザ空間32からエミュレータ空間31(又はその逆)に転送するデータの一時保管場所として利用される。この第2領域24bの容量は汎用レジスタ22aに比べて容量が大きいため、データ転送に要する時間が短くなる、即ちデータ転送の実効速度が早くなる。
【0045】
第3の領域31eは0x000F0000〜0x000F03FFの値を持つアドレス信号にてアクセスされるよう設定され、1KBの容量を持つ領域である。この領域31eは、CPU22がブレーク時に実行するブレーク要因判定ルーチンなどのプログラムを読み込むよう設定されたアドレスに対応している。即ち、デバッグ中にブレークが実行されると、CPU22は、この領域31eに記憶されているプログラム(命令)を順次読み込み、実行する。従って、CPU22によるプログラムの読み込みはチップ21内にて行われるため、ツールバス25を介して行う場合に比べてその読み込みに要する時間が短くなり、ブレーク時における処理の実効速度が大幅に早くなる。
【0046】
以上記述したように、本実施の形態によれば、以下の効果を奏する。
(1)エバチップ21には、CPU22と、CPU22に実行させるプログラムのデバッグを支援するDSU23と、DSU23に接続された専用メモリ24が搭載されている。DSU23は制御情報が設定される制御レジスタ23aを備え、該制御レジスタ23aに設定された制御情報に基づいて、専用メモリ24をエミュレータ空間にマッピングする。その結果、専用メモリ24にデバッグのためのプログラムを記憶させることで、そのプログラムをCPU22が読み込むのに要する時間を短くすることができ、デバッグ効率を向上させることができる。
【0047】
(2)制御レジスタ23aは専用メモリ有効ビットを持ち、専用メモリ24の有効/無効を示す制御情報が設定される。DSU23は、その制御情報に基づいて専用メモリ24をCPU22がブレーク時に実行するプログラムを読み込むアドレスを含む領域31eにマッピングする。その結果、ブレーク時に実行するプログラムの読み込みに要する時間を短くすることができる。
【0048】
(3)制御レジスタ23aはデータ転送バッファ有効ビットを持ち、専用メモリ24の有効/無効を示す制御情報が設定される。DSU23はその制御情報に基づいて専用メモリ24をユーザ空間及びエミュレータ空間の双方からアクセス可能な領域32a,31cにマッピングする。その結果、専用メモリ24をデータ転送のバッファとして利用する(転送プログラムをそのように構成する)ことで、ユーザ空間からエミュレータ空間へ(又はその逆)のデータ転送に要する時間を短くすることができる。
【0049】
(4)制御レジスタ23aはレジスタ退避領域有効ビットを持ち、専用メモリ24の有効/無効を示す制御情報が設定される。DSU23はその制御情報に基づいて専用メモリ24をCPU22が即値命令により汎用レジスタ22aの内容を退避することができる領域31aにマッピングする。その結果、汎用レジスタ22aの退避時間を短くすることができる。
【0050】
(5)制御レジスタ23aは専用メモリ確認ビットを持ち、専用メモリ24の有無に応じた制御情報が読み出される。その結果、専用メモリ24を搭載したエバチップ21と、専用メモリを搭載していないエバチップの双方に対してエミュレータデバッガを共通化することができ、そのエミュレータデバッガの開発工数の増加を抑えることができる。
【0051】
尚、前記実施形態は、以下の態様に変更してもよい。
・専用メモリ24の容量を適宜変更する。上記実施形態では1KBの専用メモリ24をエバチップ21に搭載したが、それ以上の容量を設定する。そして、搭載した専用メモリを3つの領域に区分し、各領域を第1,第2,第3の領域31a,31c,31eにそれぞれ専用メモリが重ならないように割り当てる。このようにすれば、各領域31a,31c,31eを同時期に使用することができる。
【0052】
・複数の専用メモリ24を備え各専用メモリを適宜割り当てる。例えば、2つの専用メモリ24を備え、1つの専用メモリを第1及び第2の領域31a,31cに、他の専用メモリを第3の領域31eに割り当てる。また、2つの専用メモリを備え、各メモリを第1,第2,第3の領域31a,31c,31eにそれぞれ割り当てる。更に、4つ以上の専用メモリを備え、第1,第2,第3の領域31a,31c,31eのうちの少なくとも1つに複数の専用メモリを割り当てる。
【0053】
・専用メモリ24のマッピング領域を適宜変更する。上記実施形態において、専用メモリ24を、第1,第2,第3の領域31a,31c,31eのうちの少なくとも1つに割り当てる。また、上記実施形態において、第1,第2,第3の領域31a,31c,31eのうちの少なくとも2つを隣接した領域にマッピングする。
【0054】
・専用メモリ24を4つ以上の領域に割り当てる。それに対し、制御レジスタ23aに割り当てる領域の有効/無効を設定するための制御情報を記憶するビットを設定する。
【0055】
・制御レジスタ23aをDSU23に対して接続する。又は、専用メモリ24の一部領域を制御レジスタ23aの第2〜第4ビットB1〜B3として使用する。
【0056】
・専用メモリ24の搭載の有無を示す制御情報を記憶するレジスタ(専用メモリ確認ビット)として読み出し専用メモリ(ROM)を設ける。
・専用メモリ24を割り当てるアドレスを適宜変更する。例えば、第2の領域31cを0x00000800〜0x00000AFFまでとし、専用メモリ24の全領域を割り当てる。
【0057】
以上の様々な実施の形態をまとめると、以下のようになる。
(付記1) CPUとエミュレータとの間に接続され、前記CPUに実行させるプログラムのデバッグを支援するインタフェース回路と、
前記インタフェース回路に接続されたメモリと、
制御情報が設定されるレジスタとが半導体装置に備えられ、
前記レジスタに設定された制御情報に基づいて、前記メモリをエミュレータ空間にマッピングすることを特徴とするデバッグシステム。
(付記2) 前記制御情報は前記メモリの有効/無効を設定するものであり、該制御情報に基づいて前記メモリをユーザ空間及び前記エミュレータ空間の双方からアクセス可能な領域にマッピングすることを特徴とする付記1記載のデバッグシステム。
(付記3) 前記制御情報は前記メモリの有効/無効を設定するものであり、該制御情報に基づいて、前記CPUがブレーク時に実行するプログラムを記憶するアドレスを含む領域に前記メモリをマッピングすることを特徴とする付記1又は2記載のデバッグシステム。
(付記4) 前記制御情報は前記メモリの有効/無効を設定するものであり、該制御情報に基づいて、アドレスの即値を含む命令により前記CPUが有する汎用レジスタの内容を格納するアドレスを含む領域に前記メモリをマッピングすることを特徴とする付記1〜3のうちの何れか一項記載のデバッグシステム。
(付記5) 前記メモリの有無を示す制御情報が読み出されるレジスタを備え、該レジスタの情報を確認した後に前記メモリの有効/無効を設定することを特徴とする付記1〜4のうちの何れか一項記載のデバッグシステム。
(付記6) 前記レジスタは、前記メモリをユーザ空間及び前記エミュレータ空間の双方からアクセス可能な領域に対する前記メモリのマッピングを有効又は無効に設定する制御情報を記憶する第1のレジスタと、前記CPUがブレーク時に実行するプログラムを記憶するアドレスを含む領域に対する前記メモリのマッピングを有効又は無効に設定する第2のレジスタと、アドレスの即値を含む命令により前記CPUが有する汎用レジスタの内容を格納するアドレスを含む領域に対する前記メモリのマッピングを有効又は無効に設定する第3のレジスタとのうちの少なくとも1つを含むこと、を特徴とする付記1又は2記載のデバッグシステム。
(付記7) CPUとエミュレータとの間に接続されたインタフェース回路と、前記インタフェース回路に接続されたメモリと、制御情報が設定されるレジスタとが半導体装置に備えられ、前記CPUに実行させるプログラムをデバッグするためのデバッグ方法において、
前記レジスタに設定された制御情報に基づいて、エミュレータ空間に前記メモリをマッピングし、該メモリを介して前記プログラムをデバッグすることを特徴とするデバッグ方法。
(付記8) CPUと、
前記CPUに実行させるプログラムのデバッグを支援するインタフェース回路と、
前記インタフェース回路に接続されたメモリと、
制御情報が設定されるレジスタと、を備え、
前記インタフェース回路は、前記制御情報に基づいて前記メモリをエミュレータ空間にマッピングすることを特徴とする半導体装置。
【0058】
【発明の効果】
以上詳述したように、本発明によれば、デバッグの効率向上を図ることのできる半導体装置におけるデバッグシステムを提供することができる。
【図面の簡単な説明】
【図1】 一実施形態の開発環境を示す概念図である。
【図2】 専用メモリのマッピング例を示す説明図である。
【図3】 従来の開発環境を示す概念図である。
【符号の説明】
21 半導体装置(エバリュエーションチップ)
22 CPU
22a 汎用レジスタ
23 DSU
23a 制御レジスタ
24 専用メモリ
26 ICE
27 ホストコンピュータ
Claims (5)
- CPUとエミュレータとの間に接続され、前記CPUに実行させるプログラムのデバッグを支援するインタフェース回路と、
前記インタフェース回路に接続されたメモリと、
制御情報が設定されるレジスタとが半導体装置に備えられ、
前記レジスタに設定された制御情報に基づいて、前記メモリをエミュレータ空間にマッピングすることを特徴とするデバッグシステム。 - 前記制御情報はデータ転送バッファ有効ビット、及び前記メモリの有効/無効を設定する情報であり、該制御情報に基づいて前記メモリをユーザ空間及び前記エミュレータ空間の双方からアクセス可能な領域にマッピングすることを特徴とする請求項1記載のデバッグシステム。
- 前記制御情報は前記メモリの有効/無効を設定する情報であり、該制御情報に基づいて、前記CPUがブレーク時に実行するプログラムを記憶するアドレスを含む領域に前記メモリをマッピングすることを特徴とする請求項1又は2記載のデバッグシステム。
- 前記制御情報はレジスタ退避領域有効ビット、及び前記メモリの有効/無効を設定する情報であり、該制御情報に基づいて、アドレスの即値を含む命令により前記CPUが有する汎用レジスタの内容を格納するアドレスを含む領域に前記メモリをマッピングすることを特徴とする請求項1〜3のうちの何れか一項記載のデバッグシステム。
- 前記メモリの有無を示す制御情報が読み出されるレジスタを備え、該レジスタの情報を確認した後に前記メモリの有効/無効を設定することを特徴とする請求項1〜4のうちの何れか一項記載のデバッグシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001218316A JP4421148B2 (ja) | 2001-07-18 | 2001-07-18 | デバッグシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001218316A JP4421148B2 (ja) | 2001-07-18 | 2001-07-18 | デバッグシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003030003A JP2003030003A (ja) | 2003-01-31 |
JP4421148B2 true JP4421148B2 (ja) | 2010-02-24 |
Family
ID=19052509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001218316A Expired - Fee Related JP4421148B2 (ja) | 2001-07-18 | 2001-07-18 | デバッグシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4421148B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6652083B2 (ja) * | 2017-02-08 | 2020-02-19 | 株式会社ダイフク | 物品搬送設備 |
-
2001
- 2001-07-18 JP JP2001218316A patent/JP4421148B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003030003A (ja) | 2003-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR960001273B1 (ko) | 단일칩 마이크로컴퓨터 | |
JP2651916B2 (ja) | インサーキット・エミュレータ | |
JPH011039A (ja) | インサーキット・エミュレータ | |
US5566303A (en) | Microcomputer with multiple CPU'S on a single chip with provision for testing and emulation of sub CPU's | |
JP4226085B2 (ja) | マイクロプロセッサ及びマルチプロセッサシステム | |
US5168559A (en) | Emulation system capable of complying with microcomputers having different on-chip memory capacities | |
RU2554569C2 (ru) | Устройство для загрузки интегральной схемы soc и интегральная схема типа soc | |
JP4421148B2 (ja) | デバッグシステム | |
JP3822885B2 (ja) | 1チップデータプロセッサ | |
US20050086454A1 (en) | System and methods for providing a debug function built-in type microcomputer | |
JPS6342294B2 (ja) | ||
JPS6319058A (ja) | メモリ装置 | |
US4628450A (en) | Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor | |
US6877062B2 (en) | Method and apparatus for increasing the memory read/write speed by using internal registers | |
JPH1040130A (ja) | マイクロコンピュータ | |
JP4034032B2 (ja) | キャッシュ内蔵マイクロコンピュータ | |
JPH0635800A (ja) | マイクロプロセッサ及びそれを使用したデータ処理システム | |
JP3088285B2 (ja) | インサーキットエミュレータ | |
JPH0320834A (ja) | 情報処理装置の初期診断方法 | |
JP3006487B2 (ja) | エミュレーション装置 | |
JPS6019816B2 (ja) | マイクロプログラム制御アダプタ | |
JP2000267876A (ja) | エミュレータ及びマイクロコンピュータ | |
JPH10312307A (ja) | コンピュータシステムに適用するエミュレータ | |
JPH03113548A (ja) | 拡張メモリ制御装置 | |
JPH11212945A (ja) | マイクロコンピュータおよびそのメモリ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20050830 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080526 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20080730 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090824 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090901 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091030 |
|
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: 20091201 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091202 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121211 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4421148 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121211 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121211 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121211 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131211 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |