JP2001092686A - 半導体装置 - Google Patents

半導体装置

Info

Publication number
JP2001092686A
JP2001092686A JP26795199A JP26795199A JP2001092686A JP 2001092686 A JP2001092686 A JP 2001092686A JP 26795199 A JP26795199 A JP 26795199A JP 26795199 A JP26795199 A JP 26795199A JP 2001092686 A JP2001092686 A JP 2001092686A
Authority
JP
Japan
Prior art keywords
state
break
processing unit
central processing
circuit
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.)
Pending
Application number
JP26795199A
Other languages
English (en)
Inventor
Masanobu Kawamura
正信 川村
Tomoyoshi Ujii
呂圭 氏井
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.)
Hitachi Ltd
Renesas Semiconductor Package and Test Solutions Co Ltd
Original Assignee
Hitachi Hokkai Semiconductor Ltd
Hitachi Ltd
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 Hitachi Hokkai Semiconductor Ltd, Hitachi Ltd filed Critical Hitachi Hokkai Semiconductor Ltd
Priority to JP26795199A priority Critical patent/JP2001092686A/ja
Publication of JP2001092686A publication Critical patent/JP2001092686A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 オンチップエミュレータ機能を、物理的規模
の増大並びにコスト上昇を極力抑えて実現する。 【解決手段】 半導体装置(1)は、メモリ(3)の第
1領域から命令を読み込んで実行可能な第1状態と前記
メモリの第2領域から命令を読み込んで実行可能な第2
状態とを選択的に採り得るCPU(2)を有する。オン
チップエミュレータ機能実現のために、第1状態のCP
Uによる命令実行状態の評価を支援するデバッグ支援回
路(7,9)を設け、その制御状態が不所望に変化した
り、蓄積情報が破壊されないように、CPUによるデバ
ッグ支援回路の機能設定を第2状態に応答して許可する
フラグ(BRKM)を採用する。ホスト装置とのインタ
フェースには、デバッグ専用回路を採用せず、第1状態
においても外部とインタフェース可能なシリアルインタ
フェース回路(8)を第2状態で流用する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、中央処理装置(C
PU)を有するマイクロコンピュータ、マイクロプロセ
ッサ、若しくはデータプロセッサなどと称される半導体
装置におけるデバッグ支援技術に関し、例えば、簡易エ
ミュレータ機能をオンチップしたマイクロコンピュータ
に適用して有効な技術に関するものである。
【0002】
【従来の技術】マイクロコンピュータ等のデバッグ支援
機能として、ユーザブレークコントロール機能を搭載し
たマイクロコンピュータがある。これは、CPUが発生
するバスサイクルなどのブレーク条件を予め設定してか
らユーザプログラムを実行することにより、ブレーク条
件に一致する状態を検出してブレーク割込みを発生させ
ることができ、評価専用チップ及びインサーキットエミ
ュレータを使用しなくても、そのマイクロコンピュータ
単体で手軽にプログラムデバッグを可能にする。また、
少数の外部端子を用いて実チップとしてのマイクロコン
ピュータをエミュレータに接続して、デバッグを支援可
能にする為に、JTAG,IEEE1149.1,(I
EEE Standard Test Access
PortBoundary−Scan Archite
cture)に準拠したシリアル入出力インタフェース
を採用したマイクロコンピュータもある。前記ユーザブ
レークコントロール機能やJTAG準拠のシリアルイン
タフェース回路を有するマイクロコンピュータとして、
例えば、平成10年4月株式会社日立製作所発行の「S
H7750ハードウェアマニュアル」に記載のマイクロ
コンピュータがある。
【0003】
【発明が解決しようとする課題】本発明者は、マイクロ
コンピュータなどの半導体装置におけるオンチップエミ
ュレータ機能を更に充実させることについて検討した。
これによれば、物理的規模の増大若しくはコスト上昇を
極力抑えることが要求されるマイクロコンピュータにあ
っては、外部端子の増大は最小限に抑え、内蔵された汎
用回路をデバッグに流用可能にすることの重要性が本発
明者によって見出された。例えば、ホスト装置とのイン
タフェースにJTAG準拠のインタフェース仕様を採用
すると、これだけで、シリアルデータ入力端子、シリア
ルデータ出力端子、モード端子及びクロック入力端子を
追加しなければならず、しかも、TAP(Test A
ccess Port)コントローラのようなインタフ
ェースプロトコルを実現する専用ロジックを内蔵しなけ
ればならない。これにより、物理的な規模は大幅に増大
してまう。
【0004】また、プログラムの実行軌跡を辿ることが
できるようなトレース機能の搭載も必要であろう。ブレ
ークコントロール機能と共にトレース機能等もオンチッ
プしてマイクロコンピュータ上で簡易エミュレータ機能
を実現すると、当該オンチップエミュレータ機能はユー
ザプログラム等の不具合による暴走や誤動作によって影
響を受けやすくなる。このため、オンチップエミュレー
タ機能固有の制御情報やトレース情報がユーザプログラ
ムの不具合による暴走等によって不所望に破壊されたり
する事態を阻止できる事が望ましく、それは、オンチッ
プエミュレータの信頼性を向上させるために必要である
ことが本発明者によって見出された。
【0005】本発明の目的は、マイクロコンピュータ等
の半導体装置のためのオンチップエミュレータ機能を、
物理的規模の増大並びにコスト上昇を極力抑えて実現す
ることにある。詳しくは、外部端子の増大を最小限に抑
え、内蔵汎用回路をデバッグに流用可能に、オンチップ
エミュレータ機能を実現できる半導体装置を提供するこ
とにある。
【0006】本発明の別の目的は、オンチップエミュレ
ータ機能固有の制御情報やトレース情報等がユーザプロ
グラムの不具合による暴走等によって不所望に破壊され
たりする事態を阻止でき、オンチップエミュレータ機能
の信頼性を向上させる事が可能な半導体装置を提供する
ことにある。
【0007】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0008】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0009】〔1〕マイクロコンピュータ等の半導体装
置は、電気的に書き換え可能なフラッシュメモリ等のメ
モリと、前記メモリの第1領域から命令を読み込んで実
行可能な第1状態と前記メモリの第2領域から命令を読
み込んで実行可能な第2状態とを選択的に採り得る中央
処理装置とを有する。この半導体装置にオンチップエミ
ュレータ機能を実現するために、前記第1状態の中央処
理装置による命令実行状態の評価を支援する為のデバッ
グ支援回路を採用する。デバッグ支援回路の制御状態が
不所望に変化したり、デバッグ支援回路に蓄積したトレ
ース情報等が不所望に破壊されないように、前記中央処
理装置の第2状態に応答して前記中央処理装置による前
記デバッグ支援回路の機能設定を許可するブレークモー
ドフラグが備えられている。第1状態ではデバッグ支援
回路の対する機能設定は不可能にされている。デバッグ
用ホスト装置とのインタフェースには、JTAG準拠回
路などのデバッグ専用回路を採用せず、前記第1状態に
おいても外部とクロック同期でインタフェース可能なシ
リアルインタフェース回路を第2状態で流用する。
【0010】上記手段によれば、第1状態及び第2状態
のいずれにおいても外部とインタフェース動作可能なシ
リアルインタフェース回路を採用してデバッグ時のホス
トインタフェースを実現するから、外部端子の増大を最
小限に抑え、クロック同期シリアルインタフェース回路
のような汎用回路をデバッグに流用することが可能にな
り、オンチップエミュレータ機能を、物理的規模の増大
並びにコスト上昇を極力抑えて実現することができる。
【0011】また、デバッグ支援回路の機能設定は、中
央処理装置の制御状態が第2状態になり、これに応答し
てブレークモードフラグの状態が決ってから可能になる
から、オンチップエミュレータ機能固有の制御情報やト
レース情報がユーザプログラムの不具合による暴走等に
よって不所望に破壊されたりする事態を阻止でき、オン
チップエミュレータ機能の信頼性を向上させる事ができ
る。
【0012】〔2〕前記デバッグ支援回路として、前記
中央処理装置の第2状態において前記シリアルインタフ
ェース回路を介して所要のブレーク条件が設定可能にさ
れ、前記第1状態において前記中央処理装置による命令
実行状態が前記ブレーク条件に一致したとき中央処理装
置を第1状態から第2状態へ遷移させる内部割込み指示
を形成するブレーク回路を採用可能である。また、前記
デバッグ支援回路として、前記第1状態において前記中
央処理装置による命令実行軌跡を辿るためのトレース情
報を蓄え、蓄えられたトレース情報を前記第2状態の中
央処理装置の制御を介して前記シリアルインタフェース
回路から外部に出力可能にされるトレース回路を採用し
てもよい。
【0013】双方を採用することにより、デバッグ対象
プログラムの実行状態を後から追跡する事ができ、ま
た、着目したい地点でデバッグ対象プログラムの実行を
停止させることができる。
【0014】〔3〕オンチップエミュレータ機能を有す
る前記半導体装置の状態は、半導体装置がユーザモード
であるかエミュレーションモードであるかを示すエミュ
レーションモードフラグによって識別可能にする。
【0015】前記エミュレーションモードは、前記中央
処理装置が第1状態と第2状態との間を遷移可能な半導
体装置の状態であり、ユーザモードは前記中央処理装置
が第1状態と第2状態との間を遷移不可能であって第1
状態だけを採り得る半導体装置の状態である。
【0016】前記エミュレーションモードフラグがエミ
ュレーションモードを示しているとき、前記ブレークモ
ードフラグは、前記中央処理装置が第1状態から第2状
態へ遷移するのに応答して、前記デバッグ支援回路の機
能設定を許可する。
【0017】〔4〕エミュレーションモードにおいて、
前記中央処理装置の第1状態から第2状態への遷移は、
外部端子に入力されるホスト装置等からのブレーク割込
みの指示、ブレーク条件の一致によってブレーク回路か
ら出力される内部割込みとしてのブレーク割込みの指
示、ブレーク命令の実行、等に起因して行われる。前記
中央処理装置は、例えば第2状態で第2領域のリターン
命令を実行することによって、第2状態から第1状態へ
復帰することができる。
【0018】前記外部端子はホスト装置等からのブレー
ク割込み指示の入力に専用化する必要はない。内部割込
みとしてのブレーク割込みの指示、ブレーク命令の実行
など、半導体装置の内部状態に起因して、第1状態から
第2状態に遷移した状態をホスト装置に通知可能にする
ために、前記エミュレーションモードフラグがエミュレ
ーションモードを示しているとき、セット状態にされる
ことによって前記外部端子からブレーク信号を出力させ
るブレークアクノリッジフラグを採用してよい。
【0019】前記外部端子をエミュレーションモードで
の使用に専用化する必然性はなく、前記エミュレーショ
ンモードフラグがユーザモードを示しているときは、前
記外部端子を、マスク不可能な外部割込み信号等の入力
端子として利用すればよい。
【0020】〔5〕トレース回路の蓄積情報が不所望に
クリアされ難くするには、前記トレース回路は、前記エ
ミュレーションモードフラグがエミュレーションモード
を示し、前記ブレークモードフラグが前記デバッグ支援
回路の機能設定を許可しているとき、トレース情報をク
リア可能にすればよい。
【0021】〔6〕前記エミュレーションモードフラグ
は、初期状態においてユーザモードを示し、特定の動作
モードが指示されたとき又は前記第2状態において書き
換え可能にされる。前記特定動作モードは、前記外部端
子に入力されるブレーク割込み指示に応答する処理に中
央処理装置の命令実行処理を移行させるためのベクタの
保有アドレスをベクタテーブル上で前記第2領域の所定
アドレスに書き換える処理を含む動作である。したがっ
て、この後、外部端子にブレーク割込み指示が入力され
ると、中央処理装置は第1状態から第2状態に遷移する
ことができる。前記特定動作モードは、前記メモリの少
なくとも第1及び第2領域に対するプログラム書込み処
理を更に含めてもよい。
【0022】〔7〕前記シリアルインタフェース回路
は、シリアルデータ入力端子と、シリアルデータ出力端
子と、クロック入力端子と、前記シリアルデータ入力端
子からデータをシリアル入力し前記シリアルデータ出力
端子にデータをシリアル出力するシフトレジスタと、前
記シフトレジスタとパラレルにデータの入出力を行ない
前記中央処理装置によってアクセス可能なデータバッフ
ァと、送受信制御回路とを有する。前記送受信制御回路
は、前記クロック信号に同期した前記シリアルデータ入
力端子からのシリアル入力動作、前記クロック信号に同
期した前記シリアルデータ出力端子からのシリアル出力
動作、前記データバッファからの送信データ読み出し動
作、及び前記データバッファへの受信データの格納動作
を制御するものである。したがって、中央処理装置は、
その動作プログラムに従って、データバッファに受信し
た情報を参照し、演算し、データバッファに送信すべき
データをロードすることにより、当該動作プログラムに
従ったプロトコルで、シリアル通信を行なうことができ
る。換言すれば、汎用的に用いることができるシリアル
インタフェース回路をデバッグ用ホスト装置とのインタ
フェースに流用すれば、ホスト装置とのインタフェース
仕様若しくは通信プロトコルに対しても高い汎用性を確
保することができ、オンチップエミュレータ機能の使い
勝手が良くなる。
【0023】前記シリアルインタフェースにおいて、デ
ータ受信動作ではシリアルデータ出力端子からデータ受
信動作のレディー/ビジー信号を出力し、データ送信動
作ではシリアルデータ入力端子からデータ送信動作に対
する受け側からのレディー/ビジー信号を入力する、と
いう通信プロトコルを採用してもよい。
【0024】
【発明の実施の形態】《マイクロコンピュータ》図1に
は本発明に係る半導体装置の一例であるマイクロコンピ
ュータ1が示される。同図に示されるマイクロコンピュ
ータ1は、特に制限されないが、中央処理装置(CP
U)2、電気的に書き換え可能なフラッシュメモリなど
によって構成されたROM3、ダイナミックRAM(ラ
ンダム・アクセス・メモリ)又はスタティックRAM等
によって構成されたRAM4、タイマ等の周辺回路5、
割込みコントローラ(INTC)6、ブレーク回路7、
クロック同期型のシリアルインタフェース回路8、トレ
ース回路9、デバッグコントロールレジスタ10、及び
入出力ポート11,12等が、内部バス13に共通接続
されて、単結晶シリコン等の1個の半導体基板(チッ
プ)に形成されて成る。内部バス13は、アドレスバ
ス、データバス及び各種制御線を含んでいる。
【0025】詳細は後述するが、マイクロコンピュータ
1はオンチップデバッグ機能をサポートし、そのための
ブレークコントロール制御の為に前記ブレーク回路7、
トレース動作の為に前記トレース回路9、デバッグ制御
情報が設定可能にされるデバッグコントロールレジスタ
10が設けられ、また、ホスト装置とのインタフェース
には、汎用のシリアルインタフェース回路8を流用可能
にされている。
【0026】前記CPU1は、特に図示はしないが、プ
ログラムカウンタの値にしたがって命令を読み込み、読
み込んだ命令を命令デコーダで解読し、解読結果に基づ
いて生成される制御信号によって演算器等を動作させ
て、命令を実行する。CPU2が実行する命令は、初期
的にROM3が保有する。RAM4は、CPU2のワー
ク領域又はデータ若しくは命令の一時記憶領域などに利
用される。
【0027】前記CPU2のアドレス空間は、図2のア
ドレスマップに例示されるように、ROM3に割当てら
れるROM領域20、リザーブ領域21、RAM4に割
り当てられるRAM領域22、及びI/Oレジスタ領域
23に大別される。前記I/Oレジスタ領域23は、前
記周辺回路5、INTC6、ブレーク回路7、シリアル
インタフェース回路8、トレース回路9、デバッグコン
トロールレジスタ10、入出力ポート11,12の内部
レジスタを総称するI/Oレジスタに割当てられる領域
である。
【0028】図2において20D,22D,23Dで示
される領域は、オンチップデバッグのために専用化され
たファームウェア領域,デバッグ用RAM領域,デバッ
グ用I/Oレジスタ領域である。20U,22U,23
Uで示される領域はマイクロコンピュータ1のユーザに
解放されるユーザ領域である。前記デバッグ用コントロ
ールレジスタ10はデバッグ用I/Oレジスタ領域23
Dに配置されている。
【0029】CPU2がオンチップデバッグ専用領域2
0D,22D,23Dを利用し得るか否かはマイクロコ
ンピュータ1の動作モードによって決定される。即ち、
マイクロコンピュータ1は、ユーザモードとエミュレー
ションモードを有し、それは、デバッグ用コントロール
レジスタ10のエミュレーションモードフラグEMLに
よって識別可能にされる。前記エミュレーションモード
は、前記CPU2がユーザROM領域(第1領域)20
Uの命令を実行する第1状態と前記ファームウェア領域
(第2領域)20Dの命令を実行する第2状態との間を
遷移可能なマイクロコンピュータ1の状態である。ユー
ザモードは前記CPU2が第1状態と第2状態との間を
遷移不可能であって第1状態だけを採り得るマイクロコ
ンピュータ1の状態である。
【0030】マイクロコンピュータ1のユーザプログラ
ム等に対するデバッグを完了してその応用システムが完
成した後、マイクロコンピュータ1は前記ユーザモード
で動作すれば良い。デバッグ時は、マイクロコンピュー
タはエミュレーションモードとされ、CPU2がファー
ムウェア領域20Dのプログラム(デバッグ制御プログ
ラム)を実行することによって前記ブレーク回路7にブ
レーク条件が設定され、ブレーク回路7は、CPU2が
ユーザROM領域20Uのプログラムを実行していると
き、ブレーク条件の一致を判定する。また、CPU2が
ユーザROM領域20Uのプログラムを実行していると
き、前記トレース回路9はCPU2による命令実行軌跡
を後から辿る事ができるように所要の命令アドレスを蓄
積する。
【0031】前記エミュレーションモードにおいて、ユ
ーザプログラムのバグなどによってCPU2が暴走した
り誤動作してトレース回路9やブレーク回路7の制御状
態が不所望に変化したり、トレース回路9に蓄積したト
レース情報等が不所望に破壊されないように、前記CP
U2による前記デバッグ支援回路(ブレーク回路7、ト
レース回路9、デバッグ用コントロールレジスタ10)
の機能設定を前記CPU2の第2状態に応答して許可す
るブレークモードフラグBRKMがデバッグ用コントロ
ールレジスタ10備えられている。前記エミュレーショ
ンモードフラグEMLがエミュレーションモードを示し
ているとき、前記ブレークモードフラグBRKMは、前
記CPU2が第1状態から第2状態へ遷移するのに応答
して、セット状態にされ、前記デバッグ支援回路の機能
設定を許可する。この制御は、特に制限されないが、C
PU2の命令解読によるメモリアクセスやレジスタ選択
の制御ロジックに対して作用する。即ち、エミュレーシ
ョンモードにおいてブレークモードフラグBRKMがリ
セット状態(ディスエーブル指示状態)にされている
と、CPU2の命令デコーダはデバッグ用領域20D,
22D,23Dに対するメモリアクセス及びレジスタア
クセスの為の制御信号を全て非活性(ディスエーブル)
状態に固定する。デバッグ用領域20D,22D,23
Dに対するメモリアクセス及びレジスタアクセスの為に
命令デコーダが出力する制御信号は前記ブレークモード
フラグBRKMがセット状態にされて初めて有効にな
る。
【0032】図1のマイクロコンピュータ1において前
記シリアルインタフェース回路8は、CPU2の前記第
1状態及び第2状態の何れにおいても外部とクロック同
期でインタフェース可能にされる。即ち、エミュレーシ
ョンモードにおいて、図示を省略するデバッグ用ホスト
装置とのインタフェースには、JTAG準拠回路などの
デバッグ専用回路を採用せず、前記第1状態においても
外部とクロック同期でインタフェース可能なシリアルイ
ンタフェース回路8を第2状態で流用する。図1の例で
は、シリアルインタフェース回路8は、シリアルクロッ
ク端子SCK、シリアルデータ入力端子SI、シリアル
データ出力端子SOを有する。
【0033】例えば、図3の(A)、(B)に例示され
るように、プリントサーキットボードにマイクロコンピ
ュータ1等が実装されてユーザシステム30が構成され
ているとき、ユーザシステム30には、前記シリアルイ
ンタフェース回路8の前記端子SCK,SI,SOに導
通するデバッグ用コネクタ31を予め用意しておけば、
このコネクタ31にユーザインタフェースケーブル32
を接続して、PCI(Peripheral Component Interconn
ect)カード33又はPC(Personal Computer)カード
34を経由してホスト装置35、36に接続可能にされ
る。
【0034】したがって、エミュレーションモードにお
いて、前記CPU2が第2状態にされているとき、ブレ
ーク回路7には前記シリアルインタフェース回路8を介
して所要のブレーク条件が設定可能にされる。また、エ
ミュレーションモードにおいて第1状態のCPU2によ
る命令実行軌跡を辿るためのトレース情報がトレース回
路9に蓄えられたとき、蓄えられたトレース情報を前記
第2状態のCPU2の制御を介して前記シリアルインタ
フェース回路8から外部のデバッグ用ホスト装置に出力
可能になる。
【0035】また、ROM3をイニシャライズする為の
特定の動作モード、例えば、ROM3の書き換えを行な
うブートモードにおいて、ホスト装置35からシリアル
インタフェース回路8を経由して書込みデータをROM
3にダウンロードする処理にも前記シリアルインタフェ
ース回路8を利用することができる。
【0036】図1に示されるINTC6は、CPU2に
対して割込み信号14を出力する。INTC6はマイク
ロコンピュータ1の外部からの割込み要求(外部割込み
要求)及びマイクロコンピュータ1の内部で発生される
割込み要求(内部割込み要求)を入力し、割込み優先制
御、割込みマスク制御を行ない、受け付けた割込み要求
の割込み要因に応じたベクタアドレスをCPU2に渡
し、CPU2への割込み信号40をイネーブルにする。
CPU2は、ベクタアドレスを用いてベクタテーブルか
らベクタ、即ち割込み要求に応答する処理プログラムの
先頭アドレスを取得し、取得したベクタから始まる処理
に分岐する。復帰を要するものは最初にCPU2の状態
退避処理が行われる。
【0037】尚、割込み要求は、バスエラー等の各種例
外処理要求も含むものとする。ベクタアドレスは内部バ
ス13経由で或いは図示を省略する専用信号線でCPU
2に与えられる。
【0038】図1に示される端子PBRKは、ブレーク
端子である。ブレーク端子PBRKは入出力回路11に
含まれる所定の1ビット分のI/Oポートに接続されて
いる。当該I/Oポートの入力ラッチの出力はINTC
6に供給され、当該I/Oポートの出力ラッチの入力は
前記デバッグ用コントロールレジスタ10の所定の1ビ
ット(ブレークアクノリッジフラグBRKACK)によ
って制御される。
【0039】エミュレーションモードにおいて、前記C
PU1の第1状態から第2状態への遷移、即ちブレーク
モードへの遷移は、前記ブレーク端子PBRKに入力さ
れるブレーク割込み要求の指示、ブレーク条件の一致に
よってブレーク回路7から出力される内部割込みとして
のブレーク割込み要求信号15、CPU2によるブレー
ク命令の実行に起因して行われる。また、前記CPU2
は、例えば第2状態でファームウェア領域20Dのリタ
ーン命令を実行することによって、第2状態から第1状
態へ復帰することができ、これによって、ブレークモー
ドフラグBRKMがリセット状態にされ、ブレークモー
ドが解除される。
【0040】前記ブレーク端子PBRKはホスト装置等
からのブレーク割込み指示の入力に専用化する必要はな
い。ブレーク割込み信号15によってブレーク回路7か
ら要求されるブレーク割込み、CPU2によるブレーク
命令の実行など、マイクロコンピュータ1の内部状態に
起因して、CPU2が第1状態から第2状態に遷移した
状態をホスト装置に通知するのに利用される。即ち、前
記エミュレーションモードフラグEMLがエミュレーシ
ョンモードを示しているとき、CPU2が第1状態から
第2状態に遷移して、CPU2がファームウェア領域2
0Dの命令実行に従って前記ブレークアクノリッジフラ
グBRKACKをセット状態にすることにより、前記ブ
レーク端子PBRKから外部(ホスト装置)に向けてロ
ーレベルのブレーク信号がアサートされる。
【0041】また、前記ブレーク端子PBRKをエミュ
レーションモードでの使用に専用化する必然性はなく、
前記エミュレーションモードフラグEMLがユーザモー
ドを示しているときは、前記ブレーク端子PBRKを、
マスク不可能な外部割込み信号(NMI信号)の入力端
子として利用する。
【0042】前記エミュレーションモードフラグEML
は、マイクロコンピュータ1の電源投入によって、
“0”に初期化され、この状態はユーザモードを示す。
前記エミュレーションモードフラグEMLはマイクロコ
ンピュータ1のリセット処理では初期化されない。この
エミュレーションモードフラグEMLは、その後、マイ
クロコンピュータ1に特定の動作モードが指示されたと
き又は前記第2状態において、書き換え可能にされる。
【0043】前記特定動作モードは、例えば、前記ブレ
ーク端子PBRKに入力されるブレーク割込み指示に応
答する処理にCPU2の命令実行処理を移行させるため
のベクタの保有アドレスをベクタテーブル上で前記ファ
ームウェア領域(第2領域)20Dの所定アドレスに書
き換える処理を含む動作である。即ち、当該動作モード
が設定される前は、ベクタテーブルはユーザの定義に従
っている。よって、NMI割込み入力に割当てられるブ
レーク端子PBRKの割込みに対するベクタ番号のベク
タアドレスには、ユーザが定義したNMI割込み処理プ
ログラムの先頭アドレスが定義されている。前記特定動
作モードが設定されると、ブレーク端子PBRKの割込
みに対するベクタ番号のベクタアドレスは、ファームウ
ェア領域20Dの所定の処理プログラムの先頭アドレス
に書きかえられる。これにより、特定動作モードが指示
されると、CPU2は第2状態に遷移可能にされ、エミ
ュレーションモードフラグEMLはエミュレーションモ
ードを示し、ブレーク端子PBRKにブレーク割込み要
求があると(ローレベルにアサートされると)、CPU
2は第2状態にされてファームウェア領域20Dのプロ
グラムを実行できる。
【0044】前記特定動作モードを、前記ブートモード
とし、ROM3の書き換えの一環として、ベクタテーブ
ルの書き換えを行い、最後にエミュレーションモードフ
ラグEMLのセットを行なうようにしても良い。ベクタ
テーブルはROM3のユーザ領域20Uの先頭部分に配
置されている。また、ブートモードの最後にエミュレー
ションモードフラグEMLのセットを行なうか否かを、
ホスト装置からのコマンドコードに応じて選択可能にし
てもよい。前記ブートモードに代表されるような特定動
作モードは前記ブレーク端子PBRKなど所定の複数個
の外部端子を特定レベルに強制したりして設定すればよ
い。マイクロコンピュータ1はそれら端子の特定の状態
を検出して前記特定動作モードを実現するためのロジッ
ク回路を有する。
【0045】《ブレーク回路》図4にはブレーク回路7
の一例が示される。ブレーク回路7は、アドレス比較回
路(CMPA)70、ブレークアドレスレジスタ(BA
RH,BARL)71、ブレークコントロールレジスタ
(ABRKCR)72、ブレークステータスレジスタ
(ABRKSR)73、ブレークデータレジスタ(BD
RH,BDRL)74、及びデータ比較回路(CMP
D)75を有する。内部データバス13D及び内部アド
レスバス13Aは前記内部バス13に含まれている。
【0046】前記ブレークデータレジスタ75にはデー
タバス13Dを介してブレイク条件データが設定され、
CPU2がファームウェア20Dのプログラムを実行し
ているファーム処理中に、内部データバス13Dの状態
がブレーク条件データに一致する状態が発生するかをデ
ータ比較回路75で判定し、一致したとき、信号15D
をアサートしてブレーク割込み要求をINTC6に与え
る。
【0047】前記ブレークアドレスレジスタ71にはア
ドレスバス13Aを介してブレイク条件アドレスが設定
され、ファーム処理中に、内部アドレスバス13Aの状
態がブレーク条件アドレスに一致する状態が発生するか
をアドレス比較回路70で判定し、一致したとき、信号
15Aをアサートしてブレーク割込み要求をINTC6
に与える。信号15A,15Dは図1の信号15で代表
される。ブレークコントロールレジスタ72は、比較ビ
ット数などの比較条件、比較サイクルの指定などを行な
う。ブレークステータスレジスタ73はブレーク条件に
対してブレーク割込みが発生したか否かの状態を示し、
ブレークアドレスレジスタ71及びブレークデータレジ
スタ75をクリアしても差し支えないか否かの判定等に
利用される。
【0048】《トレース回路》図5には前記トレース回
路9の一例が示される。トレース回路90は、パラレル
・イン・パラレル・アウト形式で直列4段のトレースバ
ッファレジスタ90〜93を有し、初段のトレースバッ
ファレジスタ90のパラレル入力端子は内部アドレスバ
ス13Aに接続され、各のトレースバッファレジスタ9
0〜93は内部データバス13Dを介してCPU2から
アクセス可能にされる。トレースバッファレジスタ90
〜93は、CPU2のプログラムが分岐する毎に分岐元
アドレスを格納する。
【0049】CPU2のプログラムに分岐を生ずると、
最新の分岐元アドレスが初段のトレースバッファレジス
タ90に格納され、その度に、既に保持されている分岐
元アドレスが1段づつ後段にシフトされ、トレースバッ
ファ90〜93は、最大4個の分岐元アドレスを保持す
ることができる。トレースバッファレジスタ90〜93
がラッチ動作を行なう具体的条件は、例えば、ジャンプ
命令やブランチ命令を実行したとき、サブルーチンから
のリターン命令を実行したとき、割込み処理を実行した
とき、TRAP命令のような割込み命令を実行したとき
である。そのようなラッチ制御は、CPU2の命令デコ
ーダ25から出力されるデコード信号26を用いて行わ
れる。
【0050】前記トレースバッファ90〜93のクリア
はトレースバッファクリアビットTRCLRによって制
御される。トレースバッファクリアビットTRCLRは
信号線94でトレースバッファ90〜93のリセット端
子Rに供給される。
【0051】トレースバッファクリアビットTRCLR
は前記デバッグコントロールレジスタ10に含まれる1
ビットである。トレースバッファ90〜93は、トレー
スバッファクリアビットTRCLRが“1”にセットさ
れると、記憶内容がH‘FFFFに初期化(クリア)さ
れる。トレースバッファクリアビットTRCLRの
“0”状態ではトレースバッファ90〜93は記憶内容
を保持する。
【0052】前記トレースバッファクリアビットTRC
LRが“1”にセット可能にされる条件は、前記エミュ
レーションモードフラグEMLがエミュレーションモー
ド(“1”)を示し、前記ブレークモードフラグBRK
Mの“1”によってトレース回路9などの前記デバッグ
支援回路の機能設定が許可されているときである。例え
ば、トレースバッファクリアビットTRCLRを保持す
るラッチの入力は、EML及びBRKMが入力される制
御ゲートを介して対応する内部データバス13Dの信号
線に接続されている。これにより、CPU2の暴走など
によってトレースバッファ90〜93の情報が不所望に
クリアされる事態を容易に抑止することができる。
【0053】《シリアルインタフェース回路》図6には
前記シリアルインタフェース回路8の一例が示される。
前記シリアルインタフェース回路8は、シフトレジスタ
(SR)80、トランスミットデータレジスタ(TD
R)81、レシーブデータレジスタ(RDR)82、シ
リアルコントロールレジスタ(SCR)83、シリアル
コントロールステータスレジスタ(SCSR)84、送
受信制御回路85及びマルチプレクサ(MPX)86を
有する。
【0054】シフトレジスタ80はシリアルデータ入力
端子SIからデータをシリアル入力し前記シリアルデー
タ出力端子SOにデータをシリアル出力する。前記トラ
ンスミットデータレジスタ(TDR)81及びレシーブ
データレジスタ(RDR)82は前記シフトレジスタ8
0とパラレルにデータの入出力を行ないデータバス13
Dを介してCPU2によってアクセス可能なデータバッ
ファを構成する。
【0055】前記シリアルコントロールレジスタ(SC
R)83は、送信動作の許可/禁止、受信動作の許可/
禁止等を示す制御データが設定される。前記シリアルコ
ントロールステータスレジスタ(SCSR)84は、ト
ランスミットデータエンプティーやレシーブデータフル
などのデータ送受信制御状態が反映され、CPU2によ
って参照可能にされる。トランスミットデータエンプテ
ィーはTDR81のデータがSR80に内部転送され、
TDR81に新たなトランスミットデータをライト可能
であることを意味する。レシーブデータフルは受信デー
タがSR80からRDR82に格納されていることを意
味する。
【0056】前記送受信制御回路85は、前記クロック
信号SCKに同期した前記シリアルデータ入力端子SI
からのシリアル入力動作、前記クロック信号SCKに同
期した前記シリアルデータ出力端子SOからのシリアル
出力動作、前記TDR81からのSR80への送信デー
タ転送動作、及びSR80から前記RDR82への受信
データ転送動作を制御するものである。その制御状態に
応じて、送信終了、送信データエンプティー、受信デー
タフル、受信エラー(オーバーフロー)等を割込み信号
87によってCPU2に通知する。尚、図6の例では、
クロック信号としてマイクロコンピュータ1内部のクロ
ック信号を分周回路(DIV)88で分周し、この分周
内部クロックと前記シリアルクロック端子SCKからの
クロック信号とをマルチプレクサ(MPX)86で選択
して、シリアル同期クロックとして利用可能にされてい
る。
【0057】このシリアルインタフェース回路8によれ
ば、CPU2は、その動作プログラムに従って、RDR
82に受信した情報を参照し、演算し、TDR81から
送信すべきデータをロードすることにより、当該動作プ
ログラムに従ったプロトコルで、シリアル通信を行なう
ことができる。換言すれば、汎用的に用いることができ
るシリアルインタフェース回路8をデバッグ用ホスト装
置とのインタフェースに流用すれば、ホスト装置とのイ
ンタフェース仕様若しくは通信プロトコルに対しても高
い汎用性を確保することができ、オンチップエミュレー
タ機能の使い勝手が良くなる。詳しくは、エミュレーシ
ョンモード及びブレークモードにおいてシリアルインタ
フェース回路8の機能若しくは通信プロトコルは、ファ
ームウェア領域20Dデバッグ支援制御プログラムによ
って自在に決定することができる。
【0058】《オンチップエミュレーション動作》図3
のようにユーザシステム30をユーザインタフェースケ
ーブル32を介してホスト装置35(又は36)に接続
してエミュレーションを行なうときの動作を全体的に説
明する。マイクロコンピュータ1はユーザインタフェー
スケーブル32を介してホスト装置35(又は36)に
接続される。
【0059】先ず、マイクロコンピュータ1にブートモ
ードが設定されると、CPU2はマイクロコンピュータ
1の製造段階で、予めROM3のリザーブ領域21に書
き込まれているブート処理プログラムを実行し、書き換
え制御プログラムをROM3のリザーブ領域21からR
AM4のデバッグ領域22Dに転送し、その後、転送し
たRAM4上の書き換え制御プログラムの実行に処理を
移す。この処理では、書き換えデータがホスト装置35
からシリアルインタフェース8を介してROM3に供給
され、ROM3のユーザ領域20Uにユーザプログラム
やベクタテーブルが形成される。このとき、ホスト装置
35から供給されるコマンドに応じて、ファームウェア
領域20Dにデバッグ制御プログラムを書き込むか否か
が決定される。デバッグ制御プログラムが書き込まれる
ときは、ブレーク端子PBRKからの割込み要求に応答
する処理の為のベクタを当該デバッグ制御プログラムの
先頭アドレスに書き換えておく。
【0060】RAM4上の書き換え制御プログラムの実
行が終了された後、ブレーク端子PBRKにブレーク割
込みの指示が与えられると、CPU2の制御はファーム
ウェア領域20Dのデバッグ制御プログラムに移行す
る。CPU2はそのファームウェア領域20Dのデバッ
グ制御プログラムを実行して、ブレーク回路7にブレー
ク条件を設定し、トレース回路9に制御情報等を設定す
る。デバッグ制御プログラムの途中でリターン命令を実
行することにより、CPU2の処理をユーザ領域20U
のユーザプログラムへ移すことができる。これによっ
て、CPU2はユーザプログラムを実行し、この間、ト
レース回路9は分岐元アドレスを貯えて行き、また、ブ
レーク回路7はブレーク条件の成立を逐次判定する。
【0061】マイクロコンピュータ1の内部状態がブレ
ーク条件に一致し、或いはCPU2がブレーク命令を実
行することにより、CPU2の命令実行はブレークさ
れ、ブレーク要因に応答するベクタの指すデバッグ処理
プログラムの先頭アドレスにCPU2の処理を移す。C
PU2はBRKACKによって端子PBRKからホスト
装置35に向けてブレークを通知する。CPU2はホス
ト装置35からのコマンドに応じた処理をデバッグ制御
プログラムに従って行い、例えばトレース回路9に蓄え
られた分岐元アドレスをシリアルインタフェース回路8
からホスト装置に送信させる制御を行なう。ホスト装置
35は、シリアルインタフェース回路8から出力される
分岐元アドレスなどのデバッグ情報を取込んで、表示
し、或いは次の解析の為に貯える。
【0062】このような、エミュレーションモードにお
けるシリアルインタフェース回路8とホスト装置との間
の通信では、前記シリアルインタフェース回路8におい
て、データ受信動作ではシリアルデータ出力端子SOか
らデータ受信動作のレディー/ビジー信号を出力し、デ
ータ送信動作ではシリアルデータ入力端子SIからデー
タ送信動作に対する受け側からのレディー/ビジー信号
を入力する、という通信プロトコルを採用することがで
きる。
【0063】図7及び図8には送受信動作で使用されな
いシリアル入出力端子をレディー/ビジー信号の端子と
して利用する動作タイミングが例示される。
【0064】図7はマイクロコンピュータ1がデータ受
信側のときの動作を示す。データ受信動作ではシリアル
データ出力端子SOは余るから、この端子SOをデータ
受信動作のレディー/ビジー信号の出力に流用する。即
ち、ホスト装置35はデータ出力端子SOがハイレベ
ルであることを確認してデータ入力端子SIをローレベ
ルにする。マイクロコンピュータ1は端子SIがロー
レベルになったことを確認後、受信準備ができたら、端
子SOからローレベルを出力する。ホスト装置は端子
SOがローレベルになったことを確認して端子SIをハ
イレベルにする。マイクロコンピュータ1は、端子S
Iがハイレベルになったことを確認後、端子SOからハ
イレベルを出力する。ホスト装置35は端子SOがハ
イレベルになったことを確認後、転送クロックを出力
し、これに同期して端子SIに向けてデータを出力す
る。
【0065】図8はマイクロコンピュータ1がデータ送
信側のときの動作を示している。データ送信動作ではシ
リアルデータ入力端子SIは余るから、この端子SIを
データ送信動作のレディー/ビジー信号の入力に流用す
る。即ち、マイクロコンピュータ2はデータ入力端子
SIがハイレベルであることを確認してデータ出力端子
SOをローレベルにする。ホスト装置35は端子SO
がローレベルになったことを確認後、受信準備ができた
ら、端子SIに向けてローレベルを出力する。マイク
ロコンピュータ1は端子SIがローレベルになったこと
を確認後、送信準備ができたら、端子SOからハイレベ
ルを出力する。ホスト装置35は端子SOがハイレベ
ルになったことを確認後、端子SIに向けてハイレベル
を出力する。その後、ホスト装置35は、転送クロック
を出力する。転送クロックに同期して、マイクロコン
ピュータ2は端子SOからデータを出力する。
【0066】図9にはエミュレーションモードにおいて
ブレーク割込み端子PBRKの状態に応じたシリアルイ
ンタフェース回路8の動作の相違が例示される。ユーザ
プログラムが動作されるCPU2の第1状態では、ユー
ザプログラムに従って、端子SCK,SI,SOはシリ
アルインタフェース回路8のシリアル端子として、或い
は、当該端子SCK,SI,SOが接続するI/Oポー
トPxx,Pyy,Pzzの設定機能に応じた他の信号
入出力動作に利用される。一方、エミュレーションモー
ドにおいてブレーク割込み端子PBRKに割込みの指示
が与えられてCPU2がファームウェア領域20Dのデ
バッグ制御プログラムを実行する第2状態では、図7及
び図8に例示されるような通信プロトコルによりシリア
ルインタフェース回路8はホスト装置35とのインタフ
ェースに利用される。
【0067】以上説明したオンチップエミュレータ機能
を有するマイクロコンピュータ1によれば、以下の作用
効果を得ることができる。
【0068】〔1〕第1状態及び第2状態のいずれにお
いても外部とインタフェース動作可能なシリアルインタ
フェース回路8を採用してデバッグ時のホストインタフ
ェースを実現するから、外部端子の増大を最小限に抑
え、クロック同期シリアルインタフェース回路8のよう
な汎用回路をデバッグに流用することが可能になり、オ
ンチップエミュレータ機能を、物理的規模の増大並びに
コスト上昇を極力抑えて実現することができる。汎用的
に用いることができるシリアルインタフェース回路8を
ホスト装置とのインタフェースに流用するから、ホスト
装置とのインタフェース仕様若しくは通信プロトコルに
対しても高い汎用性を確保することができ、オンチップ
エミュレータ機能の使い勝手が良くなる。
【0069】〔2〕ブレーク回路7、トレース回路9及
びデバッグ用コントロールレジスタ10等のデバッグ支
援回路の機能設定は、CPU2の制御状態が第2状態に
なり、これに応答してブレークモードフラグBRKMの
状態が決ってから可能になるから、オンチップエミュレ
ータ機能固有の制御情報やトレース情報がユーザプログ
ラムの不具合による暴走等によって不所望に破壊された
りする事態を阻止でき、オンチップエミュレータ機能の
信頼性を向上させる事ができる。
【0070】〔3〕前記デバッグ支援回路として、ブレ
ーク回路7とトレース回路9の双方を採用することによ
り、デバッグ対象プログラムの実行状態を後から追跡す
る事ができ、また、着目したい地点でデバッグ対象プロ
グラムの実行を停止させることができるから、簡易なオ
ンチップエミュレータ機能として必要最低限の機能を達
成することができる。
【0071】〔4〕エミュレーションモードにおいて、
ホスト装置等からのブレーク割込みの指示を受けて、前
記CPU2を第1状態から第2状態へ遷移させるブレー
ク端子PBRKを、それに専用化せず、ブレーク回路7
からのブレーク割込みの指示やブレーク命令の実行な
ど、マイクロコンピュータ1の内部状態に起因してCP
Uの状態が第1状態から第2状態に遷移したことをホス
ト装置に通知可能にするブレーク信号出力機能、そし
て、前記エミュレーションモードフラグEMLがユーザ
モードを示しているときはマスク不可能な外部割込み信
号(NMI割込み信号)の入力機能として兼用すること
ができる。これにより、オンチップエミュレータ機能の
為の専用端子は極力少なくなる。
【0072】〔5〕前記トレース回路9は、前記エミュ
レーションモードフラグEMLがエミュレーションモー
ドを示し、前記ブレークモードフラグBRKMが前記デ
バッグ支援回路の機能設定を許可しているとき、トレー
ス情報のクリアが可能にされるから、この点でも、トレ
ース回路の蓄積情報は不所望にクリアされ難い。
【0073】〔6〕ホスト装置とのシリアルインタフェ
ース制御には、データ受信動作ではシリアルデータ出力
端子からデータ受信動作のレディー/ビジー信号を出力
し、データ送信動作ではシリアルデータ入力端子からデ
ータ送信動作に対する受け側からのレディー/ビジー信
号を入力する、という比較的簡単な通信プロトコルを採
用することが可能である。
【0074】以上本発明者によってなされた発明を実施
形態に基づいて具体的に説明したが、本発明はそれに限
定されるものではなく、その要旨を逸脱しない範囲にお
いて種々変更可能であることは言うまでもない。
【0075】例えば、電気的に書き換え可能なメモリは
フラッシュメモリに限定されず、EEPROMであても
よい。また、EPROMライタ等の汎用書込み装置を用
いてマイクロコンピュータ内蔵の前記フラッシュメモリ
に初期的にプログラムなどを書き込み可能にする動作モ
ードをマイクロコンピュータが持つようにされてもよ
い。また、デバッグ用コントロールレジスタは、ブレー
ク回路又はトレース回路に配置しても良い。また、ブレ
ーク端子PBRKからの要求に応答するベクタの設定は
ベクタテーブルの書き換えで対処する手法に限定され
ず、動作モード或いは動作状態に応じて対応ベクタ番号
又はベクタを切り換えるハードウェアを採用しても良
い。また、マイクロコンピュータのバス接続構成は図1
に限定されず、周辺回路が接続する周辺バスをバスコン
コントローラを介して分離してもよい。また、内蔵回路
モジュールは図1に限定されず、キャッシュメモリを含
んだり、或いはDMAC等のバスマスタを含んだり、演
算回路ユニットとして浮動小数点ユニットはディジタル
信号処理ユニットを含めたりする事も可能である。
【0076】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0077】すなわち、第1状態及び第2状態の何れに
おいても外部とインタフェース動作可能なシリアルイン
タフェース回路を採用してデバッグ時のホストインタフ
ェースを実現するから、外部端子の増大を最小限に抑
え、クロック同期シリアルインタフェース回路のような
汎用回路をデバッグに流用することが可能になり、オン
チップエミュレータ機能を、物理的規模の増大並びにコ
スト上昇を極力抑えて実現することができる。更に、ホ
スト装置とのインタフェース仕様若しくは通信プロトコ
ルに対しても高い汎用性を確保することができ、オンチ
ップエミュレータ機能の使い勝手が良くなる。
【0078】デバッグ支援回路の機能設定は、CPU2
の制御状態が第2状態になり、これに応答してブレーク
モードフラグの状態が決ってから可能になるから、オン
チップエミュレータ機能固有の制御情報やトレース情報
がユーザプログラムの不具合による暴走等によって不所
望に破壊されたりする事態を阻止でき、オンチップエミ
ュレータ機能の信頼性を向上させる事ができる。
【0079】エミュレーションモードにおいて、ホスト
装置等からのブレーク割込みの指示を受けて、前記CP
U2を第1状態から第2状態へ遷移させる外部端子を、
それに専用化せず、ブレーク命令の実行など、マイクロ
コンピュータの内部状態に起因してCPUの状態が第1
状態から第2状態に遷移したことをホスト装置に通知可
能にするブレーク信号出力機能、そして、前記エミュレ
ーションモードフラグがユーザモードを示しているとき
はマスク不可能な外部割込み信号の入力機能に兼用する
ことにより、オンチップエミュレータ機能の為の専用端
子を極力少なくすることができる。
【図面の簡単な説明】
【図1】本発明に係る半導体装置の一例であるマイクロ
コンピュータのブロック図である。
【図2】CPUのアドレス空間を示すアドレスマップで
ある。
【図3】図1のマイクロコンピュータを実装したユーザ
システムをホスト装置に接続してエミュレーションを行
なうときの全体的な接続関係を示す説明図である。
【図4】ブレーク回路の一例を示すブロック図である。
【図5】トレース回路の一例を示すブロック図である。
【図6】シリアルインタフェース回路8の一例を示すブ
ロック図である。
【図7】マイクロコンピュータがデータ受信側のとき受
信動作で使用されないシリアル出力端子をレディー/ビ
ジー信号の端子として利用する動作を例示するタイミン
グチャートである。
【図8】マイクロコンピュータがデータ送信側のとき送
信動作で使用されないシリアル入力端子をレディー/ビ
ジー信号の端子として利用する動作を例示するタイミン
グチャートである。
【図9】エミュレーションモードにおいてブレーク割込
み端子の状態に応じたシリアルインタフェース回路の動
作の相違を例示するタイミングチャートである。
【符号の説明】
1 マイクロコンピュータ 2 中央処理装置(CPU) 3 ROM 4 RAM 6 割込みコントローラ 7 ブレーク回路 8 シリアルインタフェース回路 9 トレース回路 10 デバッグコントロールレジスタ BRKM ブレークモードフラグ EML エミュレーションモードフラグ BRKACK ブレークアクノリッジフラグ 20D 第2領域(ファームウェア領域) 20U 第1領域(ROMのユーザ領域) 22D デバッグ用RAM領域 22U RAMのユーザ領域 23D デバッグ用I/Oレジスタ領域 23U I/Oレジスタのユーザ領域 PBRK ブレーク端子 80 シフトレジスタ 81 トランスミットデータレジスタ 82 レシーブデータレジスタ 85 送受信制御回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 氏井 呂圭 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体グループ内 Fターム(参考) 5B042 HH01 HH30 LA01 LA08 LA09 NN51

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 書き換え可能なメモリと、 前記メモリの第1領域から命令を読み込んで実行可能な
    第1状態と前記メモリの第2領域から命令を読み込んで
    実行可能な第2状態とを選択的に採り得る中央処理装置
    と、 前記第1状態の中央処理装置による命令実行状態の評価
    を支援する為のデバッグ支援回路と、 前記中央処理装置の第2状態に応答して前記中央処理装
    置による前記デバッグ支援回路の機能設定を許可するブ
    レークモードフラグと、 前記第1状態及び第2状態の何れにおいても外部とクロ
    ック同期でインタフェース可能なシリアルインタフェー
    ス回路と、を含んで成るものであることを特徴とする半
    導体装置。
  2. 【請求項2】 前記デバッグ支援回路は、前記中央処理
    装置の第2状態において前記シリアルインタフェース回
    路を介して所要のブレーク条件が設定可能にされ、前記
    第1状態において前記中央処理装置による命令実行状態
    が前記ブレーク条件に一致したとき中央処理装置を第1
    状態から第2状態へ遷移させる内部割込み指示を形成す
    るブレーク回路を含んで成るものであることを特徴とす
    る請求項1記載の半導体装置。
  3. 【請求項3】 前記デバッグ支援回路は、前記第1状態
    において前記中央処理装置による命令実行軌跡を辿るた
    めのトレース情報を蓄え、蓄えられたトレース情報を前
    記第2状態の中央処理装置の制御を介して前記シリアル
    インタフェース回路から外部に出力可能にされるトレー
    ス回路を含んで成るものであることを特徴とする請求項
    1又は2記載の半導体装置。
  4. 【請求項4】 半導体装置がユーザモードであるかエミ
    ュレーションモードであるかを示すエミュレーションモ
    ードフラグを更に有し、 前記エミュレーションモードは、前記中央処理装置が第
    1状態と第2状態との間を遷移可能な半導体装置の状態
    であり、ユーザモードは前記中央処理装置が第1状態と
    第2状態との間を遷移不可能な半導体装置の状態である
    ことを特徴とする請求項3記載の半導体装置。
  5. 【請求項5】 前記エミュレーションモードフラグがエ
    ミュレーションモードを示しているとき、前記ブレーク
    モードフラグは、前記中央処理装置が第1状態から第2
    状態へ遷移するのに応答して、前記デバッグ支援回路の
    機能設定を許可するものであることを特徴とする請求項
    4記載の半導体装置。
  6. 【請求項6】 前記中央処理装置を前記第1状態から第
    2状態へ遷移させるブレーク割込み指示を入力する外部
    端子を更に含んで成るものであることを特徴とする請求
    項5記載の半導体装置。
  7. 【請求項7】 前記エミュレーションモードフラグがエ
    ミュレーションモードを示しているとき、セット状態に
    されることによって前記外部端子からブレーク信号を出
    力させるブレークアクノリッジフラグを更に有して成る
    ものであることを特徴とする請求項6記載の半導体装
    置。
  8. 【請求項8】 前記外部端子は、前記エミュレーション
    モードフラグがユーザモードを示しているとき、マスク
    不可能な外部割込み信号の入力端子とされるものである
    ことを特徴とする請求項6又は7記載の半導体装置。
  9. 【請求項9】 前記トレース回路は、前記エミュレーシ
    ョンモードフラグがエミュレーションモードを示し、前
    記ブレークモードフラグが前記デバッグ支援回路の機能
    設定を許可しているとき、トレース情報をクリア可能に
    されるものであることを特徴とする請求項5記載の半導
    体装置。
  10. 【請求項10】 前記書き換え可能なメモリは電気的に
    書き換え可能な不揮発性メモリであることを特徴とする
    請求項5記載の半導体装置。
  11. 【請求項11】 前記エミュレーションモードフラグ
    は、初期状態においてユーザモードを示し、特定の動作
    モードが指示されたとき又は前記第2状態において書き
    換え可能にされるものであることを特徴とする請求項6
    記載の半導体装置。
  12. 【請求項12】 前記特定動作モードは、前記外部端子
    に入力されるブレーク割込み指示に応答する処理に中央
    処理装置の命令実行処理を移行させるためのベクタの保
    有アドレスをベクタテーブル上で前記第2領域の所定ア
    ドレスに書き換える処理を含む動作であることを特徴と
    する請求項11記載の半導体装置。
  13. 【請求項13】 前記特定動作モードは、前記メモリの
    少なくとも第1及び第2領域に対するプログラム書込み
    処理を更に含む動作であることを特徴とする請求項12
    記載の半導体装置。
  14. 【請求項14】 前記シリアルインタフェース回路は、
    シリアルデータ入力端子と、シリアルデータ出力端子
    と、クロック入力端子と、前記シリアルデータ入力端子
    からデータをシリアル入力し前記シリアルデータ出力端
    子にデータをシリアル出力するシフトレジスタと、前記
    シフトレジスタとパラレルにデータの入出力を行ない前
    記中央処理装置によってアクセス可能なデータバッファ
    と、送受信制御回路とを有し、 前記送受信制御回路は、前記クロック信号に同期した前
    記シリアルデータ入力端子からのシリアル入力動作、前
    記クロック信号に同期した前記シリアルデータ出力端子
    からのシリアル出力動作、前記データバッファからの送
    信データ読み出し動作、及び前記データバッファへの受
    信データの格納動作を制御するものであることを特徴と
    する請求項1乃至13の何れか1項記載の半導体装置。
  15. 【請求項15】 データ受信動作ではシリアルデータ出
    力端子からデータ受信動作のレディー/ビジー信号を出
    力し、データ送信動作ではシリアルデータ入力端子から
    データ送信動作に対する受け側からのレディー/ビジー
    信号を入力するものであることを特徴とする請求項14
    記載の半導体装置。
  16. 【請求項16】 電気的に書き換え可能な不揮発性メモ
    リと、 前記不揮発性メモリの第1領域から命令を読み込んで実
    行可能な第1状態と前記不揮発性メモリの第2領域から
    命令を読み込んで実行可能な第2状態とを選択的に採り
    得る中央処理装置と、 前記第1状態及び第2状態の何れにおいても外部とクロ
    ック同期でインタフェース可能なシリアルインタフェー
    ス回路と、 前記中央処理装置が第1状態と第2状態との間を遷移可
    能なエミュレーションモードであるか、前記中央処理装
    置が第1状態と第2状態との間を遷移不可能なユーザモ
    ードであるかを示し、初期状態においてユーザモードを
    示し、特定動作モードが指示されたとき又は前記第2状
    態においてユーザモードからエミュレーションモード
    へ、或いはエミュレーションモードからユーザモードへ
    の指示状態の書き換えが可能にされるエミュレーション
    モードフラグと、 前記第1状態の中央処理装置による命令実行状態の評価
    を支援する為のデバッグ支援回路と、 前記エミュレーションモードフラグがエミュレーション
    モードを示しているとき、中央処理装置の第2状態に応
    答して前記中央処理装置による前記デバッグ支援回路の
    機能設定を許可するブレークモードフラグと、を含んで
    成るものであることを特徴とする半導体装置。
  17. 【請求項17】 前記中央処理装置を前記第1状態から
    第2状態へ遷移させるブレーク割込み指示を外部から入
    力し、前記エミュレーションモードフラグがユーザモー
    ドを示している状態ではマスク不可能な外部割込み信号
    を外部から入力し、前記エミュレーションモードフラグ
    がエミュレーションモードを示している状態ではブレー
    ク信号を外部に出力可能にする外部端子を更に含んで成
    るものであることを特徴とする請求項16記載の半導体
    装置。
JP26795199A 1999-09-22 1999-09-22 半導体装置 Pending JP2001092686A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26795199A JP2001092686A (ja) 1999-09-22 1999-09-22 半導体装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26795199A JP2001092686A (ja) 1999-09-22 1999-09-22 半導体装置

Publications (1)

Publication Number Publication Date
JP2001092686A true JP2001092686A (ja) 2001-04-06

Family

ID=17451875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26795199A Pending JP2001092686A (ja) 1999-09-22 1999-09-22 半導体装置

Country Status (1)

Country Link
JP (1) JP2001092686A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002304310A (ja) * 2001-04-06 2002-10-18 Fujitsu Ltd 半導体集積回路
JP2007502462A (ja) * 2003-08-11 2007-02-08 フリースケール セミコンダクター インコーポレイテッド デバッグ回路のセキュリティを確保する方法及び装置
JP2009009596A (ja) * 2008-08-18 2009-01-15 Renesas Technology Corp マイクロコンピュータ
CN102163182A (zh) * 2010-02-19 2011-08-24 瑞萨电子株式会社 具有调试单元的信息处理设备及其调试方法
JP2018029285A (ja) * 2016-08-18 2018-02-22 ラピスセミコンダクタ株式会社 通信装置、半導体装置、通信システムおよび初期化方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002304310A (ja) * 2001-04-06 2002-10-18 Fujitsu Ltd 半導体集積回路
JP2007502462A (ja) * 2003-08-11 2007-02-08 フリースケール セミコンダクター インコーポレイテッド デバッグ回路のセキュリティを確保する方法及び装置
JP4728237B2 (ja) * 2003-08-11 2011-07-20 フリースケール セミコンダクター インコーポレイテッド デバッグ回路のセキュリティを確保する方法及び装置
JP2009009596A (ja) * 2008-08-18 2009-01-15 Renesas Technology Corp マイクロコンピュータ
CN102163182A (zh) * 2010-02-19 2011-08-24 瑞萨电子株式会社 具有调试单元的信息处理设备及其调试方法
JP2018029285A (ja) * 2016-08-18 2018-02-22 ラピスセミコンダクタ株式会社 通信装置、半導体装置、通信システムおよび初期化方法

Similar Documents

Publication Publication Date Title
US7131114B2 (en) Debugger breakpoint management in a multicore DSP device having shared program memory
JP3955876B2 (ja) マイクロコンピュータ及びシステムプログラムの開発方法
US7506205B2 (en) Debugging system and method for use with software breakpoint
JPH02287635A (ja) マイクロコンピュータ,マイクロプロセッサおよびコア・プロセッサ集積回路用デバッグ周辺装置
JPH011039A (ja) インサーキット・エミュレータ
JPH11167544A (ja) Pcmciaカード及びそのプログラミング方法
KR100272937B1 (ko) 마이크로프로세서및멀티프로세서시스템
JP2003150574A (ja) マイクロコンピュータ
JPH0798692A (ja) マイクロコンピュータ
US7428661B2 (en) Test and debug processor and method
US6760864B2 (en) Data processing system with on-chip FIFO for storing debug information and method therefor
JPH1078889A (ja) マイクロコンピュータ
US4947478A (en) Switching control system for multipersonality computer system
JP2001051874A (ja) マイクロコンピュータ
KR100506031B1 (ko) 마이크로 컴퓨터, 전자 기기 및 에뮬레이션 방법
US5960190A (en) In-circuit emulation system with minimal impact on target environment
JP2001092686A (ja) 半導体装置
JP2002304310A (ja) 半導体集積回路
JPH08221293A (ja) エミュレータ装置
US20040153810A1 (en) Computer system equipped with a BIOS debugging card
JP2004094451A (ja) オンチップjtagインタフェース回路およびシステムlsi
JP3097602B2 (ja) データ処理装置
US20020004877A1 (en) Method and system for updating user memory in emulator systems
JP3323341B2 (ja) エミュレーション用プロセッサおよびそれを搭載したエミュレータ
JP2004185060A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060822

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061219