JPH11282720A - マイクロコンピュータ、電子機器及びデバッグシステム - Google Patents

マイクロコンピュータ、電子機器及びデバッグシステム

Info

Publication number
JPH11282720A
JPH11282720A JP10103721A JP10372198A JPH11282720A JP H11282720 A JPH11282720 A JP H11282720A JP 10103721 A JP10103721 A JP 10103721A JP 10372198 A JP10372198 A JP 10372198A JP H11282720 A JPH11282720 A JP H11282720A
Authority
JP
Japan
Prior art keywords
data
monitor
microcomputer
command
debug
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.)
Granted
Application number
JP10103721A
Other languages
English (en)
Other versions
JP3684832B2 (ja
Inventor
Makoto Kudo
真 工藤
Yoichi Hijikata
陽一 土方
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 JP10372198A priority Critical patent/JP3684832B2/ja
Priority to US09/424,667 priority patent/US7100086B1/en
Publication of JPH11282720A publication Critical patent/JPH11282720A/ja
Priority to US10/724,885 priority patent/US7114101B2/en
Priority to US10/981,770 priority patent/US7047443B2/en
Application granted granted Critical
Publication of JP3684832B2 publication Critical patent/JP3684832B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • 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
    • 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
    • G06F11/3656Software debugging using additional hardware using a specific debug interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Microcomputers (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

(57)【要約】 【課題】 小さな命令コードサイズ又は回路規模でオン
チップデバッグ機能を実現できるマイクロコンピュー
タ、電子機器、デバッグシステムを提供すること。 【解決手段】 メインモニタ部16がデバッグコマンド
をプリミティブコマンドに変換する。ミニモニタ部14
はメインモニタ部16との間でデータを送受信し、受信
データに基づき決定したプリミティブコマンドを実行す
る。プリミティブコマンドはGO、ライト、リードコマ
ンドを含む。デバッグモード時でのメモリマップ上にア
ドレスが割り付けられる制御レジスタ、ミニモニタRA
Mを設ける。スレーブとなるミニモニタ部14とマスタ
となるメインモニタ部16を半2重の双方向通信ライン
で接続し送受信データを固定長にする。受信データにコ
マンド識別データを含ませる。ミニモニタプログラムを
ROMに格納する。調歩同期式でデータの送受信をしな
がらサンプリングクロックを生成するためのクロックを
ミニモニタ部14とメインモニタ部16とで共有する。

Description

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

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 オンチップデバッグ機能を有するマイク
    ロコンピュータであって、 命令の実行処理を行う中央処理ユニットと、 マイクロコンピュータの外部に設けられデバッグコマン
    ドを少なくとも1つのプリミティブコマンドに変換する
    ための処理を行う第2のモニタ手段との間でデータを送
    受信し、実行するプリミティブコマンドを前記第2のモ
    ニタ手段からの受信データに基づいて決定し、決定した
    プリミティブコマンドを実行するための処理を行う第1
    のモニタ手段とを含むことを特徴とするマイクロコンピ
    ュータ。
  2. 【請求項2】 請求項1において、 前記プリミティブコマンドが、 ユーザプログラムの実行を開始するコマンド、デバッグ
    モード時におけるメモリマップ上のアドレスにデータを
    ライトするコマンド、及び前記メモリマップ上のアドレ
    スからデータをリードするコマンドを含むことを特徴と
    するマイクロコンピュータ。
  3. 【請求項3】 請求項1又は2において、 前記中央処理ユニットの命令実行処理に使用され、デバ
    ッグモード時におけるメモリマップ上にそのアドレスが
    割り付けられる制御レジスタを含むことを特徴とするマ
    イクロコンピュータ。
  4. 【請求項4】 請求項1乃至3のいずれかにおいて、 前記中央処理ユニットの内部レジスタの内容が退避さ
    れ、デバッグモード時におけるメモリマップ上にそのア
    ドレスが割り付けられるモニタRAMを含むことを特徴
    とするマイクロコンピュータ。
  5. 【請求項5】 請求項1乃至4のいずれかにおいて、 前記第2のモニタ手段との間で半2重の双方向通信を行
    うための1本の双方向通信ラインが接続される端子を含
    み、 スレーブとなる前記第1のモニタ手段が、 マスタとなる前記第2のモニタ手段からデータを受信し
    たことを条件に、該受信データに対応する処理を行い該
    受信データに対応する応答データを前記第2のモニタ手
    段に送信することを特徴とするマイクロコンピュータ。
  6. 【請求項6】 請求項1乃至5のいずれかにおいて、 前記第2のモニタ手段からの受信データが、前記第1の
    モニタ手段が実行するプリミティブコマンドの識別デー
    タを含むことを特徴とするマイクロコンピュータ。
  7. 【請求項7】 請求項1乃至6のいずれかにおいて、 前記第1のモニタ手段が、 前記第2のモニタ手段との間で固定長のデータを送受信
    することを特徴とするマイクロコンピュータ。
  8. 【請求項8】 請求項1乃至7のいずれかにおいて、 前記第1のモニタ手段の処理を実行するためのモニタプ
    ログラムがROMに格納されていることを特徴とするマ
    イクロコンピュータ。
  9. 【請求項9】 請求項1乃至8のいずれかにおいて、 前記第1のモニタ手段が、 第1のクロックを分周し、調歩同期式で送受信されるデ
    ータの各ビットをサンプリングするための第1のサンプ
    リングクロックを生成する第1の分周回路と、 前記第1のサンプリングクロックに基づいてデータを送
    受信する回路とを含み、 前記第1のモニタ手段が、 前記第2のモニタ手段が含む第2の分周回路が第2のサ
    ンプリングクロックを生成するための信号として、前記
    第1のクロックを、前記第2のモニタ手段に供給するこ
    とを特徴とするマイクロコンピュータ。
  10. 【請求項10】 請求項1乃至9のいずれかにおいて、 前記第1のモニタ手段がリード及びライト可能なモニタ
    RAMを含み、 前記第1のモニタ手段が、 ユーザプログラムの実行がブレークしデバッグモードに
    移行した場合に、前記中央処理ユニットのプログラムカ
    ウンタ値及び内部レジスタの内容を前記モニタRAMに
    待避することを特徴とするマイクロコンピュータ。
  11. 【請求項11】 請求項1乃至10のいずれかのマイク
    ロコンピュータと、 前記マイクロコンピュータの処理対象となるデータの入
    力源と、 前記マイクロコンピュータにより処理されたデータを出
    力するための出力装置とを含むことを特徴とする電子機
    器。
  12. 【請求項12】 マイクロコンピュータを含むターゲッ
    トシステムのためのデバッグシステムであって、 ホストシステムが発行したデバッグコマンドを少なくと
    も1つのプリミティブコマンドに変換するための処理を
    行う第2のモニタ手段と、 前記第2のモニタ手段との間でデータを送受信し、実行
    するプリミティブコマンドを前記第2のモニタ手段から
    の受信データに基づいて決定し、決定したプリミティブ
    コマンドを実行するための処理を行う第1のモニタ手段
    とを含むことを特徴とするデバッグシステム。
JP10372198A 1998-03-31 1998-03-31 マイクロコンピュータ、電子機器及びデバッグシステム Expired - Lifetime JP3684832B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP10372198A JP3684832B2 (ja) 1998-03-31 1998-03-31 マイクロコンピュータ、電子機器及びデバッグシステム
US09/424,667 US7100086B1 (en) 1998-03-31 1999-03-31 Microcomputer, electronic equipment and debugging system
US10/724,885 US7114101B2 (en) 1998-03-31 2003-12-02 Microcomputer, electronic equipment and debugging system
US10/981,770 US7047443B2 (en) 1998-03-31 2004-11-05 Microcomputer, electronic equipment and debugging system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10372198A JP3684832B2 (ja) 1998-03-31 1998-03-31 マイクロコンピュータ、電子機器及びデバッグシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005091910A Division JP2005251217A (ja) 2005-03-28 2005-03-28 マイクロコンピュータ、電子機器及びデバッグシステム

Publications (2)

Publication Number Publication Date
JPH11282720A true JPH11282720A (ja) 1999-10-15
JP3684832B2 JP3684832B2 (ja) 2005-08-17

Family

ID=14361556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10372198A Expired - Lifetime JP3684832B2 (ja) 1998-03-31 1998-03-31 マイクロコンピュータ、電子機器及びデバッグシステム

Country Status (2)

Country Link
US (3) US7100086B1 (ja)
JP (1) JP3684832B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116028291A (zh) * 2023-03-29 2023-04-28 北京象帝先计算技术有限公司 调试信号输出***、pcie设备、电子设备及方法

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6892322B1 (en) * 2000-10-26 2005-05-10 Cypress Semiconductor Corporation Method for applying instructions to microprocessor in test mode
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
EP1283422A1 (en) * 2001-08-07 2003-02-12 Lucent Technologies Inc. Testbench for the validation of a device under test
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
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
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US20030120970A1 (en) * 2001-12-24 2003-06-26 Chih-Yung Chen Method and apparatus for debugging an electronic product using an internal I/O port
US6973593B1 (en) * 2002-03-18 2005-12-06 Emc Corporation System analyzer for a data storage system
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
JP4161814B2 (ja) * 2003-06-16 2008-10-08 ソニー株式会社 入力方法および入力装置
JP2005070950A (ja) * 2003-08-21 2005-03-17 Sanyo Electric Co Ltd プログラム処理装置
JP2005070949A (ja) * 2003-08-21 2005-03-17 Sanyo Electric Co Ltd プログラム処理装置
US7437623B2 (en) * 2003-11-05 2008-10-14 Texas Instruments Incorporated Apparatus and method for performing speculative reads from a scan control unit using FIFO buffer units
US7457986B2 (en) * 2003-11-05 2008-11-25 Texas Instruments Incorporated Apparatus and method for using variable end state delay to optimize JTAG transactions
US7284153B2 (en) * 2003-11-17 2007-10-16 International Business Machines Corporation Apparatus, method, and system for logging diagnostic information
US7475303B1 (en) * 2003-12-29 2009-01-06 Mips Technologies, Inc. HyperJTAG system including debug probe, on-chip instrumentation, and protocol
US7269756B2 (en) * 2004-03-24 2007-09-11 Intel Corporation Customizable event creation logic for hardware monitoring
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
JP4409349B2 (ja) * 2004-04-27 2010-02-03 Okiセミコンダクタ株式会社 デバッグ回路およびデバッグ制御方法
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
US8286125B2 (en) 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
US7395454B1 (en) * 2005-01-04 2008-07-01 Marvell Israel (Misl) Ltd. Integrated circuit with integrated debugging mechanism for standard interface
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US8856036B2 (en) * 2005-06-09 2014-10-07 Whirlpool Corporation Method of providing product demonstrations
US20070288331A1 (en) * 2006-06-08 2007-12-13 Whirlpool Corporation Product demonstration system and method
US20080137670A1 (en) * 2005-06-09 2008-06-12 Whirlpool Corporation Network System with Message Binding for Appliances
US7917914B2 (en) * 2005-06-09 2011-03-29 Whirlpool Corporation Event notification system for an appliance
US8571942B2 (en) * 2005-06-09 2013-10-29 Whirlpool Corporation Method of product demonstration
US7813831B2 (en) * 2005-06-09 2010-10-12 Whirlpool Corporation Software architecture system and method for operating an appliance in multiple operating modes
CN101305350A (zh) * 2005-06-09 2008-11-12 惠而浦公司 与家用电器内的至少一个部件通信以及对其进行管理的软件体系***和方法
US8676656B2 (en) 2005-06-09 2014-03-18 Whirlpool Corporation Method for product demonstration
US7921429B2 (en) * 2005-06-09 2011-04-05 Whirlpool Corporation Data acquisition method with event notification for an appliance
US20070162158A1 (en) * 2005-06-09 2007-07-12 Whirlpool Corporation Software architecture system and method for operating an appliance utilizing configurable notification messages
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
US7555676B2 (en) * 2005-07-18 2009-06-30 Dell Products L.P. Systems and methods for providing remotely accessible in-system emulation and/or debugging
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US8682733B2 (en) * 2006-06-08 2014-03-25 Whirlpool Corporation System for product demonstration
US7707459B2 (en) 2007-03-08 2010-04-27 Whirlpool Corporation Embedded systems debugging
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
JP2008282154A (ja) * 2007-05-09 2008-11-20 Nec Electronics Corp デバッグシステム及びデバッグ方法
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
JP4525762B2 (ja) * 2008-02-04 2010-08-18 株式会社デンソー 車両用電子制御装置
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
CN103218294B (zh) * 2013-04-16 2015-12-02 华为技术有限公司 一种嵌入式***的调试方法、调试转换装置和***
US9568547B2 (en) * 2015-03-17 2017-02-14 Intel Corporation Method, apparatus and system for dynamic bandwidth management in systems
US9852045B2 (en) * 2015-10-13 2017-12-26 International Business Machines Corporation Debugging program code
CN112559437A (zh) * 2019-09-25 2021-03-26 阿里巴巴集团控股有限公司 一种调试单元及处理器

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6072034A (ja) 1983-09-28 1985-04-24 Nec Corp エミュレ−ション装置
JPH0719214B2 (ja) 1987-06-03 1995-03-06 日本電気株式会社 マイクロコンピュ−タ評価装置
JPS643745A (en) 1987-06-26 1989-01-09 Hitachi Ltd Emulation system
JPH01286030A (ja) 1988-05-12 1989-11-17 Nec Corp 情報処理装置
JPH01287752A (ja) 1988-05-13 1989-11-20 Fujitsu Ltd デバッグ装置
JPH02264339A (ja) 1989-04-05 1990-10-29 Hitachi Ltd 情報処理装置
JPH06103104A (ja) 1992-09-18 1994-04-15 Hitachi Ltd リモートデバッグ方法
US6006343A (en) * 1993-07-30 1999-12-21 Texas Instruments Incorporated Method and apparatus for streamlined testing of electrical circuits
JPH08221297A (ja) 1995-02-16 1996-08-30 Chiyoufu Seisakusho:Kk プログラムデバッグ装置
US5983017A (en) * 1996-11-12 1999-11-09 Lsi Logic Corporation Virtual monitor debugging method and apparatus
US5771240A (en) * 1996-11-14 1998-06-23 Hewlett-Packard Company Test systems for obtaining a sample-on-the-fly event trace for an integrated circuit with an integrated debug trigger apparatus and an external pulse pin
US5828824A (en) * 1996-12-16 1998-10-27 Texas Instruments Incorporated Method for debugging an integrated circuit using extended operating modes
US5991898A (en) * 1997-03-10 1999-11-23 Mentor Graphics Corporation Arithmetic built-in self test of multiple scan-based integrated circuits
US6314530B1 (en) * 1997-04-08 2001-11-06 Advanced Micro Devices, Inc. Processor having a trace access instruction to access on-chip trace memory
US6154856A (en) * 1997-04-08 2000-11-28 Advanced Micro Devices, Inc. Debug interface including state machines for timing synchronization and communication
EP0919028B1 (en) * 1997-05-30 2002-08-07 Koninklijke Philips Electronics N.V. A method for emulating a non-bond-out version of a microcontroller that has standard port means and a system for executing the emulation
US6279123B1 (en) * 1997-09-15 2001-08-21 Lucent Technologies, Inc. System for viewing and monitoring embedded processor operation
US6145123A (en) * 1998-07-01 2000-11-07 Advanced Micro Devices, Inc. Trace on/off with breakpoint register
US6502210B1 (en) * 1999-10-01 2002-12-31 Stmicroelectronics, Ltd. Microcomputer debug architecture and method
US6545549B2 (en) * 2000-03-02 2003-04-08 Texas Instruments Incorporated Remotely controllable phase locked loop clock circuit
US6484273B1 (en) * 2000-11-29 2002-11-19 Lsi Logic Corporation Integrated EJTAG external bus interface

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116028291A (zh) * 2023-03-29 2023-04-28 北京象帝先计算技术有限公司 调试信号输出***、pcie设备、电子设备及方法
CN116028291B (zh) * 2023-03-29 2023-07-21 北京象帝先计算技术有限公司 调试信号输出***、pcie设备、电子设备及方法

Also Published As

Publication number Publication date
US20050097401A1 (en) 2005-05-05
JP3684832B2 (ja) 2005-08-17
US7114101B2 (en) 2006-09-26
US7100086B1 (en) 2006-08-29
US20040153802A1 (en) 2004-08-05
US7047443B2 (en) 2006-05-16

Similar Documents

Publication Publication Date Title
JP3684832B2 (ja) マイクロコンピュータ、電子機器及びデバッグシステム
US6922795B2 (en) Microcomputer, electronic equipment, and debugging system
US7233541B2 (en) Storage device
JP3671667B2 (ja) マイクロコンピュータ、電子機器及びデバッグシステム
US9213615B2 (en) Information processing apparatus with debugging unit and debugging method therefor
JP2002323995A (ja) トレース回路
CN115033444B (zh) 基于8051core在线调试电路控制装置
JP3666237B2 (ja) 情報処理装置及び電子機器
US20060206763A1 (en) Debugging system, semiconductor integrated circuit device, microcomputer, and electronic apparatus
JPH10116187A (ja) マイクロコンピュータ
US20080010541A1 (en) Integrated circuit device, debugging tool, debugging system, microcomputer, and electronic instrument
US6996704B2 (en) Trace control circuit adapted for high-speed microcomputer operation
JP2005251217A (ja) マイクロコンピュータ、電子機器及びデバッグシステム
JP3741182B2 (ja) マイクロコンピュータ、電子機器及びデバッグシステム
US7028237B2 (en) Internal bus testing device and method
CN112835834B (zh) 数据传输***
KR100531729B1 (ko) 피씨 병렬포트를 이용한 주변기기와의 인터페이스 장치 및그 방법
JP2000284985A (ja) デバッグシステム及び情報記憶媒体
JPH10320267A (ja) メモリ制御装置及び方法
JP2000284986A (ja) デバッグシステム及び情報記憶媒体
JP2000284984A (ja) デバッグシステム及び情報記憶媒体
JPH04311247A (ja) バス制御装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050328

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050523

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100610

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110610

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110610

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120610

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130610

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130610

Year of fee payment: 8

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term