JPH11282719A - マイクロコンピュータ、電子機器及びデバッグシステム - Google Patents
マイクロコンピュータ、電子機器及びデバッグシステムInfo
- Publication number
- JPH11282719A JPH11282719A JP10103720A JP10372098A JPH11282719A JP H11282719 A JPH11282719 A JP H11282719A JP 10103720 A JP10103720 A JP 10103720A JP 10372098 A JP10372098 A JP 10372098A JP H11282719 A JPH11282719 A JP H11282719A
- Authority
- JP
- Japan
- Prior art keywords
- debug
- microcomputer
- mode
- terminal
- debugging
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Microcomputers (AREA)
Abstract
の端子等のデバッグ時のみ必要な端子をより少なくした
マイクロコンピュータ、これを含む電子機器、及びデバ
ッグシステムを提供すること。 【解決手段】 ユーザーモード及びデバッグモードを有
するマイクロコンピュータ10である。SIOD16
は、ユーザーモード時は強制ブレークの入力信号を入力
する端子として機能し、デバッグモード時はデバッグ情
報の送受信を行うための端子として機能する。また、外
部のデバッグツール14が接続されていない場合にはS
IODをプルアップしてハイレベルに保持し、デバッグ
ツール14に接続することにより任意のレベル(ハイレ
ベル又はローレベル)にできるように構成する。そして
SIOD16がハイレベルであるかローレベルであるか
に基づきリセット時の実行モードを決定する。
Description
ータ、マイクロコンピュータを含む電子機器、及びデバ
ッグシステムに関する。
ーム装置、カーナビゲーションシステム、プリンタ、携
帯情報端末などの電子機器に組み込まれ、高度な情報処
理を実現できるマイクロコンピュータに対する需要が高
まっている。このような組み込み型のマイクロコンピュ
ータは、通常、ターゲットシステムと呼ばれるユーザボ
ードに実装される。そして、このターゲットシステムを
動作させるソフトウェアの開発を支援するためにICE
(In-Circuit Emulator)と呼ばれるソフトウェア開発
支援ツールが広く使用されている。
図1(A)に示すようなCPU置き換え型と呼ばれるI
CEが主流を占めていた。このCPU置き換え型ICE
では、デバッグ時にターゲットシステム300からマイ
クロコンピュータ302を取り外し、その代わりにデバ
ッグツール304のプローブ306を接続する。そし
て、このデバッグツール304に、取り外したマイクロ
コンピュータ302の動作をエミュレートさせる。ま
た、このデバッグツール304に、デバッグのために必
要な種々の処理を行わせる。
Eには、プローブ306のピン数が多くなると共にプロ
ーブ306の線308が増えるという欠点があった。こ
のため、マイクロコンピュータ302の高周波数動作を
エミュレートすることが困難になる(例えば33MHZ
程度が限界)。またターゲットシステム300の設計も
困難になる。更に、マイクロコンピュータ302を実装
して動作させる実動作時とデバッグツール304でマイ
クロコンピュータ302の動作をエミュレートするデバ
ッグモード時とで、ターゲットシステム300の動作環
境(信号のタイミング、負荷条件)が変化してしまう。
またこのCPU置き換え型ICEには、マイクロコンピ
ュータが異なれば、たとえそれが派生品であっても、設
計が異なるデバッグツールや、ピン数やピンの位置が異
なるプローブを使用しなければならないという問題もあ
った。
の欠点を解消するものとして、ICEと同じ機能を実現
するためのデバッグ用のピンと機能を量産チップ上に実
装するタイプのICEが知られている。このようなデバ
ッグ機能実装型ICEにおいては、通常ユーザーモード
とデバッグモードを有している。そしてユーザーモード
において、ユーザープログラムが実行され、デバッグモ
ードにおいてはデバッグ用プログラムが実行される。
るマイクロコンピュータにおいては、デバッグ時にユー
ザーモードでユーザープログラムの実行中にプログラム
の暴走や無限ループにおちいることがある。このような
場合、ユーザーモードからデバッグモードに強制的に移
行させるための手段が必要となる。このため、強制ブレ
ークの機能が設けられており、通常強制ブレークを実現
するための専用の外部端子を設けている。
外部入力端子を設けるとパッケージのピン数が増える。
しかし、デバッグ時にのみ必要でエンドユーザーにとっ
ては不要な端子はできるかぎり少ないほうが好ましい。
においては 外部(チップ以外のハード等)との通信が
不可欠である。しかし外部のデバッグツールと送受信は
デバッグモード時のみに行われる。このためユーザーモ
ード時にはこの送受信用端子は使用されない。
ッグモード時にのみ使用する端子はエンドユーザーにと
っては不要な物であるためより少ないほうが好ましい。
てなされたものであり、その目的とするところは、デバ
ッグ用のピンと機能を量産チップ上に実装するタイプの
ICEにおいて、強制ブレークを入力するための端子及
びデバッグモード時にのみ使用する端子等のエンドユー
ザーにとっては不要な端子をより節約したマイクロコン
ピュータ、これを含む電子機器、及びデバッグシステム
を提供することにある。
に本発明は、ユーザーモード及びデバッグモードを有す
るマイクロコンピュータであって、ユーザーモード及び
デバッグモードが切り替え可能に形成され、それぞれの
モードにおいて命令の実行処理を行う中央処理ユニット
と、ユーサーモードでは使用されない端子を介して強制
ブレークの入力がされると、前記中央処理ユニットをユ
ーザーモードからデバッグモードに切り替える切り替え
手段とを含むことを特徴とする。
モードからデバッグモードに強制的に移行させることを
いう。
れない端子、例えばデバッグモードでのみ使用される端
子を用いて強制ブレークの入力を行う。従って強制ブレ
ーク専用端子を設ける必要が無いため、マイクロコンピ
ュータの端子の節約となり、ユーザーが使用可能な端子
をより多く確保することができる。
が、オンチップデバッグ機能を有し、オンチップデバッ
グを行うためのデバッグ情報を外部のデバッグツールと
送受信するための通信ラインが接続されるデバッグ用通
信端子を含み、前記デバッグ用端子を介して強制ブレー
クの入力がされることを特徴とする。
コンピュータでは通常外部(チップ以外のハード等)と
の通信が必要となる。しかし外部のデバッグツールと送
受信はデバッグモード時のみに行われ、ユーザーモード
時にはこのデバッグ用端子は使用されない。
からデバッグモードへ切り替えるための入力であるため
ユーザーモードでのみ発生する。
力は異なるモードでしか発生しないため、同一の端子を
共用してもそれぞれを判別可能で混同は生じない。
要な端子と強制ブレークを入力するための端子を共用す
るため、ユーザーが使用可能な端子をより多く確保する
ことができる。
が、マイクロコンピュータの外部に設けられデバッグコ
マンドを少なくとも1つのプリミティブコマンドに変換
するための処理を行う第2のモニタ手段との間でデータ
を送受信し、実行するプリミティブコマンドを前記第2
のモニタ手段からの受信データに基づいて決定し、決定
したプリミティブコマンドを実行するための処理を行う
第1のモニタ手段とを含み、前記データを半2重の双方
向通信で送受信を行うための1本の通信ラインが接続さ
れるデバッグ用端子を含み、前記中央処理ユニットは、
ユーザーモードにおいてはユーザープログラムの実行処
理を行い、デバッグモードにおいて前記プリミティブコ
マンドの実行処理を行い、前記切り替え手段は、前記デ
バッグ用端子を介して強制ブレークの入力がされると、
前記中央処理ユニットをユーザーモードからデバッグモ
ードに切り替えることを特徴とする。
外部に設けられた第2のモニタ手段が、ホストシステム
等が発行したデバッグコマンドをプリミティブコマンド
に変換(分解)するための処理を行う。そして、第1の
モニタ手段は、この第2のモニタ手段からデータを受信
し、この受信データに基づいて決定されたプリミティブ
コマンドを実行するための処理を行う。本発明によれ
ば、第1のモニタ手段の処理を実行するためのモニタプ
ログラムに、各デバッグコマンドを実行するための複雑
なルーチンを持たせる必要がなくなる。したがって、モ
ニタプログラムの命令コードサイズを格段に小さくでき
るようになり、小さなハードウェア規模でオンチップデ
バッグ機能を実現できるようになる。
子(ピン)数を減らすことが可能となり、マイクロコン
ピュータの低コスト化を図れるようになる。
続されていない状態には強制ブレークの入力が行われる
端子をハイ又はローのいずれかである第一のレベルに保
持する手段を含み、前記中央処理ユニットは、リセット
時に前記強制ブレークの入力が行われる端子が前記第一
のレベルである場合にはユーザーモードで実行を開始
し、リセット時に前記強制ブレークの入力が行われる端
子が前記第一のレベルでない場合にはデバッグモードで
実行を開始することを特徴とする。
接続されていない場合にはプルアップ等によりハイ又は
ローのいずれかである示す第一のレベルに保持されてい
る。従って前記デバッグ用端子を接続することにより、
前記強制ブレークの入力が行われる端子が前記第一のレ
ベルとは逆のレベルになるよう構成すると、リセット時
に前記端子の状態でユーザーモードで開始すべきかデバ
ッグモードで開始すべきか判断可能となる。
る場合にはデバッグ中であるため、リセット時にはデバ
ッグモードで実行を開始することが好ましい。またデバ
ッグツールが接続されていない場合には、ユーザーが意
識しなくても、ユーザーモードで実行を開始することが
好ましい。
イであるかローであるかを検出するという簡単な構成
で、ユーザー側では意識することなくリセット時に適切
なモードで実行を開始することができる。
記載のマイクロコンピュータと、前記マイクロコンピュ
ータの処理対象となるデータの入力源と、前記マイクロ
コンピュータにより処理されたデータを出力するための
出力装置とを含むことを特徴とする。
プログラムなどのデバッグ作業の効率化を図れるように
なり、電子機器の開発期間の短縮化、低コスト化を図れ
るようになる。
むターゲットシステムのためのデバッグシステムであっ
て、ホストシステムが発行したデバッグコマンドを少な
くとも1つのプリミティブコマンドに変換するための処
理を行う第2のモニタ手段と、前記第2のモニタ手段と
の間でデータを送受信し、実行するプリミティブコマン
ドを前記第2のモニタ手段からの受信データに基づいて
決定し、決定したプリミティブコマンドを実行するため
の処理を行う第1のモニタ手段と、ユーザーモード及び
デバッグモードが切り替え可能に形成され、ユーザーモ
ードにおいて前記プリミティブコマンドの実行処理を行
う中央処理ユニットと、前記中央処理ユニットを含むチ
ップに設けられ、前記データを半2重の双方向通信を行
うための1本の通信ラインが接続されるデバッグ用端子
と、前記デバッグ用端子を介して強制ブレークの入力が
されると、前記中央処理ユニットをユーザーモードから
デバッグモードに切り替える切り替え手段とを含むこと
を特徴とする。
を実行するためのモニタプログラムの命令コードサイズ
を格段に小さくできる。これにより、ユーザが自由に使
用できるメモリ領域や端子数を増やすことが可能にな
る。また、ターゲットシステムを、実動作時の環境と同
一の環境でデバッグできるデバッグシステムを提供でき
るようになる。
ついて図面を用いて詳細に説明する。
て説明する。図2(A)(B)はいずれもユーザーモー
ド及びデバッグモードを有するマイクロコンピュータ1
0とデバッグツール14が接続されている様子を示した
図である。
処理ユニット)12とオンチップデバッグ部13、強制
ブレーク制御部15、クロック生成部17を含む。オン
チップデバッグ部13はデバッグモード時にデバッグツ
ール14とデバッグ情報の送受を行い、デバッグ用プロ
グラムを実行して種々のデバッグ処理を行う。
グ用端子としてSIOD16とBCLK18を含んでい
る。SIOD16はユーザーモード時には強制ブレーク
の入力信号を受け付け、デバッグモード時には調歩同期
式のSIOで外部のデバッグツール14とデバッグ情報
の送受信を行う。BCLK18はクロック生成部17に
より供給され、調歩同期式の同期クロックとして使用さ
れる。
受信はデバッグモード時のみに行われ、ユーザーモード
時にはこのデバッグ用端子は使用されない。一方強制ブ
レークの入力はユーザーモードからデバッグモードへ切
り替えるための入力であるためユーザーモード時のみ発
生する。
ーモード時に信号を受けた場合には強制ブレークの入力
があったものと判断し、CPU12をユーザーモードか
らデバッグモードに切り替える処理を行う(図2(A)
参照)。またデバッグモード時に信号を受けた場合には
デバッグ情報である判断し、当該デバッグ情報をオンチ
ップデバッグ部13に出力する(図2(B)参照)。
レークの入力は異なるモードでしか発生しないため、図
2(A)(B)に示すように同一の端子を共用してもそ
れぞれを判別可能で混同は生じない。
は、ユーザーモードでは図2(A)に示すように強制ブ
レークの入力信号を入力する端子として機能し、デバッ
グモードでは図2(B)に示すようにデバッグ情報の送
受信を行うための端子として機能するよう構成されてい
る。
端子数を節約し、ユーザーが使用可能な端子をより多く
確保することができる。
の状態の関係を表したタイミングチャート図である。
のSIODを示し、16はマイクロコンピュータ側の入
力状態のSIODを示している。デバッグツール側はユ
ーザーモード中はハイレベルの信号を出力しており、外
部からの強制ブレークの入力によりローパルスが出力さ
れる(222)。マイクロコンピュータ側ではこのロー
パルスを受けて、ユーザーモードからデバッグモードに
移行する(228)。そしてデバッグツール14側は、
一定期間ハイレベルの信号を出力(224)した後、調
歩同期式でデバッグ情報の通信を開始する。
特徴について説明するための図である。図4(A)に示
すように、マイクロコンピュータ10がデバッグツール
未接続時には、SIOD端子はプルアップのためハイレ
ベルになる。ところが図4(B)に示すようにデバッグ
ツール14を接続することにより、SIOD端子16を
任意のレベル(ハイレベル又はローレベル)にすること
ができる。
マイクロコンピュータ10に接続することにより、SI
OD端子16がローレベルになるようデバッグツール1
4からローレベルの信号を出力している。
とリセット時の開始モードを説明するための図である。
Tの立ち上がり(230)でSIODがハイレベルの場
合には、マイクロコンピュータはユーザーモードで実行
を開始する(232)。
Tの立ち上がり(234)でSIODがローレベルの場
合にはマイクロコンピュータはデバッグモードで実行を
開始する(236)。従って、マイクロコンピュータは
デバッグモードに移行し(238)、デバッグツール側
は、一定期間ハイレベルの信号を出力(240)した
後、調歩同期式でデバッグ情報の通信を開始する(24
2)。
Dがハイレベルであるかローレベルであるかを検出する
という簡単な構成で、ユーザー側では意識することなく
リセット時に適切なモードで実行を開始することができ
る。
明する。図2(A)(B)においてオンチップデバッグ
部14が以下に説明するミニモニタ部314に相当する
機能を有している場合に相当する。
クロコンピュータ10が、CPU(中央処理ユニット)
12及びミニモニタ部(第1のモニタ手段)314を含
む。また、マイクロコンピュータ10の外部にはメイン
モニタ部(第2のモニタ手段)316が設けられてい
る。ここでメインモニタ部316は、例えばホストシス
テムなどが発行したデバッグコマンドをプリミティブコ
マンドに変換(分解)するための処理を行う。また、ミ
ニモニタ部314は、メインモニタ部316との間でデ
ータを送受信する。そして、ミニモニタ部314は、実
行するプリミティブコマンドを、メインモニタ部316
からの受信データに基づいて決定し、プリミティブコマ
ンドを実行するための処理を行う。
の対象となるデバッグコマンドとしては、プログラムロ
ード、GO、ステップ実行、メモリライト、メモリリー
ド、内部レジスタライト、内部レジスタリード、ブレー
クポイント設定、ブレークポイント解除などのコマンド
を考えることができる。メインモニタ部316は、これ
らの多様で複雑なデバッグコマンドを、例えばGO、ラ
イト(デバッグモード時におけるメモリマップ上の所与
のアドレスへのライト)、リード(メモリマップ上の所
与のアドレスからのリード)などの、シンプルでプリミ
ティブなコマンドに変換する処理を行う。このようにす
ることで、ミニモニタ部314の処理を行うミニモニタ
プログラムの命令コードサイズを格段に小さくすること
ができる。これにより、マイクロコンピュータ10のオ
ンチップデバッグ機能を実現できるようになる。
ロード、GO、ステップ実行などのデバッグコマンドの
全ての処理ルーチンを有しているため、大きなメモリを
必要としマイクロコンピュータに内蔵することは事実上
困難であった。
4の処理を行うミニモニタプログラムは、GO、ライ
ト、リードなどのシンプルなプリミティブコマンドの処
理ルーチンのみを有し、命令コードサイズが非常に小さ
い(例えば256バイト)。したがって、ミニモニタプ
ログラムをマイクロコンピュータ10に内蔵することが
可能となり、オンチップデバッグ機能を実現できるよう
になる。また、ユーザが自由に使用できるメモリ領域が
減少してしまうのを最小限から0に抑えることも可能に
なる。
システムの詳細な構成例を示す。図7に示すように、マ
イクロコンピュータ20は、CPU22、BCU(バス
制御ユニット)26、内部メモリ(ミニモニタROM4
2及びミニモニタRAM44以外の内部ROM及び内部
RAM)28、クロック生成部30、ミニモニタ部40
(第1のモニタ手段)、トレース部50を含む。
理を行うものであり、内部レジスタ24を含む。内部レ
ジスタ24は、汎用レジスタであるR0〜R15や、特
殊レジスタであるSP(スタックポインタレジスタ)、
AHR(積和結果データの上位レジスタ)、ALR(積
和結果データの下位レジスタ)などを含む。なお、CP
U22は、ユーザーモードとデバッグモードを有してお
り、ライン51を介して強制ブレーク制御部49からの
強制ブレークの入力を受けるとユーザーモードからデバ
ッグモードに切り替わるように構成されている。
例えば、CPU22に接続されるハーバードアーキテク
チャのバス31や、内部メモリ28に接続されるバス3
2や、外部メモリ36に接続される外部バス33や、ミ
ニモニタ部40、トレース部50などに接続される内部
バス34の制御を行う。またクロック生成部30は、マ
イクロコンピュータ20内で使用される各種のクロック
を生成するものである。クロック生成部30はBCLK
を介して外部のデバッグツール60にもクロックを供給
している。
2、ミニモニタRAM44、制御レジスタ46、SIO
48、強制ブレーク制御部49を含む。
モニタプログラムが格納される。本実施形態では、この
ミニモニタプログラムは、GO、リード、ライトなどの
シンプルでプリミティブなコマンドの処理のみを行うよ
うになっている。このため、ミニモニタROM42のメ
モリ容量を例えば256バイト程度に抑えることがで
き、オンチップデバッグ機能を持たせながらマイクロコ
ンピュータ20を小規模化できるようになる。
ドへの移行時に(ユーザプログラムのブレーク発生時
に)、CPU22の内部レジスタ24の内容が退避され
る。これにより、デバッグモードの終了後にユーザプロ
グラムの実行を適正に再スタートできるようになる。ま
た内部レジスタの内容のリード等を、ミニモニタプログ
ラムが持つプリミティブなリードコマンド等で実現でき
るようになる。
を制御するためのレジスタであり、ステップ実行イネー
ブルビット、ブレークイネーブルビット、ブレークアド
レスビット、トレースイネーブルビットなどを有する。
ミニモニタプログラムにより動作するCPU22が制御
レジスタ46の各ビットにデータをライトしたり、各ビ
ットのデータをリードすることで、各種のデバッグ処理
が実現される。
の外部に設けられたデバッグツール60との間で送受信
するデバッグ用のデータの制御を行うものである。
60との間は、SIOD(データ送受信ライン)で接続
されており、強制ブレークの入力及びデバッグ情報が送
受信される。
を介してユーザーモード時に信号を受けた場合には強制
ブレークの入力があったものと判断し、ライン51を介
してCPU12をユーザーモードからデバッグモードに
切り替えるための信号を送る処理を行う。また、デバッ
グモード時に信号を受けた場合にはデバッグ情報である
と判断し、当該デバッグ情報をSIO48に出力する処
理を行う。
機能を実現するためのものである。トレース部50とデ
バッグツール60との間は、CPU22の命令実行のス
テートを表す3ビットのDST[2:0]と、分岐先の
PC(プログラムカウンタ)値を表すDPCOという4
本のラインで接続されている。
を含み、パーソナルコンピュータ等により実現されるホ
ストシステム66に接続される。ホストシステム66
が、ユーザの操作により、プログラムロード、ステップ
実行などのデバッグコマンドを発行すると、メインモニ
タ部62が、このデバッグコマンドをプリミティブコマ
ンドに変換(分解)するための処理を行う。そして、メ
インモニタ部62が、プリミティブコマンドの実行を指
示するデータをミニモニタ部40に送信すると、ミニモ
ニタ部40が、指示されたプリミティブコマンドを実行
するための処理を行うことになる。
の例を示す。図8のD1、D2、D3に示すように、デ
バッグモード時には、図7の制御レジスタ46、ミニモ
ニタRAM44、ミニモニタROM42のアドレスも、
メモリマップ上に割り付けられる。
グコマンドをプリミティブコマンドへ変換する処理につ
いて模式的に示す。
・・・、SUB・・・、AND・・・、OR・・・、XOR・・・、L
D.W・・・)という12バイトのプログラムを8001
0h番地にロードするというデバッグコマンドが発行さ
れたとする。この場合、このプログラムロードコマンド
は、ライト(80010h、ADD・・・、SUB)、ラ
イト(80014h、AND・・・、OR・・・)、ライト
(80018h、XOR・・・、LD.W・・・)という3つ
のプリミティブなライトコマンドに変換される。即ち、
ミニモニタプログラムが、この3つのプリミティブなラ
イトコマンドを実行することで、プログラムロードコマ
ンドが実現されるようになる。
コマンドというデバッグコマンドが発行されたとする。
すると、このステップ実行コマンドは、図7の制御レジ
スタ46のステップ実行イネーブルビットへのライトコ
マンド(図8のD1のアドレスへのライトコマンド)と
GOコマンドに変換される。即ち、ミニモニタプログラ
ムが、このプリミティブなライトコマンドとGOコマン
ドを実行することで、ステップ実行コマンドが実現され
るようになる。
リードコマンドというデバッグコマンドが発行されたと
する。すると、この内部レジスタリードコマンドは、メ
モリマップ上のミニモニタRAM(内部レジスタの内容
の退避先)からのリードコマンド(図8のD2のアドレ
スからのリードコマンド)に変換される。即ち、ミニモ
ニタプログラムが、このプリミティブなリードコマンド
を実行することで、内部レジスタリードコマンドが実現
されるようになる。内部レジスタライトコマンド、メモ
リリードコマンド、メモリライトコマンドも同様にして
実現される。
ント設定コマンドというデバッグコマンドが発行された
とする。すると、このブレークポイント設定コマンド
は、制御レジスタ46のブレークイネーブルビット及び
ブレークアドレスビットへのライトコマンドに変換され
る。即ち、ミニモニタプログラムが、このプリミティブ
なライトコマンドを実行することで、ブレークポイント
設定コマンドが実現されるようになる。
デバッグコマンドが、プリミティブでシンプルなリー
ド、ライト、GOコマンドに変換される。そして、ミニ
モニタプログラムは、このプリミティブなリード、ライ
ト、GOコマンドを実行するだけでよいため、ミニモニ
タプログラムの命令コードサイズは非常に小さくなる。
この結果、ミニモニタROM42のメモリ容量も小さく
でき、小さなハードウェア規模でオンチップデバッグ機
能を実現できるようになる。
受信バッファ70、シフトレジスタ76、送受信切替部
78、クロック制御部80及び制御レジスタ84を含
む。
タ、受信データを一時的に蓄えるためのものであり、送
信バッファ72、受信バッファ74を有する。シフトレ
ジスタ76は、送信バッファ72からの送信データをパ
ラレルデータからシリアルデータに変換し送受信切替部
78に出力する機能を有する。また送受信切替部78か
らの受信データをシリアルデータからパラレルデータに
変換し受信バッファ74に出力する機能も有する。送受
信切替部78は、データの送信と受信とを切り替えるた
めのものである。これにより、SIODを使用した半2
重のデータ送受信が可能になる。
82によりBCLKを分周し、この分周により得られた
サンプリングクロックSMC1をシフトレジスタ76に
出力する。シフトレジスタ76は、このSMC1に基づ
き動作する。またこのBCLKはデバッグツール60に
供給されるため、マイクロコンピュータ20とデバッグ
ツール60により、BCLKが共有されるようになる。
4により設定される。即ちCPU22により実行される
ミニモニタプログラムが、所望の分周比を制御レジスタ
84に書き込むことで、分周回路82での分周比が設定
されることになる。
プログラムを実行したり、デバッグツール60の全体の
制御を行うものである。送受信切替部92は、データの
送信と受信とを切り替えるためのものである。クロック
制御部94は、CPU90のSCLK端子、アドレスア
ップカウンタ100、トレースメモリ104に供給する
クロックを制御するものである。このクロック制御部9
4には、マイクロコンピュータ20(SIO48)から
のBCLKが入力される。クロック制御部94は周波数
検出回路95、分周回路96を含む。周波数検出回路9
5は、BCLKが属する周波数範囲を検出して、その結
果を制御レジスタ98に出力する。また分周回路96で
の分周比は制御レジスタ98により制御される。即ちC
PU90により実行されるメインモニタプログラム(メ
インモニタROM110に格納)が、制御レジスタ98
からBCLKの周波数範囲を読み出す。そして、メイン
モニタプログラムは、この周波数範囲に応じた最適な分
周比を決定し、この分周比を制御レジスタ98に書き込
む。そして、分周回路96は、この分周比でBCLKを
分周してSMC2を生成し、CPU90のSCLK端子
に出力する。
スメモリのアドレスをカウントアップするためのもので
ある。セレクタ102は、ライン122(アドレスアッ
プカウンタ100が出力するアドレス)とライン124
(アドレスバス120からのアドレス)のいずれかを選
択し、トレースメモリ104のアドレス端子にデータを
出力する。またセレクタ106は、ライン126(図3
のトレース部50の出力であるDST[2:0]、DP
CO)とライン128(データバス118)のいずれか
を選択し、トレースメモリ104のデータ端子にデータ
を出力したり、データ端子からデータを取り出す。
(図3のメインモニタ部62に相当)を含み、メインモ
ニタROM110には、メインモニタプログラムが格納
される。このメインモニタプログラムは、図5(A)〜
図5(D)で説明したように、デバッグコマンドをプリ
ミティブコマンドに変換するための処理を行う。RAM
112は、CPU90のワーク領域となるものである。
ラレルインターフェース116は、図3のホストシステ
ム66とのインターフェースとなるものであり、ホスト
システム66からのデバッグコマンドはこれらのインタ
ーフェースを介してCPU90に入力されることにな
る。クロック生成部118は、CPU90を動作させる
クロックなどを生成するものである。
メインモニタ部62の間でのデバッグデータの通信の手
法としては、TXD(送信)とRXD(受信)のライン
を別々に設け、全2重で通信する手法が考えられる。
の通信のために2本のライン(端子)を使用してしまう
と、その分だけマイクロコンピュータの端子数(ピン
数)が増えてしまい、これはマイクロコンピュータの高
コスト化を招く。
すように、ミニモニタ部40とメインモニタ部62との
間に1本のTXD/RXDライン(双方向通信ライン)
を設け、半2重の双方向通信を行う。なお本実施の形態
では、このラインを強制ブレークを入力するためのSI
ODと共用している。このため、マイクロコンピュータ
の端子数の増加を最小限に抑えることができ、マイクロ
コンピュータの低コスト化を図れる。
に示すように、スレーブとなるミニモニタ部40が、マ
スタとなるメインモニタ部62からデータを受信したこ
とを条件に、その受信データに対応する処理を行い、そ
の受信データに対応する応答データをメインモニタ部6
2に送信する。即ち、メインモニタ部62がデータ(コ
マンド)をミニモニタ部40に送信すると、ウェイト状
態となっていたミニモニタ部40がこれを受信し、その
受信データに対応する処理を行う。そして、その受信デ
ータに対応するデータ(リプライ)をメインモニタ部6
2に送信する。その後、ミニモニタ部40は、メインモ
ニタ部62からデータを受信するまでウェイト状態にな
る。即ちミニモニタ部40は、メインモニタ部62から
データを受信するまで動作を停止し、データを受信した
ことを条件に動作を開始する。このようにすることで、
ミニモニタ部40とメインモニタ部62との間の通信ラ
インを1本にしながら、データを適正に送受信できるよ
うになる。
実行中にブレークが発生すると、ミニモニタプログラム
の処理がスタートし、ユーザプログラム実行モードから
デバッグモードに移行する。そして、ミニモニタプログ
ラムが所与のコマンド処理を行いリターン命令を実行す
ると、デバッグモードからユーザプログラム実行モード
に戻る。
ニモニタプログラムの処理を表すフローチャートを示
す。
プログラムは、まず、図7のCPU22の内部レジスタ
24の内容をモニタRAM44に退避する(ステップS
1)。そして、ミニモニタプログラムが使用する制御レ
ジスタ46の設定処理を行う(ステップS2)。
4バイトのデータを、受信バッファ74(図10参照)
にライトする(ステップS3)。そして、受信バッファ
74のデータの先頭の1バイト(コマンド識別データI
D)をチェックする(ステップS4)。
コマンドを示すものであった場合には、受信バッファ7
4からリードアドレスを取得する(ステップS5、S
6)。そして、取得したリードアドレスからデータをリ
ードし、送信バッファ72にライトする(ステップS
7)。次に、送信バッファ72のデータをデバッグツー
ル60に送信する(ステップS8)。そして、図23の
ステップS3に戻り、次の受信データを受信バッファ7
4にライトする。
場合には、受信バッファ74からライトアドレスを取得
する(ステップS9、S10)。そして、受信バッファ
74からライトデータを取得し、ステップS10で取得
したライトアドレスにライトする(ステップS11)。
すものであった場合には、受信バッファ74からルーチ
ンアドレスを取得する(ステップS12、S13)。そ
して、外部ルーチンにジャンプ後、ミニモニタプログラ
ムにリターンする(ステップS14)。
合には、モニタRAM44に退避したデータを内部レジ
スタ24にリストアする(ステップS15、S16)。
そして、図13に示すようにユーザプログラムにリター
ンし、デバッグモードから抜ける(ステップS17)。
ンジャンプ、GOコマンドのいずれでもなかった場合に
は、処理が必要ないと判断する(ステップS15、S1
8)。そして送信バッファ72にダミーのデータをライ
トする(ステップS19)。なお、図15では、データ
フィルコマンドの処理については省略している。
換することで得られたプリミティブコマンドが、ミニモ
ニタプログラムにより実行されることになる。
電子機器に関して説明する。
るカーナビゲーションシステムの内部ブロック図を示
し、図17(A)にその外観図を示す。カーナビゲーシ
ョンシステムの操作はリモコン510を用いて行われ、
GPSやジャイロからの情報に基づいて位置検出部52
0が車の位置を検出する。地図などの情報はCDROM
530(情報記憶媒体)に格納されている。画像メモリ
540は画像処理の際の作業領域になるメモリであり、
生成された画像は画像出力部550を用いて運転者に表
示される。マイクロコンピュータ500は、リモコン5
10、位置検出部520、CDROM530などのデー
タ入力源からデータを入力し、種々の処理を行い、処理
後のデータを画像出力部550などの出力装置を用いて
出力する。
ム装置の内部ブロック図を示し、図17(B)にその外
観図を示す。このゲーム装置では、ゲームコントローラ
560からのプレーヤの操作情報、CDROM570か
らのゲームプログラム、ICカード580からのプレー
ヤ情報等に基づいて、画像メモリ590を作業領域とし
てゲーム画像やゲーム音を生成し、画像出力部610、
音出力部600を用いて出力する。
ンタの内部ブロック図を示し、図17(C)にその外観
図を示す。このプリンタでは、操作パネル620からの
操作情報、コードメモリ630及びフォントメモリ64
0から文字情報に基づいて、ビットマップメモリ650
を作業領域として、印刷画像を生成し、プリント出力部
660を用いて出力する。またプリンタの状態やモード
を表示パネル670を用いてユーザに伝える。
バッグシステムによれば、図16(A)〜図17(C)
の電子機器を動作させるユーザプログラムの開発の容易
化、開発期間の短縮化を図れるようになる。またマイク
ロコンピュータが実動作する環境と同じ環境で、ユーザ
プログラムのデバッグ作業を行うことができるため、電
子機器の信頼性を高めることができる。また電子機器に
組み込まれるマイクロコンピュータのハードウェアを小
規模化、低コスト化できるため、電子機器の低コスト化
も図れるようになる。更にミニモニタプログラムの命令
コードサイズは小さいため、ユーザがプログラムや各種
データの格納に使用するメモリ領域を全く使用しないこ
とが可能になる。
適用できる電子機器としては、上記以外にも例えば、携
帯電話(セルラーフォン)、PHS、ページャ、オーデ
ィオ機器、電子手帳、電子卓上計算機、POS端末、タ
ッチパネルを備えた装置、プロジェクタ、ワードプロセ
ッサ、パーソナルコンピュータ、テレビ、ビューファイ
ンダ型又はモニタ直視型のビデオテープレコーダなど種
々のものを考えることができる。
本発明の要旨の範囲内で種々の変形実施が可能である。
る。
て説明するための図である。
係を表したタイミングチャート図である。
について説明するための図である。
セット時の開始モードを説明するための図である。
めの図である。
システムの構成例を示す機能ブロック図である。
る。
ッグコマンドをプリミティブコマンドへ変換(分解)す
る処理について説明するための図である。
る。
図である。
タ部とメインモニタ部との間の通信手法について説明す
るための図である。
ードへの移行について説明するための図である。
フローチャートである。
フローチャートである。
子機器の内部ブロック図の例である。
子機器の外観図の例である。
Claims (6)
- 【請求項1】 ユーザーモード及びデバッグモードを有
するマイクロコンピュータであって、 ユーザーモード及びデバッグモードが切り替え可能に形
成され、それぞれのモードにおいて命令の実行処理を行
う中央処理ユニットと、 ユーサーモードでは使用されない端子を介して強制ブレ
ークの入力がされると、前記中央処理ユニットをユーザ
ーモードからデバッグモードに切り替える切り替え手段
とを含むことを特徴とするマイクロコンピュータ。 - 【請求項2】 請求項1において、 前記マイクロコンピュータが、 オンチップデバッグ機能を有し、オンチップデバッグを
行うためのデバッグ情報を外部のデバッグツールと送受
信するための通信ラインが接続されるデバッグ用通信端
子を含み、 前記デバッグ用端子を介して強制ブレークの入力がされ
ることを特徴とするマイクロコンピュータ。 - 【請求項3】 請求項2において、 前記マイクロコンピュータは、 マイクロコンピュータの外部に設けられデバッグコマン
ドを少なくとも1つのプリミティブコマンドに変換する
ための処理を行う第2のモニタ手段との間でデータを送
受信し、実行するプリミティブコマンドを前記第2のモ
ニタ手段からの受信データに基づいて決定し、決定した
プリミティブコマンドを実行するための処理を行う第1
のモニタ手段とを含み、 前記データを半2重の双方向通信で送受信を行うための
1本の通信ラインが接続されるデバッグ用端子を含み、 前記中央処理ユニットは、 ユーザーモードにおいてはユーザープログラムの実行処
理を行い、 デバッグモードにおいて前記プリミティブコマンドの実
行処理を行い、 前記切り替え手段は、 前記デバッグ用端子を介して強制ブレークの入力がされ
ると、前記中央処理ユニットをユーザーモードからデバ
ッグモードに切り替えることを特徴とするマイクロコン
ピュータ。 - 【請求項4】 請求項1乃至3のいずれかにおいて、 外部のデバッグツールが接続されていない状態には強制
ブレークの入力が行われる端子をハイ又はローのいずれ
かである第一のレベルに保持する手段を含み、前記中央
処理ユニットは、 リセット時に前記強制ブレークの入力が行われる端子が
前記第一のレベルである場合にはユーザーモードで実行
を開始し、リセット時に前記強制ブレークの入力が行わ
れる端子が前記第一のレベルでない場合にはデバッグモ
ードで実行を開始することを特徴とするマイクロコンピ
ュータ。 - 【請求項5】 請求項1乃至4のいずれかのマイクロコ
ンピュータと、 前記マイクロコンピュータの処理対象となるデータの入
力源と、 前記マイクロコンピュータにより処理されたデータを出
力するための出力装置とを含むことを特徴とする電子機
器。 - 【請求項6】 マイクロコンピュータを含むターゲット
システムのためのデバッグシステムであって、 ホストシステムが発行したデバッグコマンドを少なくと
も1つのプリミティブコマンドに変換するための処理を
行う第2のモニタ手段と、 前記第2のモニタ手段との間でデータを送受信し、実行
するプリミティブコマンドを前記第2のモニタ手段から
の受信データに基づいて決定し、決定したプリミティブ
コマンドを実行するための処理を行う第1のモニタ手段
と、 ユーザーモード及びデバッグモードが切り替え可能に形
成され、ユーザーモードにおいて前記プリミティブコマ
ンドの実行処理を行う中央処理ユニットと、 前記中央処理ユニットを含むチップに設けられ、前記デ
ータを半2重の双方向通信を行うための1本の通信ライ
ンが接続されるデバッグ用端子と、 前記デバッグ用端子を介して強制ブレークの入力がされ
ると、前記中央処理ユニットをユーザーモードからデバ
ッグモードに切り替える切り替え手段とを含むことを特
徴とするデバッグシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10372098A JP3741182B2 (ja) | 1998-03-31 | 1998-03-31 | マイクロコンピュータ、電子機器及びデバッグシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10372098A JP3741182B2 (ja) | 1998-03-31 | 1998-03-31 | マイクロコンピュータ、電子機器及びデバッグシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11282719A true JPH11282719A (ja) | 1999-10-15 |
JP3741182B2 JP3741182B2 (ja) | 2006-02-01 |
Family
ID=14361532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10372098A Expired - Fee Related JP3741182B2 (ja) | 1998-03-31 | 1998-03-31 | マイクロコンピュータ、電子機器及びデバッグシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3741182B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002304310A (ja) * | 2001-04-06 | 2002-10-18 | Fujitsu Ltd | 半導体集積回路 |
US7584381B2 (en) | 2005-03-25 | 2009-09-01 | Seiko Epson Corporation | Semiconductor integrated circuit device, debug system, microcomputer, and electronic apparatus |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101992234B1 (ko) | 2012-05-22 | 2019-06-24 | 삼성전자주식회사 | 디버깅 회로를 위한 클럭 제어 회로를 구비하는 집적 회로 및 이를 포함하는 시스템-온-칩 |
-
1998
- 1998-03-31 JP JP10372098A patent/JP3741182B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002304310A (ja) * | 2001-04-06 | 2002-10-18 | Fujitsu Ltd | 半導体集積回路 |
US7584381B2 (en) | 2005-03-25 | 2009-09-01 | Seiko Epson Corporation | Semiconductor integrated circuit device, debug system, microcomputer, and electronic apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP3741182B2 (ja) | 2006-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7100086B1 (en) | Microcomputer, electronic equipment and debugging system | |
US6922795B2 (en) | Microcomputer, electronic equipment, and debugging system | |
US6668339B1 (en) | Microprocessor having a debug interruption function | |
US6708289B1 (en) | Microcomputer, electronic equipment and debugging system | |
CN113849433B (zh) | 一种总线控制器的执行方法、装置、总线控制器、计算机设备和存储介质 | |
US5870541A (en) | Computer system capable of outputting status data without interrupting execution of program | |
US7584381B2 (en) | Semiconductor integrated circuit device, debug system, microcomputer, and electronic apparatus | |
US20080010541A1 (en) | Integrated circuit device, debugging tool, debugging system, microcomputer, and electronic instrument | |
US6553506B1 (en) | Information processing device and electronic equipment | |
JP2006252006A (ja) | デバッグシステム、半導体集積回路装置、マイクロコンピュータ及び電子機器 | |
US20030191624A1 (en) | Debug function built-in type microcomputer | |
JP3741182B2 (ja) | マイクロコンピュータ、電子機器及びデバッグシステム | |
JP3380827B2 (ja) | エミュレータ装置 | |
US20060190787A1 (en) | Target system, debugging system, integrated circuit device, microcomputer and electronic apparatus | |
JP2005251217A (ja) | マイクロコンピュータ、電子機器及びデバッグシステム | |
JP2003263339A (ja) | デバック機能内蔵型マイクロコンピュータ | |
WO2006070939A1 (en) | Program executed under control of operating system providing kernel mode and user mode | |
JPH1083318A (ja) | 電子回路解析装置 | |
JP2000284985A (ja) | デバッグシステム及び情報記憶媒体 | |
US5680646A (en) | Input/output control system | |
KR100531729B1 (ko) | 피씨 병렬포트를 이용한 주변기기와의 인터페이스 장치 및그 방법 | |
JPH1021113A (ja) | デバッグシステムのデバッグ方法 | |
JP2007193570A (ja) | マイクロコンピュータ及び電子機器 | |
JP2003263336A (ja) | デバック機能内蔵型マイクロコンピュータ | |
JP2000284984A (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: 20050322 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050510 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050711 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050803 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050922 |
|
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: 20051019 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051101 |
|
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: 20091118 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |