JP3666237B2 - 情報処理装置及び電子機器 - Google Patents

情報処理装置及び電子機器 Download PDF

Info

Publication number
JP3666237B2
JP3666237B2 JP10403898A JP10403898A JP3666237B2 JP 3666237 B2 JP3666237 B2 JP 3666237B2 JP 10403898 A JP10403898 A JP 10403898A JP 10403898 A JP10403898 A JP 10403898A JP 3666237 B2 JP3666237 B2 JP 3666237B2
Authority
JP
Japan
Prior art keywords
clock
data
information processing
processing apparatus
frequency
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
Application number
JP10403898A
Other languages
English (en)
Other versions
JPH11282714A (ja
Inventor
真 工藤
陽一 土方
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 JP10403898A priority Critical patent/JP3666237B2/ja
Priority to PCT/JP1999/001650 priority patent/WO2004102387A1/ja
Priority to US09/424,616 priority patent/US6553506B1/en
Publication of JPH11282714A publication Critical patent/JPH11282714A/ja
Application granted granted Critical
Publication of JP3666237B2 publication Critical patent/JP3666237B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3632Software debugging of specific synchronisation aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware

Description

【0001】
【発明の属する技術分野】
本発明は、情報処理装置及び電子機器に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
近年、ゲーム装置、カーナビゲーションシステム、プリンタ、携帯情報端末などの電子機器に組み込まれ、高度な情報処理を実現できるマイクロコンピュータに対する需要が高まっている。そして、このような組み込み型のマイクロコンピュータは、通常、ターゲットシステムと呼ばれるユーザボードに実装される。そして、このターゲットシステムを動作させるソフトウェアの開発を支援するためにICE(In-Circuit Emulator)と呼ばれるソフトウェア開発支援ツールが広く使用されている。
【0003】
さて、ICEにおいては、ターゲットシステムに実装されるマイクロコンピュータと外部のデバッグツールとの間でデバッグのためのデータを通信する必要がある。この場合、通信の方式としては、いわゆる同期式と呼ばれるものや調歩同期式と呼ばれるものを採用できる。そしてICEにおいては、マイクロコンピュータとデバッグツールとの間の通信ラインの本数をできる限り少なくすることが望まれる。更に通信データのサンプリングエラーをできる限り防止することも望まれる。
【0004】
ところが同期式で通信を行う場合には、図1(A)に示すように、マイクロコンピュータ340(情報処理装置)とデバッグツール342(第2の情報処理装置)との間に4本の通信ラインを設ける必要がある。即ち、送信データであるTXDのライン、TXDのサンプリングクロックであるTCLKのライン、受信データであるRXDのライン、RXDのサンプリングクロックであるRCLKのラインが必要になる。このため、通信ラインの本数が不要に増えてしまう。
【0005】
一方、調歩同期式で通信を行う場合には、図1(B)に示すように、マイクロコンピュータ340とデバッグツール342は、別々にほぼ同一周波数のクロックを持つことになる。例えばマイクロコンピュータ340はクロックCLK1を持ち、デバッグシステム342はクロックCLK2を持ち、CLK1とCLK2の周波数をほぼ同一にする。そしてマイクロコンピュータ340は、図2(A)に示すように、CLK1を分周することでサンプリングクロックSMC1を生成し、調歩同期式で通信されるデータの各ビット(スタートビット、D0〜D7、ストップビット)を、このSMC1でサンプリングする。またデバッグツール342は、図2(B)に示すように、CLK2を分周することでサンプリングクロックSMC2を生成し、調歩同期式で通信されるデータの各ビット(ステートビット、D0〜D7、ストップビット)をこのSMC2でサンプリングする。
【0006】
しかしながら、この調歩同期式では、マイクロコンピュータ340に含まれるCPUの動作周波数が高くなりCLK1及びCLK2の周波数が高くなると、SMC1及びSMC2の周波数も高くなり、通信データのサンプリングエラーが生じやすくなってしまう。逆に言えば、通信データのサンプリングエラーが生じない程度までしか、CLK1及びCLK2の周波数を高くできない。これは、マイクロコンピュータ340が高速動作する環境でのデバッグ作業ができないということを意味する。即ち、デバッグ作業時においては、マイクロコンピュータのクロック周波数を下げなければいけなくなる。
【0007】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、調歩同期式でありながら高速にデータを通信できる情報処理装置及び電子機器を提供することにある。
【0008】
【課題を解決するための手段】
上記課題を解決するために本発明は、外部の第2の情報処理装置が含む第2の通信手段との間で調歩同期式によりデータを通信する第1の通信手段を含む情報処理装置であって、前記第1の通信手段が、第1のクロックを分周し、調歩同期式で通信されるデータの各ビットをサンプリングするための第1のサンプリングクロックを生成する第1の分周回路と、前記第1のサンプリングクロックに基づいてデータの送信及び受信の少なくとも一方を行う回路とを含み、前記第1の通信手段が、前記第2の通信手段が含む第2の分周回路が第2のサンプリングクロックを生成するための信号として、前記第1のクロックを、前記第2の情報処理装置に供給することを特徴とする。
【0009】
本発明によれば、第1のクロックが情報処理装置及び第2の情報処理装置で共有される。そしてこの共有された第1のクロックを分周することで、第1、第2のサンプリングクロックが生成される。そして、情報処理装置では、この第1のサンプリングクロックにより、調歩同期式で通信されるデータの各ビットがサンプリングされ、第2の情報処理装置では、この第2のサンプリングクロックにより、調歩同期式で通信されるデータの各ビットがサンプリングされるようになる。したがって、第1、第2のサンプリングクロックの周波数の間にずれが生じるのを防止でき、通信データのサンプリングエラーが生じるのを効果的に防止できるようになる。この結果、最適で高速な通信速度でデータを通信することが可能になる。
【0010】
また本発明は、前記第1の通信手段が、前記第1の分周回路での分周比を制御する第1の分周比制御手段を含み、前記第1の分周比制御手段が、前記第2の通信手段が含む第2の分周比制御手段が前記第1のクロックの周波数に応じて分周比を変化させ変化後の分周比を知らせる分周比データを前記第1の通信手段に通信した場合に、前記分周比データに基づいて前記第1の分周回路での分周比を変化させることを特徴とする。このようにすれば、第1のクロックの周波数が低下しても、それに応じて分周比を小さくできるようになる。これにより、第1、第2のサンプリングクロックの周波数が低くなるのを防止できようになり、通信速度の低下を防止できるようになる。この結果、第1のクロックの周波数の大小に依らずに、常に最適で高速な通信速度でデータを通信することが可能になる。
【0011】
また本発明は、命令の実行処理を行う中央処理ユニットを含み、前記第1の通信手段が、デバッグツールとなる前記第2の情報処理装置との間でデバッグのためのデータを通信することを特徴とする。このようにすることで、マイクロコンピュータ(情報処理装置)とデバッグツール(第2の情報処理装置)との間でのデータの通信速度を、最適で高速なものにすることが可能になる。特に、マイクロコンピュータのクロック周波数は、マイクロコンピュータを使用するユーザ毎に異なったものになるのが一般的である。したがって、通常、マイクロコンピュータのクロック周波数が変化すると、データの通信速度も変化してしまう。しかしながら本発明によれば、マイクロコンピュータのクロック周波数が、マイクロコンピュータを使用するユーザに応じて変化すると、第1、第2の分周比も変化する。この結果、通信速度は結局低くならず、多様な周波数のクロックを使用するユーザに応じて、最適な通信速度で通信を行えるようになる
また本発明は、デバッグモードからユーザプログラム実行モードに切り替わった場合に、前記第1のクロックを、トレースデータをサンプリングするためのクロックとして使用することを特徴とする。このようにすることで、トレースデータをサンプリングするためのクロックの端子を新たに設ける必要がなくなる。この結果、情報処理装置の低コスト化を図れるようになる。
【0012】
また本発明に係る電子機器は、上記の情報処理装置と、前記情報処理装置の処理対象となるデータの入力源と、前記情報処理装置により処理されたデータを出力するための出力装置とを含むことを特徴とする。このようにすれば、電子機器を動作させるプログラムなどのデバッグ作業の効率化を図れるようになり、電子機器の開発期間の短縮化、低コスト化を図れるようになる。また情報処理装置が実動作する環境と同じ環境で、ユーザプログラムのデバッグ作業を行うことができるようになるため、電子機器の信頼性を高めることができる。
【0013】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。
【0014】
なお以下では、情報処理装置がマイクロコンピュータであり第2の情報処理装置がデバッグツールである場合を例にとり説明する。但し、情報処理装置はマイクロコンピュータ、第2の情報処理装置はデバッグツールであることが特に望ましいが、本発明はこれに限定されるものではない。
【0015】
1.本実施形態の特徴
図1(A)で説明したように、同期式では、通信ラインの本数が不要に増えてしまうという問題がある。一方、図1(B)で説明したように、一般的な調歩同期式では、クロックの周波数が高くなると通信データのサンプリングエラーが生じやすくなり、マイクロコンピュータが高速動作する環境でのデバッグ作業が困難になるという問題がある。このような問題を解決するために本実施形態では、図3に示すように、マイクロコンピュータ140とデバッグツール150とで、サンプリングクロックを生成するためのBCLKを共有させている。
【0016】
より具体的には、マイクロコンピュータ140(情報処理装置)は、通信部142を含む。そして通信部142は、送受信回路144、分周回路146を含む。この分周回路146は、図4(A)に示すように、BCLK(第1のクロック)を分周し、調歩同期式で送受信されるデータの各ビットをサンプリングするためのサンプリングクロックSMC1を生成する。そして、送受信回路144は、このSMC1に基づいてデータを送受信する。更にマイクロコンピュータ140は、BCLKをデバッグツール150に供給する。
【0017】
デバッグツール150(第2の情報処理装置)は、通信部152を含む。そして通信部152は、送受信回路154、分周回路156を含む。この分周回路156は、図4(B)に示すように、マイクロコンピュータ140から供給されたBCLKを分周し、サンプリングクロックSMC2を生成する。そして、送受信回路154は、このSMC2に基づいてデータを送受信する。
【0018】
このように本実施形態では、調歩同期式でありながら、サンプリングクロックSMC1、SMC2を生成するためのBCLKをマイクロコンピュータ140とデバッグツール150とで共有する。これにより、通信データのサンプリングエラーの発生率を、図1(B)に示す一般的な調歩同期式通信に比べて格段に減少できる。また、図1(A)の同期式通信では、4本の通信ラインが必要であったが、本実施形態では図3に示すように2本の通信ラインで済む(全2重の場合には3本)。したがって、マイクロコンピュータ140とデバッグツール150との間の通信ラインの本数を、図1(A)に比べて少なくできる。この結果、マイクロコンピュータ140の端子数を減らすことが可能になり、マイクロコンピュータ140の低コスト化を図れるようになる。
【0019】
特に、図1(B)の構成では、CLK1(及びCLK2)の周波数が高くなればなるほど、通信データのサンプリングエラーの発生率も高くなる。このため、デバッグ作業時においてマイクロコンピュータ340のクロック周波数を高くできず、マイクロコンピュータ340が高速動作する環境でのデバッグ作業ができなかった。
【0020】
これに対して、図3の本実施形態では、マイクロコンピュータ140もデバッグツール150もBCLKに基づいてサンプリングクロックを生成している。このため、BCLKの周波数が高くなっても、サンプリングエラーの発生率がそれほど高くならない。この結果、マイクロコンピュータ140が高速動作する環境でのデバッグ作業が可能になり、より実動作時に近い環境でのデバッグ作業が可能になる。
【0021】
2.分周比制御
また本実施形態では、図5に示すように、通信部142に分周比制御部148を含ませると共に、通信部152に分周比制御部158、周波数検出回路159を含ませている。これにより、SMC1を生成する際の分周比FD1と、SMC2を生成する際の分周比FD2を可変に制御することが可能になる。この結果、BCLKの周波数が変化しても、最適で高速な通信速度でデータを通信することが可能になる。
【0022】
即ち図6(A)に示すようにBCLKの周波数が低くなった場合には、図4(A)、(B)で16であった分周比FD1、FD2が例えば8に変更される。これにより、サンプリングクロックSMC1、SMC2は、BCLKを16分周したクロックから8分周したクロックに変更される。この結果、1ビットのデータに対応するBCLKのクロック数が、16であったものが(16クロックモード)、8に変更される(8クロックモード)。
【0023】
また図6(B)に示すようにBCLKの周波数が更に低くなった場合には、図6(A)で8であった分周比FD1、FD2が例えば4に変更される。これにより、サンプリングクロックSMC1、SMC2は、BCLKを8分周したクロックから4分周したクロックに変更される。この結果、1ビットのデータに対応するBCLKのクロック数が、8であったものが(8クロックモード)、4になるように変更される(4クロックモード)。
【0024】
このようにすることで、BCLKの周波数が低くなった場合にも、データの通信速度は結局低くならなくなる。この結果、最適で高速な通信速度でデータを通信することが可能になる。
【0025】
特に、マイクロコンピュータのクロック周波数は、マイクロコンピュータを使用するユーザ毎に異なったものになるのが一般的である。即ち、あるユーザは60MHZのクロックでマイクロコンピュータを動作させ、別のユーザは20MHZのクロックでマイクロコンピュータを動作させる。
【0026】
しかしながら、図1(A)、(B)の通信方式では、マイクロコンピュータのクロック周波数が変化すると、データの通信速度も変化してしまう。即ち、クロック周波数が低くなるとデータの通信速度も低くなってしまう。したがって、最大限の通信速度でデータを通信することができなくなる。
【0027】
これに対して、本実施形態では、マイクロコンピュータのクロック周波数が、マイクロコンピュータを使用するユーザに応じて変化すると、分周比FD1、FD2も変化し、1ビットのデータに対応するクロック数も変化する。即ちクロック周波数が低くなると、分周比FD1、FD2も小さくなり、1ビットのデータに対応するクロック数も少なくなる。この結果、通信速度は結局低くならず、最適で高速な通信速度で通信を行えるようになる。即ち、多様な周波数のクロックを使用するユーザに応じて、最適な通信速度で通信を行えるようになる。
【0028】
次に、通信部142、152での処理について図7、図8のフローチャートを用いて更に詳細に説明する。
【0029】
図7に示すように、まず、図5の通信部152内の周波数検出回路159が、マイクロコンピュータ140から供給されるBCLKの周波数を検出する(ステップV1)。そして、BCLKの周波数が30MHZ以上であるか否かを判断し(ステップV2)、30MHZ以上である場合には、分周比制御部158が分周比FD2を16に設定する(ステップV3)。そして、FD2が16であることを知らせる分周比データを、送受信回路154を介してマイクロコンピュータ140に送信する(ステップV4)。次に、分周回路156がFD2=16でBCLKを分周しSMC2を生成する(ステップV5)。そして、以降は、このSMC2によりデータの送受信を行う。
【0030】
BCLKの周波数が30MHZより低い場合には、周波数が15MHZ以上か否かを判断する(ステップV6)。そして、周波数が15MHZ以上である場合にはFD2=8に設定し(ステップV7)、ステップV4、V5と同様の処理を行う(ステップV8、V9)。また、BCLKの周波数が15MHZより低い場合にはFD2=4に設定し(ステップV10)、ステップV4、V5と同様の処理を行う(ステップV11、V12)。
【0031】
一方、マイクロコンピュータ140側では図8のフローチャートに示すような処理を行う。即ち、まず、デバッグツール150から送受信回路144を介して分周比データを受信する(ステップW1)。次に、受信した分周比データに基づいて分周比制御部148が分周比FD1を決定する(ステップW2)。そして、分周回路146は、このFD1でBCLKを分周しSMC1を生成する。そして、以降は、このSMC1でデータの送受信を行う。
【0032】
以上のように、本実施形態では、マイクロコンピュータ140、デバッグツール150がお互いに通信しながらFD1、FD2を調整し、これらの分周比FD1、FD2によりBCLKを分周し、得られたSMC1、SMC2を用いて通信データをサンプリングする。これにより、常に最適で高速な通信速度でデータを通信できるようになる。そして、本実施形態によれば、このように通信速度を高速で最適にできるにもかかわらず、図1(A)の同期式に比べてマイクロコンピュータ140の端子数を少なくでき、マイクロコンピュータ140の低コスト化等を図れる。
【0033】
3.ミニモニタ部
さて、ターゲットシステムを動作させるソフトウェアの開発を支援するICEとしては、従来、図9(A)に示すようなCPU置き換え型と呼ばれるICEが主流を占めていた。このCPU置き換え型ICEでは、デバッグ時にターゲットシステム300からマイクロコンピュータ302を取り外し、その代わりにデバッグツール304のプローブ306を接続する。そして、このデバッグツール304に、取り外したマイクロコンピュータ302の動作をエミュレートさせる。また、このデバッグツール304に、デバッグのために必要な種々の処理を行わせる。
【0034】
しかしながら、このCPU置き換え型ICEには、プローブ306のピン数が多くなると共にプローブ306の線308が増えるという欠点があった。このため、マイクロコンピュータ302の高周波数動作をエミュレートすることが困難になる(例えば33MHZ程度が限界)。またターゲットシステム300の設計も困難になる。更に、マイクロコンピュータ302を実装して動作させる実動作時とデバッグツール304でマイクロコンピュータ302の動作をエミュレートするデバッグモード時とで、ターゲットシステム300の動作環境(信号のタイミング、負荷条件)が変化してしまう。またこのCPU置き換え型ICEには、マイクロコンピュータが異なれば、たとえそれが派生品であっても、設計が異なるデバッグツールや、ピン数やピンの位置が異なるプローブを使用しなければならないという問題もあった。
【0035】
一方、このようなCPU置き換え型ICEの欠点を解消するものとして、図9(B)に示すような、モニタプログラム310をターゲットシステム312に実装するタイプのICEが知られている。しかしながら、これまでのモニタプログラム実装型ICEでは、モニタプログラム310に、全てのデバッグコマンド(プログラムのロード、GO、ステップ実行、メモリのリード・ライト、内部レジスタのリード・ライト、ブレークポイントの設定・解除)を実行する機能を持たせる必要があった。したがって、モニタプログラム310の命令コードサイズが非常に大きくなってしまう(例えば30〜50Kバイト)。このため、ユーザが自由に使用できるメモリ領域が減ってしまうと共に、デバッグ時とデバッグ時以外とでシステムが異なってしまうという問題があった。図1(B)の問題点を解決する方法として、モニタプログラムをチップ上にのせるオンチップデバッグという方法があるが、命令コードサイズが大きなモニタプログラムをチップ内に設けると、チップのサイズを大きくしてしまうという問題点がある。
【0036】
このような問題を解決するために、本実施形態では、モニタ部を、ミニモニタ部とメインモニタ部に分割する手法を採用している。
【0037】
即ち図10に示すように、本実施形態では、マイクロコンピュータ10が、CPU(中央処理ユニット)12及びミニモニタ部(第1のモニタ手段)14を含む。また、マイクロコンピュータ10の外部にはメインモニタ部(第2のモニタ手段)16が設けられている。ここでメインモニタ部16は、例えばホストシステムなどが発行したデバッグコマンドをプリミティブコマンドに変換(分解)するための処理を行う。また、ミニモニタ部14は、メインモニタ部16との間でデータを送受信する。そして、ミニモニタ部14は、実行するプリミティブコマンドを、メインモニタ部16からの受信データに基づいて決定し、プリミティブコマンドを実行するための処理を行う。
【0038】
ここで、メインモニタ部16の変換処理の対象となるデバッグコマンドとしては、プログラムロード、GO、ステップ実行、メモリライト、メモリリード、内部レジスタライト、内部レジスタリード、ブレークポイント設定、ブレークポイント解除などのコマンドを考えることができる。メインモニタ部16は、これらの多様で複雑なデバッグコマンドを、例えばGO、ライト(デバッグモード時におけるメモリマップ上の所与のアドレスへのライト)、リード(メモリマップ上の所与のアドレスからのリード)などの、シンプルでプリミティブなコマンドに変換する処理を行う。このようにすることで、ミニモニタ部14の処理を行うミニモニタプログラムの命令コードサイズを格段に小さくすることができる。これにより、マイクロコンピュータ10のオンチップデバッグ機能を実現できるようになる。
【0039】
即ち、図9(B)に示すようなタイプのICEでは、モニタプログラム310は、プログラムロード、GO、ステップ実行などのデバッグコマンドの全ての処理ルーチンを有している。このため、モニタプログラム310の命令コードサイズが非常に大きくなり(例えば30〜50Kバイト)、モニタプログラム310をマイクロコンピュータ314に内蔵することは事実上困難となる。
【0040】
これに対して、本実施形態では、ミニモニタ部14の処理を行うミニモニタプログラムは、GO、ライト、リードなどのシンプルなプリミティブコマンドの処理ルーチンのみを有し、命令コードサイズが非常に小さい(例えば256バイト)。したがって、ミニモニタプログラムをマイクロコンピュータ10に内蔵することが可能となり、オンチップデバッグ機能を実現できるようになる。また、ユーザが自由に使用できるメモリ領域の減少を最小限に抑える、あるいは全く減少しないようすることが可能になる。
【0041】
4.詳細な構成例
図11に本実施形態のマイクロコンピュータ及びデバッグシステムの詳細な構成例を示す。図11に示すように、マイクロコンピュータ20は、CPU22、BCU(バス制御ユニット)26、内部メモリ(ミニモニタROM42及びミニモニタRAM44以外の内部ROM及び内部RAM)28、クロック生成部30、ミニモニタ部40(第1のモニタ手段)、トレース部50を含む。
【0042】
ここでCPU22は、種々の命令の実行処理を行うものであり、内部レジスタ24を含む。内部レジスタ24は、汎用レジスタであるR0〜R15や、特殊レジスタであるSP(スタックポインタレジスタ)、AHR(積和結果データの上位レジスタ)、ALR(積和結果データの下位レジスタ)などを含む。
【0043】
BCU26はバスを制御するものである。例えば、CPU22に接続されるハーバードアーキテクチャのバス31や、内部メモリ28に接続されるバス32や、外部メモリ36に接続される外部バス33や、ミニモニタ部40、トレース部50などに接続される内部バス34の制御を行う。
【0044】
またクロック生成部30は、マイクロコンピュータ20内で使用される各種のクロックを生成するものである。クロック生成部30はBCLKを介して外部のデバッグツール60にもクロックを供給している。
【0045】
ミニモニタ部40は、ミニモニタROM42、ミニモニタRAM44、制御レジスタ46、SIO48を含む。
【0046】
ここで、ミニモニタROM42には、ミニモニタプログラムが格納される。本実施形態では、このミニモニタプログラムは、GO、リード、ライトなどのシンプルでプリミティブなコマンドの処理のみを行うようになっている。このため、ミニモニタROM42のメモリ容量を例えば256バイト程度に抑えることができ、オンチップデバッグ機能を持たせながらマイクロコンピュータ20を小規模化できるようになる。
【0047】
ミニモニタRAM44には、デバッグモードへの移行時に(ユーザプログラムのブレーク発生時に)、CPU22の内部レジスタ24の内容が退避される。これにより、デバッグモードの終了後にユーザプログラムの実行を適正に再スタートできるようになる。また内部レジスタの内容のリード等を、ミニモニタプログラムが持つプリミティブなリードコマンド等で実現できるようになる。
【0048】
制御レジスタ46は、各種のデバッグ処理を制御するためのレジスタであり、ステップ実行イネーブルビット、ブレークイネーブルビット、ブレークアドレスビット、トレースイネーブルビットなどを有する。ミニモニタプログラムにより動作するCPU22が制御レジスタ46の各ビットにデータをライトしたり、各ビットのデータをリードすることで、各種のデバッグ処理が実現される。
【0049】
SIO48は、マイクロコンピュータ20の外部に設けられたデバッグツール60との間でデータを送受信するためのものである。SIO48とデバッグツール60との間は、TXD/RXD(データ送受信ライン)で接続されている。
【0050】
トレース部50は、リアルタイムトレース機能を実現するためのものである。トレース部50とデバッグツール60との間は、CPU22の命令実行のステートを表す3ビットのDST[2:0]と、分岐先のPC(プログラムカウンタ)値を表すDPCOという4本のラインで接続されている。
【0051】
デバッグツール60はメインモニタ部62を含み、パーソナルコンピュータ等により実現されるホストシステム66に接続される。ホストシステム66が、ユーザの操作により、プログラムロード、ステップ実行などのデバッグコマンドを発行すると、メインモニタ部62が、このデバッグコマンドをプリミティブコマンドに変換(分解)するための処理を行う。そして、メインモニタ部62が、プリミティブコマンドの実行を指示するデータをミニモニタ部40に送信すると、ミニモニタ部40が、指示されたプリミティブコマンドを実行するための処理を行うことになる。
【0052】
図12に、デバッグモード時のメモリマップの例を示す。図12のD1、D2、D3に示すように、デバッグモード時には、図11の制御レジスタ46、ミニモニタRAM44、ミニモニタROM42のアドレスも、メモリマップ上に割り付けられる。
【0053】
5.プリミティブコマンドへの変換
図13(A)、(B)、(C)、(D)に、各種のデバッグコマンドをプリミティブコマンドへ変換する処理について模式的に示す。
【0054】
例えば図13(A)に示すように、(ADD・・・、SUB・・・、AND・・・、OR・・・、XOR・・・、LD.W・・・)という12バイトのプログラムを80010h番地にロードするというデバッグコマンドが発行されたとする。この場合、このプログラムロードコマンドは、ライト(80010h、ADD・・・、SUB)、ライト(80014h、AND・・・、OR・・・)、ライト(80018h、XOR・・・、LD.W・・・)という3つのプリミティブなライトコマンドに変換される。即ち、ミニモニタプログラムが、この3つのプリミティブなライトコマンドを実行することで、プログラムロードコマンドが実現されるようになる。
【0055】
また図13(B)に示すようにステップ実行コマンドというデバッグコマンドが発行されたとする。すると、このステップ実行コマンドは、図11の制御レジスタ46のステップ実行イネーブルビットへのライトコマンド(図12のD1のアドレスへのライトコマンド)とGOコマンドに変換される。即ち、ミニモニタプログラムが、このプリミティブなライトコマンドとGOコマンドを実行することで、ステップ実行コマンドが実現されるようになる。
【0056】
また図13(C)に示すように内部レジスタリードコマンドというデバッグコマンドが発行されたとする。すると、この内部レジスタリードコマンドは、メモリマップ上のミニモニタRAM44(内部レジスタの内容の退避先)からのリードコマンド(図12のD2のアドレスからのリードコマンド)に変換される。即ち、ミニモニタプログラムが、このプリミティブなリードコマンドを実行することで、内部レジスタリードコマンドが実現されるようになる。内部レジスタライトコマンド、メモリリードコマンド、メモリライトコマンドも同様にして実現される。
【0057】
また図13(D)に示すようにブレークポイント設定コマンドというデバッグコマンドが発行されたとする。すると、このブレークポイント設定コマンドは、制御レジスタ46のブレークイネーブルビット及びブレークアドレスビットへのライトコマンドに変換される。即ち、ミニモニタプログラムが、このプリミティブなライトコマンドを実行することで、ブレークポイント設定コマンドが実現されるようになる。
【0058】
このように本実施形態では、複雑で多様なデバッグコマンドが、プリミティブでシンプルなリード、ライト、GOコマンドに変換される。そして、ミニモニタプログラムは、このプリミティブなリード、ライト、GOコマンドを実行するだけでよいため、ミニモニタプログラムの命令コードサイズは非常に小さくなる。この結果、ミニモニタROM42のメモリ容量も小さくでき、小さなハードウェア規模でオンチップデバッグ機能を実現できるようになる。
【0059】
6.SIOの構成例
図14にSIO48の構成例を示す。SIO48は、送受信バッファ70、シフトレジスタ76、送受信切替部78、クロック制御部80及び制御レジスタ84を含む。
【0060】
ここで、SIO48が、図3、図5の通信部142に相当する。また送受信バッファ70、シフトレジスタ76及び送受信切替部78が、送受信回路144に相当する。またクロック制御回路80が含む分周回路82が、分周回路146に相当する。更に制御レジスタ84が、図5の分周比制御部148に相当する。
【0061】
送受信バッファ70は、送信データ、受信データを一時的に蓄えるためのものであり、送信バッファ72、受信バッファ74を有する。シフトレジスタ76は、送信バッファ72からの送信データをパラレルデータからシリアルデータに変換し送受信切替部78に出力する機能を有する。また送受信切替部78からの受信データをシリアルデータからパラレルデータに変換し受信バッファ74に出力する機能も有する。送受信切替部78は、データの送信と受信とを切り替えるためのものである。これにより、TXD/RXDを使用した半2重のデータ送受信が可能になる。
【0062】
クロック制御部80は、内蔵する分周回路82によりBCLKを分周し、この分周により得られたサンプリングクロックSMC1をシフトレジスタ76に出力する。シフトレジスタ76は、このSMC1に基づき動作する。またクロック制御部80は、デバッグツール60にBCLKを供給する。これにより、マイクロコンピュータ20とデバッグツール60により、BCLKが共有されるようになる。
【0063】
分周回路82での分周比は制御レジスタ84により設定される。即ちCPU22により実行されるミニモニタプログラムが、所望の分周比を制御レジスタ84に書き込むことで、分周回路82での分周比が設定されることになる。なお、制御レジスタ84のアドレスも、図11の制御レジスタ46と同様に、図12のD1の位置に割り付けられている。
【0064】
7.デバッグツールの構成例
図15にデバッグツール60の構成例を示す。
【0065】
CPU90は、ROM108に格納されるプログラムを実行したり、デバッグツール60の全体の制御を行うものである。送受信切替部92は、データの送信と受信とを切り替えるためのものである。これらのCPU90及び送受信切替部92が、図3、図5の送受信回路154に相当する。
【0066】
クロック制御部94は、CPU90のSCLK端子、アドレスアップカウンタ100、トレースメモリ104に供給するクロックを制御するものである。このクロック制御部94には、マイクロコンピュータ20(SIO48)からのBCLKが入力される。
【0067】
クロック制御部94は周波数検出回路95(図5の周波数検出回路159に相当)、分周回路96(図3、図5の分周回路156に相当)を含む。周波数検出回路95は、BCLKの周波数が属する周波数範囲を検出して、その結果を制御レジスタ98(図5の分周比制御部158に相当)に出力する。また分周回路96での分周比は制御レジスタ98により制御される。即ちCPU90により実行されるメインモニタプログラム(メインモニタROM110に格納)が、制御レジスタ98からBCLKの周波数範囲を読み出す。そして、メインモニタプログラムは、この周波数範囲に応じた最適な分周比を決定し、この分周比を制御レジスタ98に書き込む。そして、分周回路96は、この分周比でBCLKを分周してSMC2を生成し、CPU90のSCLK端子に出力する。
【0068】
アドレスアップカウンタ100は、トレースメモリのアドレスをカウントアップするためのものである。セレクタ102は、ライン122(アドレスアップカウンタ100が出力するアドレス)とライン124(アドレスバス120からのアドレス)のいずれかを選択し、トレースメモリ104のアドレス端子にデータを出力する。またセレクタ106は、ライン126(図11のトレース部50の出力であるDST[2:0]、DPCO)とライン128(データバス118)のいずれかを選択し、トレースメモリ104のデータ端子にデータを出力したり、データ端子からデータを取り出す。
【0069】
ROM108はメインモニタROM110(図11のメインモニタ部62に相当)を含み、メインモニタROM110には、メインモニタプログラムが格納される。このメインモニタプログラムは、図13(A)〜図13(D)で説明したように、デバッグコマンドをプリミティブコマンドに変換するための処理を行う。RAM112は、CPU90のワーク領域となるものである。
【0070】
RS232Cインターフェース114、パラレルインターフェース116は、図11のホストシステム66とのインターフェースとなるものであり、ホストシステム66からのデバッグコマンドはこれらのインターフェースを介してCPU90に入力されることになる。クロック生成部118は、CPU90を動作させるクロックなどを生成するものである。
【0071】
8.トレースデータのサンプリングクロックへのBCLKの利用
本実施形態では、デバッグモードからユーザプログラム実行モードに切り替わった場合に、BCLK(第1のクロック)を、トレースデータをサンプリングするためのクロックとして使用している。以下、まず、リアルタイムトレース処理について簡単に説明する。
【0072】
本実施形態では、図11のCPU22の命令実行のステートを表す3ビットのDST[2:0]と、分岐先のPC値を表すDPCOをトレースメモリ104に蓄える。そして、トレースメモリ104に蓄えられたデータと、ユーザプログラムのソースコードとに基づいて、トレースデータを合成する。このようにすることで、マイクロコンピュータ20とデバッグツール60との間の接続ラインの本数を少なくしながら、リアルタイムトレース機能を実現することが可能になる。
【0073】
ユーザプログラム実行モードにおいては、ライン122が選択され、セレクタ102を介してアドレスアップカウンタ100の出力がトレースメモリ104のアドレス端子に入力される。また、ライン126が選択され、セレクタ106を介してDST[2:0]、DPCOがトレースメモリ105のデータ端子に入力される。ここでアドレスアップカウンタ100には、まず最初に、データバス118、アドレスバス120を用いてCPU90により図16(A)に示すようなスタートアドレスが設定される。またアドレスアップカウンタ100のST/SP(開始/停止)端子には、トレース範囲を特定するDST[2]のラインが接続される。そして図16(B)に示すように、DST[2]のラインに第1のパルス130が入力されると、アドレスアップカウンタ100のアドレスアップカウントが開始する。そして、DST[2]のラインに第2のパルス132が入力されると、アドレスアップカウンタ100のアドレスアップカウントが停止し、トレース動作が停止する。このようにして、所望のトレース範囲でのデータ(DST[2:0]、DPCO)をトレースメモリ104に蓄えることが可能になる。
【0074】
一方、ユーザプログラム実行モードからデバッグモードに移行すると、ライン124が選択され、セレクタ102を介してアドレスバス120からのアドレスがトレースメモリ104のアドレス端子に入力される。またライン128が選択され、セレクタ106を介してトレースメモリ104からのデータがデータバス118に出力される。これにより、トレースメモリ104に蓄えられたデータ(DST[2:0]、DPCO)を、デバッグモード時にCPU90(メインモニタプログラム)が読み出すことが可能になる。そして、読み出されたデータとユーザープログラムのソースコードとに基づいて、トレースデータを合成することが可能になる。
【0075】
さて、図17(A)に示すように、デバッグ処理は、ブレーク空間移行後のデバッグモード時において行われる。即ち、デバッグモード時にユーザは、プログラムロードコマンドによりプログラムを所与のメモリにロードしたり、ブレークポイント設定コマンドでブレークポイントを設定したり、内部レジスタの内容をリードしたりする等のデバッグ作業を行う。この場合には、TXD/RXDのラインを用いてデバッグデータが送受信され、マイクロコンピュータ20内のミニモニタ部40等によりデバッグ処理が行われる。そして、本実施形態では、マイクロコンピュータ20がデバッグツール60にBCLKを供給することで、前述のように通信データのサンプリングエラーの発生を防止している。
【0076】
なお、デバッグモード(ブレーク空間)には、マイクロコンピュータ20の強制ブレーク端子への信号入力による強制ブレークや、ユーザプログラムへのブレークポイント設定によるソフトウェアブレーク等により移行することになる。
【0077】
一方、図17(B)に示すように、図16(A)、(B)のリアルタイムトレース処理は、ユーザ空間に移行した後のユーザプログラム実行モード時において行われる。そして、この場合には、デバッグデータの送受信は行わないため、TXD/RXDやBCLKのラインは、ユーザプログラム実行モード時においては、通常、使用されないことになる。
【0078】
そこで、本実施形態では、ユーザプログラム実行モードにおいて、BCLKを、トレースデータであるDST[2:0]、DPCOのサンプリング用のクロックとして利用している。このようにすることで、トレースデータのサンプリング用のクロックラインとして、新たに通信ラインを設ける必要がなくなる。これにより、マイクロコンピュータ20の端子数を更に減らすことができ、マイクロコンピュータ20の低コスト化を図れるようになる。
【0079】
9.電子機器
次に、以上の本実施形態のマイクロコンピュータ(情報処理装置)を含む電子機器に関して説明する。
【0080】
例えば図18(A)に電子機器の1つであるカーナビゲーションシステムの内部ブロック図を示し、図19(A)にその外観図を示す。カーナビゲーションシステムの操作はリモコン510を用いて行われ、GPSやジャイロからの情報に基づいて位置検出部520が車の位置を検出する。地図などの情報はCDROM530(情報記憶媒体)に格納されている。画像メモリ540は画像処理の際の作業領域になるメモリであり、生成された画像は画像出力部550を用いて運転者に表示される。マイクロコンピュータ500は、リモコン510、位置検出部520、CDROM530などのデータ入力源からデータを入力し、種々の処理を行い、処理後のデータを画像出力部550などの出力装置を用いて出力する。
【0081】
図18(B)に電子機器の1つであるゲーム装置の内部ブロック図を示し、図19(B)にその外観図を示す。このゲーム装置では、ゲームコントローラ560からのプレーヤの操作情報、CDROM570からのゲームプログラム、ICカード580からのプレーヤ情報等に基づいて、画像メモリ590を作業領域としてゲーム画像やゲーム音を生成し、画像出力部610、音出力部600を用いて出力する。
【0082】
図18(C)に電子機器の1つであるプリンタの内部ブロック図を示し、図19(C)にその外観図を示す。このプリンタでは、操作パネル620からの操作情報、コードメモリ630及びフォントメモリ640から文字情報に基づいて、ビットマップメモリ650を作業領域として、印刷画像を生成し、プリント出力部660を用いて出力する。またプリンタの状態やモードを表示パネル670を用いてユーザに伝える。
【0083】
本実施形態のマイクロコンピュータ又はデバッグシステムによれば、図18(A)〜図19(C)の電子機器を動作させるユーザプログラムの開発の容易化、開発期間の短縮化を図れるようになる。またマイクロコンピュータが実動作する環境と同じ環境で、ユーザプログラムのデバッグ作業を行うことができるため、電子機器の信頼性を高めることができる。また電子機器に組み込まれるマイクロコンピュータのハードウェアを小規模化、低コスト化できるため、電子機器の低コスト化も図れるようになる。更にミニモニタプログラムの命令コードサイズは小さいため、ユーザがプログラムや各種データの格納に使用するメモリ領域を、全く使用しないようにすることが可能になる。
【0084】
なお本実施形態のマイクロコンピュータを適用できる電子機器としては、上記以外にも例えば、携帯電話(セルラーフォン)、PHS、ページャ、オーディオ機器、電子手帳、電子卓上計算機、POS端末、タッチパネルを備えた装置、プロジェクタ、ワードプロセッサ、パーソナルコンピュータ、テレビ、ビューファインダ型又はモニタ直視型のビデオテープレコーダなど種々のものを考えることができる。
【0085】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【0086】
例えば情報処理装置と第2の情報処理装置を接続する通信ラインは送信及び受信の一方のみを行うものであってもよい。また半2重で通信してもよいし全2重で通信してもよい。
【0087】
また分周比の制御の手法も本実施形態で説明したものに限らず種々の変形実施が可能である。
【0088】
またマイクロコンピュータの構成も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【0089】
【図面の簡単な説明】
【図1】図1(A)、(B)は、同期式、調歩同期式の通信手法について説明するための図である。
【図2】図2(A)、(B)は、一般的な調歩同期式でのクロックとサンプリングクロックとサンプリングデータのタイミング波形を示す図である。
【図3】本実施形態の通信手法について説明するための図である。
【図4】図4(A)、(B)は、図3の手法でのクロックとサンプリングクロックとサンプリングデータのタイミング波形を示す図である。
【図5】分周比を制御する手法について説明するための図である。
【図6】図6(A)、(B)は、図5の手法でのクロックとサンプリングクロックとサンプリングデータのタイミング波形を示す図である。
【図7】デバッグツール側での分周比設定処理について説明するためのフローチャートである。
【図8】マイクロコンピュータ側での分周比設定処理について説明するためのフローチャートである。
【図9】図9(A)はCPU置き換え型のICE、図9(B)はモニタプログラム実装型ICEの例を示す図である。
【図10】ミニモニタ部を設ける手法について説明するための図である。
【図11】マイクロコンピュータ、デバッグシステムの構成例を示す機能ブロック図である。
【図12】デバッグモード時のメモリマップを示す図である。
【図13】図13(A)、(B)、(C)、(D)は、デバッグコマンドをプリミティブコマンドへ変換(分解)する処理について説明するための図である。
【図14】SIOの構成例を示す機能ブロック図である。
【図15】デバッグツールの構成例を示す機能ブロック図である。
【図16】図16(A)、(B)は、リアルタイムトレース処理について説明するための図である。
【図17】図17(A)、(B)は、ユーザプログラム実行モード時に、BCLKを、トレースデータのサンプリング用クロックとして利用する手法について説明するための図である。
【図18】図18(A)、(B)、(C)は、種々の電子機器の内部ブロック図の例である。
【図19】図19(A)、(B)、(C)は、種々の電子機器の外観図の例である。
【符号の説明】
10 マイクロコンピュータ
12 CPU(中央処理ユニット)
14 ミニモニタ部(第1のモニタ手段)
16 メインモニタ部(第2のモニタ手段)
20 マイクロコンピュータ
22 CPU(中央処理ユニット)
24 内部レジスタ
26 BCU(バス制御ユニット)
28 内部メモリ
30 クロック生成部
31 バス
32 バス
33 外部バス
34 内部バス
36 外部メモリ
40 ミニモニタ部(第1のモニタ手段)
42 ミニモニタROM
44 ミニモニタRAM
46 制御レジスタ
48 SIO
50 トレース部
60 デバッグツール
62 メインモニタ部(第2のモニタ手段)
66 ホストシステム
70 送受信バッファ
72 送信バッファ
74 受信バッファ
76 シフトレジスタ
78 送受信切替部
80 クロック制御部
82 分周回路
84 制御レジスタ
90 CPU
92 送受信切替部
94 クロック制御部
95 周波数検出部
96 分周回路
98 制御レジスタ
100 アドレスアップカウンタ
102 セレクタ
104 トレースメモリ
106 セレクタ
108 ROM
110 メインモニタROM
112 RAM
114 RS232Cインターフェース
116 パラレルインターフェース
118 クロック生成部
140 マイクロコンピュータ(情報処理装置)
142 通信部
144 送受信回路
146 分周回路
148 分周比制御部
150 デバッグツール(第2の情報処理装置)
152 通信部
154 送受信回路
156 分周回路
158 分周比制御部
159 周波数検出回路

Claims (5)

  1. 外部の第2の情報処理装置が含む第2の通信手段との間で調歩同期式によりデータを通信する第1の通信手段を含む情報処理装置であって、
    前記第1の通信手段は、
    第1のクロックを分周し、調歩同期式で通信されるデータの各ビットをサンプリングするための第1のサンプリングクロックを生成する第1の分周回路と、
    前記第1のサンプリングクロックに基づいてデータの送信及び受信の少なくとも一方を行う回路とを含み、
    前記第1の通信手段は、
    前記第2の通信手段が含む第2の分周回路が第2のサンプリングクロックを生成するための信号として、前記第1のクロックを、前記第2の情報処理装置に供給し、
    前記第1の通信手段は、
    前記第1の分周回路での分周比を制御する第1の分周比制御手段を含み、
    前記第1の分周比制御手段は、
    前記第2の通信手段が含む第2の分周比制御手段が前記第1のクロックの周波数に応じて分周比を変化させ変化後の分周比を知らせる分周比データを前記第1の通信手段に通信した場合に、前記分周比データに基づいて前記第1の分周回路での分周比を変化させることを特徴とする情報処理装置。
  2. 請求項において、
    命令の実行処理を行う中央処理ユニットを含み、
    前記第1の通信手段は、
    デバッグツールとなる前記第2の情報処理装置との間でデバッグのためのデータを通信することを特徴とする情報処理装置。
  3. 請求項において、
    デバッグモードからユーザプログラム実行モードに切り替わった場合に、前記第1のクロックを、トレースデータをサンプリングするためのクロックとして使用することを特徴とする情報処理装置。
  4. 外部の第2の情報処理装置が含む第2の通信手段との間で調歩同期式によりデータを通信する第1の通信手段と、命令の実行処理を行う中央処理ユニットとを含む情報処理装置であって、
    前記第1の通信手段は、
    第1のクロックを分周し、調歩同期式で通信されるデータの各ビットをサンプリングするための第1のサンプリングクロックを生成する第1の分周回路と、
    前記第1のサンプリングクロックに基づいてデータの送信及び受信の少なくとも一方を行う回路とを含み、
    前記第1の通信手段は、
    前記第2の通信手段が含む第2の分周回路が第2のサンプリングクロックを生成するための信号として、前記第1のクロックを、前記第2の情報処理装置に供給すると共に、デバッグツールとなる前記第2の情報処理装置との間でデバッグのためのデータを通信し、
    デバッグモードからユーザプログラム実行モードに切り替わった場合に、前記第1のクロックを、トレースデータをサンプリングするためのクロックとして使用することを特徴とする情報処理装置。
  5. 請求項1乃至4のいずれかのいずれかの情報処理装置と、
    前記情報処理装置の処理対象となるデータの入力源と、
    前記情報処理装置により処理されたデータを出力するための出力装置とを含むことを特徴とする電子機器。
JP10403898A 1998-03-31 1998-03-31 情報処理装置及び電子機器 Expired - Fee Related JP3666237B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP10403898A JP3666237B2 (ja) 1998-03-31 1998-03-31 情報処理装置及び電子機器
PCT/JP1999/001650 WO2004102387A1 (ja) 1998-03-31 1999-03-31 情報処理装置及び電子機器
US09/424,616 US6553506B1 (en) 1998-03-31 1999-03-31 Information processing device and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10403898A JP3666237B2 (ja) 1998-03-31 1998-03-31 情報処理装置及び電子機器

Publications (2)

Publication Number Publication Date
JPH11282714A JPH11282714A (ja) 1999-10-15
JP3666237B2 true JP3666237B2 (ja) 2005-06-29

Family

ID=14370066

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10403898A Expired - Fee Related JP3666237B2 (ja) 1998-03-31 1998-03-31 情報処理装置及び電子機器

Country Status (3)

Country Link
US (1) US6553506B1 (ja)
JP (1) JP3666237B2 (ja)
WO (1) WO2004102387A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10116861A1 (de) * 2001-04-04 2002-10-31 Infineon Technologies Ag Programmgesteuerte Einheit
US7007157B2 (en) * 2001-10-30 2006-02-28 Microsoft Corporation Network interface sharing methods and apparatuses that support kernel mode data traffic and user mode data traffic
CN101833969A (zh) * 2004-07-22 2010-09-15 松下电器产业株式会社 重放装置和重放方法
JP4235831B2 (ja) * 2005-02-22 2009-03-11 セイコーエプソン株式会社 ターゲットシステム、デバッグシステム、集積回路装置、マイクロコンピュータ及び電子機器
JP2006252006A (ja) * 2005-03-09 2006-09-21 Seiko Epson Corp デバッグシステム、半導体集積回路装置、マイクロコンピュータ及び電子機器
JP2006268727A (ja) * 2005-03-25 2006-10-05 Seiko Epson Corp 集積回路装置、デバッグシステム、マイクロコンピュータ及び電子機器
US7215586B2 (en) * 2005-06-29 2007-05-08 Micron Technology, Inc. Apparatus and method for repairing a semiconductor memory
JP4833907B2 (ja) 2007-04-23 2011-12-07 ルネサスエレクトロニクス株式会社 半導体装置
US8311171B1 (en) * 2010-08-31 2012-11-13 Siklu Communication ltd. Distributing clock associated with a wired communication channel over wireless interfaces by sending a clock correction message to the receiving side
US8396178B1 (en) * 2010-08-31 2013-03-12 Siklu Communication ltd. Distributing clock associated with a wired data connection over wireless interfaces using frequency correction at the transmitter side

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5840642A (ja) 1981-09-04 1983-03-09 Anritsu Corp エミユレ−タクロツク回路
US4641348A (en) * 1983-11-09 1987-02-03 Hewlett-Packard Company Timing or logic state analyzer with automatic qualified inferential marking and post processing of captured trace data
JPH0719214B2 (ja) 1987-06-03 1995-03-06 日本電気株式会社 マイクロコンピュ−タ評価装置
JPS643745A (en) 1987-06-26 1989-01-09 Hitachi Ltd Emulation system
JPH0233238A (ja) 1988-07-23 1990-02-02 Nec Corp 調歩同期方式データの受信クロック再生回路
DE69125652T2 (de) * 1990-06-05 1997-09-11 Hitachi Maxell Berührungsloser IC-Aufzeichnungsträger
CA2099838C (en) * 1993-07-05 2000-01-18 Philip Ching Method of extracting data words from a binary serial bit stream
JPH07271926A (ja) 1994-03-31 1995-10-20 Toppan Printing Co Ltd Icカードリーダライタ
US5649176A (en) * 1995-08-10 1997-07-15 Virtual Machine Works, Inc. Transition analysis and circuit resynthesis method and device for digital circuit modeling
US5680543A (en) * 1995-10-20 1997-10-21 Lucent Technologies Inc. Method and apparatus for built-in self-test with multiple clock circuits

Also Published As

Publication number Publication date
US6553506B1 (en) 2003-04-22
WO2004102387A1 (ja) 2004-11-25
JPH11282714A (ja) 1999-10-15

Similar Documents

Publication Publication Date Title
JP3684832B2 (ja) マイクロコンピュータ、電子機器及びデバッグシステム
JP3684831B2 (ja) マイクロコンピュータ、電子機器及びデバッグシステム
US7233541B2 (en) Storage device
JP3671667B2 (ja) マイクロコンピュータ、電子機器及びデバッグシステム
JP3666237B2 (ja) 情報処理装置及び電子機器
US5680592A (en) System using a plurality of state machines for translating commands intended for legacy bus devices to commands for local bus devices
JP2002323995A (ja) トレース回路
US7584381B2 (en) Semiconductor integrated circuit device, debug system, microcomputer, and electronic apparatus
CN112559410A (zh) 一种基于fpga的lio总线扩展uart外设系统及方法
US20060206763A1 (en) Debugging system, semiconductor integrated circuit device, microcomputer, and electronic apparatus
US20030191624A1 (en) Debug function built-in type microcomputer
JP2007310714A (ja) 集積回路装置、デバッグツール、デバッグシステム、マイクロコンピュータ及び電子機器
US20040049665A1 (en) Trace control circuit adapted for high-speed microcomputer operation
JP4235831B2 (ja) ターゲットシステム、デバッグシステム、集積回路装置、マイクロコンピュータ及び電子機器
JP3741182B2 (ja) マイクロコンピュータ、電子機器及びデバッグシステム
JP2005251217A (ja) マイクロコンピュータ、電子機器及びデバッグシステム
US20050086454A1 (en) System and methods for providing a debug function built-in type microcomputer
US5333259A (en) Graphic information processing system having a RISC CPU for displaying information in a window
JPH1083318A (ja) 電子回路解析装置
JP3129397B2 (ja) マイクロコンピュータ用エミュレーション装置
JPH032944A (ja) メモリ容量の増量方式
JPH10320230A (ja) エミュレータ
JP2007193570A (ja) マイクロコンピュータ及び電子機器
KR20010060836A (ko) 멀티모니터링기능을 갖는 컴퓨터장치
JPH08123707A (ja) 電子回路解析装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050217

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: 20050315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050328

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080415

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090415

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090415

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100415

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110415

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110415

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120415

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130415

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130415

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees