(57)【要約】【課題】インサーキットエミュレータデバッガが起動しているパーソナルコンピュータからユーザがデバッグの対象となるマイクロコンピュータに供給するクロック周波数を容易に変更することができるインサーキットエミュレータシステムを得ること。【解決手段】パーソナルコンピュータ上で起動するインサーキットエミュレータデバッガが、動作クロック周波数を要求し、ユーザが指定したクロック周波数のクロック周波数データをインサーキットエミュレータ１００に送信する。インサーキットエミュレータ１００は周波数データレジスタ部に受信したクロック周波数データを格納し、ＰＬＬシンセサイザ１２０は、周波数データレジスタ部に格納されたクロック周波数データに基づいた周波数で発振してクロックを生成する。【選択図】　　　図２
2004139250.tif 000002
【特許請求の範囲】
【請求項１】
マイクロコンピュータを搭載したターゲットシステムのハードウエアおよび前記マイクロコンピュータを動作させるソフトウエアをデバッグするために前記ターゲットシステムのマイクロコンピュータの代りに前記ターゲットシステムに装着するインサーキットエミュレータと、
通信インタフェースケーブルを介して前記インサーキットエミュレータと接続されるパーソナルコンピュータと、
前記パーソナルコンピュータ上で起動し、インサーキットエミュレータを制御するインサーキットエミュレータデバッガと、
を備えるインサーキットエミュレータシステムにおいて、
前記インサーキットエミュレータは、
前記インサーキットエミュレータデバッガにより設定されたクロック周波数データを格納する周波数データレジスタ部と、
前記周波数データレジスタ部に格納されたクロック周波数データに基づきクロックを生成するフェーズロックループシンセサイザと、
前記生成されたクロックで動作する前記ターゲットシステムに搭載するマイクロコンピュータの代りに前記ソフトウエアおよびインサーキットエミュレータの制御プログラムを実行するマイクロコンピュータと、
を備えることを特徴とするインサーキットエミュレータシステム。
【請求項２】
前記インサーキットエミュレータは、
所定のクロックを生成する発振器と、
前記マイクロコンピュータが、前記デバッグするソフトウエアを実行する場合前記フェーズロックループシンセサイザで生成したクロックを選択し、前記インサーキットエミュレータの制御プログラムを実行する場合前記発振器で生成したクロックを選択して前記マイクロコンピュータにクロックを出力するセレクタと、
をさらに備えたことを特徴とする請求項１に記載のインサーキットエミュレータシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイクロプロセッサのプログラム開発時に使用するインサーキットエミュレータシステムに関するものである。
【０００２】
【従来の技術】
インサーキットエミュレータは、マイクロコンピュータを搭載したシステムの開発時に、ハードウエアおよびソフトウエアのデバッグを支援する装置である。デバッグの対象となるターゲットシステムのマイクロコンピュータの代りにインサーキットエミュレータを装着して、パーソナルコンピュータ上で実行されるインサーキットエミュレータデバッガによりマイクロコンピュータのレジスタの内容を読み出したり、ソフトウエアの命令をトレースしてターゲットシステムのデバッグを効率よく行うため、マイクロコンピュータを搭載したシステムの開発には必須のものである。
【０００３】
マイクロコンピュータの動作クロックは、最低動作周波数と最大動作周波数とが定められており、その範囲内でユーザが開発するシステムに適するクロック周波数を決定する。しかし、インサーキットエミュレータは、複数の発振器または発振子が準備されているわけではない。そのため、インサーキットエミュレータに内蔵されている発振器または発振子以外のクロック周波数で動作させるためには、ユーザが発振器または発振子を準備して取り替えなければならなかった。
【０００４】
このような問題を改善するために、従来技術では、発振器または発振子の代りにインサーキットエミュレータにクロック発振周波数が可変となるシンセサイザを用いた内部クロック発生回路を備え、制御回路が、内部クロック発生回路の発振周波数を制御してマイクロコンピュータに供給するようにしている。（たとえば、特許文献１参照）。
【０００５】
【特許文献１】
特開昭５８−４０６４２号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、従来技術では、制御回路が内部クロック発生回路の周波数を制御しているため、ユーザが簡単な方法で任意のクロックを設定することはできないという問題がある。
【０００７】
また、従来技術では、マイクロコンピュータに供給されるクロックによって、インサーキットエミュレータが動作する。このため、内部クロック発生回路の発振周波数に比例してデバッグ時間が変化するという問題がある。すなわち、デバッグ時間は、内部クロック発生回路の発振周波数が高い場合には短くなり、内部クロック発生回路の発振周波数が低い場合には長くなるという問題がある。
【０００８】
この発明は上記に鑑みてなされたもので、インサーキットエミュレータデバッガが起動しているパーソナルコンピュータからユーザがデバッグの対象となるマイクロコンピュータに供給するクロック周波数を容易に変更することができるインサーキットエミュレータシステムを得ることを目的としている。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、この発明にかかるインサーキットエミュレータシステムは、マイクロコンピュータを搭載したターゲットシステムのハードウエアおよび前記マイクロコンピュータを動作させるソフトウエアをデバッグするために前記ターゲットシステムのマイクロコンピュータの代りに前記ターゲットシステムに装着するインサーキットエミュレータと、通信インタフェースケーブルを介して前記インサーキットエミュレータと接続されるパーソナルコンピュータと、前記パーソナルコンピュータ上で起動し、インサーキットエミュレータを制御するインサーキットエミュレータデバッガとを備えるインサーキットエミュレータシステムにおいて、前記インサーキットエミュレータは、前記インサーキットエミュレータデバッガにより設定されたクロック周波数データを格納する周波数データレジスタ部と、前記周波数データレジスタ部に格納されたクロック周波数データに基づきクロックを生成するフェーズロックループシンセサイザと、前記生成されたクロックで動作する前記ターゲットシステムに搭載するマイクロコンピュータの代りに前記ソフトウエアおよびインサーキットエミュレータの制御プログラムを実行するマイクロコンピュータとを備えることを特徴とする。
【００１０】
この発明によれば、パーソナルコンピュータ上で起動するインサーキットエミュレータデバッガが、ユーザに対してターゲットシステムを動作させるクロック周波数を要求し、ユーザが指定したクロック周波数のクロック周波数データをインサーキットエミュレータに送信する。インサーキットエミュレータの周波数データレジスタ部は受信したクロック周波数データを格納し、フェーズロックループシンセサイザは、格納されたクロック周波数データに基づいた周波数で発振してクロックを生成する。そして、マイクロコンピュータは生成されたクロックで動作するようにしている。
【００１１】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかるインサーキットエミュレータシステムの好適な実施の形態を詳細に説明する。
【００１２】
実施の形態１．
図１〜図４を用いてこの発明の実施の形態１を説明する。図１は、この発明の実施の形態１のインサーキットエミュレータシステムの構成を示す図である。この実施の形態１のインサーキットエミュレータシステムは、インサーキットエミュレータ１００とパーソナルコンピュータ２００とを通信インタフェースケーブル４００で接続する。デバッグの対象となるターゲットシステムのマイクロコンピュータにインサーキットエミュレータ１００のケーブル１５０を接続し、パーソナルコンピュータ２００上でインサーキットエミュレータ１００を制御するソフトウエアであるインサーキットエミュレータデバッガ３００が動作する。これにより、ユーザは、インサーキットエミュレータ１００を用いて開発しているアプリケーションソフトウエアおよびターゲットシステムのデバッグを実施する。すなわち、ユーザは、パーソナルコンピュータ２００を用いてインサーキットエミュレータデバッガ３００を操作し、インサーキットエミュレータ１００を制御し、ターゲットシステムのデバッグを行う。
【００１３】
なお、通信インタフェースケーブル４００は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）ケーブル、ＬＰＴパラレルケーブルなどを用いる。
【００１４】
図２は、図１に示したインサーキットエミュレータ１００の構成を示すブロック図である。インサーキットエミュレータ１００は、モニタＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）１１０、フェーズロックループ（ＰＬＬ：Ｐｈａｓｅ　Ｌｏｃｋｅｄ　Ｌｏｏｐ）シンセサイザ１２０、制御部１３０およびマイクロコンピュータ１４０とを備えている。
【００１５】
モニタＣＰＵ１１０は、通信インタフェースケーブル４００を介してパーソナルコンピュータ２００と通信を行う。
【００１６】
制御部１３０は、モニタＣＰＵ１１０から通知されたクロック周波数データに基づいてＰＬＬシンセサイザ１２０の基準クロックを設定するとともに、インサーキットエミュレータ１００内の各構成要素を統括的に制御する。
【００１７】
図３は、図２に示した制御部１３０の構成を示すブロック図である。制御部１３０は、周波数データレジスタ部１３１と、フォーマット変換部１３２とを備えている。
【００１８】
周波数データレジスタ部１３１は、モニタＣＵＰ１１０から通知されたクロック周波数データを保持する。フォーマット変換部１３２は、周波数データレジスタ部１３１に保持されたクロック周波数データをＰＬＬシンセサイザ１２０に設定可能なフォーマットに変換し、ＰＬＬシンセサイザ１２０に送信する。
【００１９】
ＰＬＬシンセサイザ１２０は、フォーマット変換部１３２により設定された発振周波数に基づいてクロックを生成し、マイクロコンピュータ１４０に生成したクロックを供給する。
【００２０】
マイクロコンピュータ１４０は、ユーザがデバッグの対象とするマイクロコンピュータであり、ＰＬＬシンセサイザ１２０から供給されたクロックでユーザプログラムおよびインサーキットエミュレータ１００の制御プログラムを実行する。
【００２１】
つぎに、図４のフローチャートを参照して、この実施の形態１のインサーキットエミュレータシステムのマイクロコンピュータ１４０にクロックを供給する動作を説明する。
【００２２】
ユーザがインサーキットエミュレータ１００の電源を投入すると、制御部１３０は、インサーキットエミュレータ１００内の各構成要素の初期設定を行う（ステップＳ１００）。ユーザが、パーソナルコンピュータ２００上でインサーキットエミュレータデバッガ３００を起動すると、インサーキットエミュレータデバッガ３００は、デバッグを行うクロック周波数を要求する（ステップＳ１１０）。クロック周波数が指定されると、インサーキットエミュレータデバッガ３００は、通信インタフェースケーブル４００を介してモニタＣＰＵ１１０に指定されたクロック周波数のクロック周波数データを送信する（ステップＳ１２０）。
【００２３】
モニタＣＰＵ１１０は、クロック周波数データを受信する（ステップＳ１３０）。そして、受信したクロック周波数データを周波数データレジスタ部１３１に格納する（ステップＳ１４０）。
【００２４】
クロック周波数データが周波数データレジスタ部１３１に格納されると、フォーマット変換部１３２は、クロック周波数データをＰＬＬシンセサイザ１２０のフォーマットに変換したＰＬＬシンセサイザ用クロック周波数データをＰＬＬに送信する（ステップＳ１５０）。
【００２５】
ＰＬＬシンセサイザ用クロック周波数データを受信すると、ＰＬＬシンセサイザ１２０は、受信したＰＬＬシンセサイザ用クロック周波数データに基づいた周波数で発振してクロックを生成する（ステップＳ１６０）。そして、制御部１３０を介してマイクロコンピュータ１４０に生成したクロックを供給する（ステップＳ１７０）。
【００２６】
このようにこの実施の形態１では、パーソナルコンピュータ２００上で起動するインサーキットエミュレータデバッガ３００が、ユーザに対してターゲットシステムを動作させるクロック周波数を要求し、ユーザが指定したクロック周波数のクロック周波数データをインサーキットエミュレータ１００に送信する。インサーキットエミュレータ１００のモニタＣＰＵ１１０が、周波数データレジスタ部１３１に受信したクロック周波数データを格納し、フォーマット変換部１３２は、クロック周波数データをＰＬＬシンセサイザ１２０のフォーマットに変換する。ＰＬＬシンセサイザ１２０は、フォーマット変換されたクロック周波数データに基づいた周波数で発振してクロックを生成する。これにより、ユーザは、インサーキットエミュレータデバッガ３００が起動しているパーソナルコンピュータ２００を用いてデバックの対象となるマイクロコンピュータ１４０に供給するクロック周波数を容易に変更することができる。
【００２７】
また、ＰＬＬシンセサイザ１２０がマイクロコンピュータ１４０に供給するクロックを生成しているため、ユーザは、インサーキットエミュレータ１００およびインサーキットエミュレータデバッガ３００が到着後すぐに、アプリケーションソフトウエアおよびターゲットシステムのデバッグを開始することができる。
【００２８】
実施の形態２．
図５を用いてこの発明の実施の形態２のインサーキットエミュレータシステムを説明する。実施の形態１では、ターゲットシステムを動作させるクロック周波数をユーザが指定し、指定されたクロック周波数でターゲットとなるユーザプログラムおよびインサーキットエミュレータ１００の制御プログラムを実行するようにした。そのため、デバッグの時間はユーザが指定したクロック周波数で決定してしまう。すなわち、ユーザが指定したクロック周波数がインサーキットエミュレータ１００の最大動作周波数より低い場合、デバッグ時間が長くなってしまう。
【００２９】
このような問題を改善するために、実施の形態２では、ユーザプログラム実行時とインサーキットエミュレータ１００の制御プログラム実行時とで動作クロックを切替えるものである。
【００３０】
実施の形態２のインサーキットエミュレータシステムの構成は図１に示すものと同様であり、インサーキットエミュレータ１００の構成は図２に示すものと同様となるので、ここではその説明を省略する。
【００３１】
図５は、この実施の形態２の制御部１３０の構成を示すブロック図である。この実施の形態２における制御部１３０では、発振器１３３とセレクタ１３４とが追加されている。図３に示した実施の形態１の制御部１３０と同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
【００３２】
発振器１３３は、マイクロコンピュータ１４０上でインサーキットエミュレータ１００の制御プログラムが実行可能な最大動作周波数のクロックを生成する。セレクタ１３４は、制御部１３０の指定によりＰＬＬシンセサイザ１２０からのクロックと発振器１３３が生成したクロックとを選択し、マイクロコンピュータ１４０に供給する。
【００３３】
つぎに、この実施の形態２のインサーキットエミュレータシステムの動作を説明する。インサーキットエミュレータシステムは、図４のフローチャートに示したクロック設定手順にしたがって、ターゲットシステムの動作クロックを設定し、デバッグを開始する。制御部１３０は、マイクロコンピュータ１４０をユーザプログラムで動作させる場合、ユーザ指定によるクロックであるＰＬＬシンセサイザ１２０のクロックを選択する信号をセレクタ１３４に出力する。セレクタ１３４は、選択信号に基づいてマイクロコンピュータ１４０にＰＬＬシンセサイザ１２０のクロックを供給する。制御部１３０は、マイクロコンピュータ１４０をインサーキットエミュレータ１００の制御プログラムで動作させる場合、発振器１３３のクロックを選択する信号をセレクタ１３４に出力する。セレクタ１３４は、選択信号に基づいてマイクロコンピュータ１４０に発振器１３３のクロックを供給する。
【００３４】
このようにこの実施の形態２では、ターゲットシステムのデバッグを実行する際に、ユーザプログラムを実行する場合とインサーキットエミュレータ１００の制御プログラムを実行する場合とで、ＰＬＬシンセサイザ１２０で生成したユーザ指定のクロックとインサーキットエミュレータ１００の制御プログラムの最大動作周波数のクロックとを切替えるようにしている。これにより、インサーキットエミュレータ１００内の制御プログラムは、ユーザ指定の周波数に影響されることなく、一定時間で完了することになり、デバッグ時間を短縮することができる。
【００３５】
なお、マイクロコンピュータ１４０がインサーキットエミュレータ１００の制御プログラムを実行する時に、発振器１３３のクロックを用いるかＰＬＬシンセサイザ１２０のクロックを用いるかの選択をインサーキットエミュレータデバッガ３００がユーザに要求し、ユーザの指定によって決定するようにしてもよい。
【００３６】
【発明の効果】
以上説明したように、この発明にかかるインサーキットエミュレータシステムによれば、パーソナルコンピュータ上で起動するインサーキットエミュレータデバッガが、ユーザに対してターゲットシステムを動作させるクロック周波数を要求し、ユーザが指定したクロック周波数のクロック周波数データをインサーキットエミュレータに送信する。インサーキットエミュレータの周波数データレジスタ部は受信したクロック周波数データを格納し、ＰＬＬシンセサイザは、格納されたクロック周波数データに基づいた周波数で発振してクロックを生成する。そして、マイクロコンピュータは生成されたクロックで動作するようにしているため、ユーザが希望のクロックをインサーキットエミュレータデバッガが起動しているパーソナルコンピュータからユーザがデバッグの対象となるマイクロコンピュータに供給するクロック周波数を容易に変更することができる。
【図面の簡単な説明】
【図１】この発明にかかるインサーキットエミュレータシステムの実施の形態１の構成を示す図である。
【図２】図１に示したインサーキットエミュレータの構成を示すブロック図である。
【図３】図２に示した制御部の構成を示すブロック図である。
【図４】この発明にかかるインサーキットエミュレータシステムの実施の形態１の動作を説明するためのフローチャートである。
【図５】この発明にかかるインサーキットエミュレータシステム実施の形態２の制御部の構成を示すブロック図である。
【符号の説明】
１００　インサーキットエミュレータ、１１０　モニタＣＰＵ、１２０　ＰＬＬシンセサイザ、１３０　制御部、１３１　周波数データレジスタ部、１３２　フォーマット変換部、１３３　発振器、１３４　セレクタ、１４０　マイクロコンピュータ、１５０　ケーブル、２００　パーソナルコンピュータ、３００　インサーキットエミュレータデバッガ、４００　通信インタフェースケーブル。
【図１】
2004139250.tif 000003
【図２】
2004139250.tif 000004
【図３】
2004139250.tif 000005
【図４】
2004139250.tif 000006
【図５】
2004139250.tif 000007