JPH10214201A - マイクロコンピュータ - Google Patents

マイクロコンピュータ

Info

Publication number
JPH10214201A
JPH10214201A JP9015743A JP1574397A JPH10214201A JP H10214201 A JPH10214201 A JP H10214201A JP 9015743 A JP9015743 A JP 9015743A JP 1574397 A JP1574397 A JP 1574397A JP H10214201 A JPH10214201 A JP H10214201A
Authority
JP
Japan
Prior art keywords
debug
program
address
data
microcomputer
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
JP9015743A
Other languages
English (en)
Inventor
Sakae Ito
栄 伊藤
Teruaki Kanzaki
照明 神崎
Tadayuki Akatsuki
忠之 赤月
Tatsuya Sakai
達也 酒井
Tsutomu Numata
勉 沼田
Yasuhiro Nakamura
泰博 中村
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.)
Renesas Design Corp
Mitsubishi Electric Corp
International Business Machines Corp
Original Assignee
Renesas Design Corp
Mitsubishi Electric Corp
International Business Machines 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 Renesas Design Corp, Mitsubishi Electric Corp, International Business Machines Corp filed Critical Renesas Design Corp
Priority to JP9015743A priority Critical patent/JPH10214201A/ja
Priority to US09/010,538 priority patent/US6075941A/en
Publication of JPH10214201A publication Critical patent/JPH10214201A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • 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/3636Software debugging by tracing the execution of the program

Landscapes

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

Abstract

(57)【要約】 【課題】 マイコンにデバッグ専用のモードを持たせる
必要があり、エミュレーションメモリを内蔵ROMと同
等の速度でアクセスしようとした場合、高速動作が可能
な高価なメモリが要求される。 【解決手段】 開発段階のプログラムが格納される電気
的に書き込み/消去が可能なフラッシュメモリ6と、外
部のICE14との接続のための専用入出力端子8を持
つデバック回路7とを内蔵し、デバック回路7にCPU
1との通信機能、ICE14との通信機能、CPU1の
動作状態のトレース機能、デバッグ割り込みを発生させ
るブレーク機能、ICE14からのプログラムコードを
フラッシュメモリ6に書き込む機能、フラッシュメモリ
6の内容をICE14に送る機能を持たせた。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、中央演算処理装
置(以下、CPUという)が用いるプログラムが格納さ
れる読み取り専用記憶装置(以下、ROMという)を内
蔵したマイクロコンピュータ(以下、マイコンという)
に関するものであり、特に、そのROMに格納するプロ
グラムの開発を容易にするマイコンに関するものであ
る。
【0002】
【従来の技術】図21は従来のメモリ内蔵型のマイコン
の構成を示すブロック図である。図において、1は当該
マイコンのCPUであり、2はそれが用いるプログラム
が格納されるROMである。3は読み出し/書き込み可
能な随時書き換え記憶装置(以下、RAMという)であ
り、4はこのマイコンの周辺機能である。5はこれら各
部を接続する内部バスであり、5aはアドレスバス、5
bはデータバス、5cは制御バスである。
【0003】次に動作について説明する。CPU1は当
該マイコンを動作させるためのプログラムをROM2よ
り内部バス5を介して順次読み込み、読み込んだプロコ
ードを逐一解釈、実行する。このCPU1でのプログラ
ムの実行にともなって、CPU1は内部バス5を介して
RAM3あるいは周辺機能4とデータのやり取りを行
い、種々のデータ処理を実行する。
【0004】なお、ROM2は読み出し専用で、このR
OM2へのプログラムの書き込みは半導体の製造工程中
に行われるものであって、それ以降のプログラムの書き
換えはできない。したがって、ユーザが開発段階でプロ
グラムの作成およびデバッグを行う場合には、以下のよ
うな手法がとられる。
【0005】ここで、図22はマイコンのROM2に格
納するプログラムを開発する際のプログラム開発環境を
示すブロック図であり、相当部分には図21と同一符号
を付してその説明を省略する。図において、11は図2
1にその構成を示したマイコンであり、12はマイコン
11の内部バス5を外部に引き出した外部バス、13は
この外部バス12によってマイコン11に接続されたエ
ミュレーションメモリであり、このエミュレーションメ
モリ13はマイコン11とともにポッドと呼ばれる部分
に格納されている。14はエミュレーションメモリ13
をマイコン11に接続している外部バス12につながれ
たエミュレータ(以下、ICEという)であり、15は
このICE14に接続された、パーソナルコンピュータ
(以下、パソコンという)あるいはエンジニアリング・
ワーキング・ステーション(以下、EWSという)など
によるホストコンピュータである。16はユーザ基板で
あり、このユーザ基板16上のマイコン11を載せるス
ペースに設置されたソケットには、ポッドよりケーブル
によって引き出されたマイコン11の各端子が接続され
ている。
【0006】なお、マイコン11はプログラムの開発時
だけに使用する特殊なモードを備えており、そのモード
では内蔵しているROM2のアクセスを禁止するととも
に、内部バス5を外部に引き出す機能を用意する必要が
ある。その外部に引き出された外部バス12に、読み出
し/書き込みが可能なメモリ(通常スタティックRAM
が使用される)によるエミュレーションメモリ13を、
ROM2のエミュレーションのために接続する。すなわ
ち、ROM2の代わりにマイコン11の外部に、外部バ
ス12を介して読み出し/書き込みが可能なエミュレー
ションメモリ13を用意し、このエミュレーションメモ
リ13上に開発中のプログラムをおいてマイコン11の
CPU1に実行させ、バグがあれば順次それを修正して
ゆくことによりプログラムを完成させるものである。
【0007】ユーザは通常ホストコンピュータ15上
で、C言語あるいはアセンブラ言語等によってプログラ
ムを記述する。プログラムの記述が終わると、これをコ
ンパイルして16進フォーマットのファイルにし、それ
をICE14に転送する。ICE14はマイコンとエミ
ュレーションメモリ13を接続している外部バス12に
つながっており、この外部バス12を介してホストコン
ピュータ15から送られてきたプログラムコードをエミ
ュレーションメモリ13に転送(ダウンロード)する。
またICE14はこの外部バス12以外にも、デバッグ
時にマイコン11の動作を制御するいくつかの制御信号
(リセット入力、デバッグ割り込み要求入力等)、およ
びマイコン11の動作状況を外部からモニタするための
いくつかのモニタ信号で、マイコン11と接続されてい
る。ICE14はエミュレーションメモリ13にプログ
ラムをダウンロードすると、マイコン11をリセットス
タートさせる。
【0008】これにより、マイコン11はエミュレーシ
ョンメモリ13上のプログラムの実行を開始する。プロ
グラム実行中の外部バス12の信号およびモニタ信号は
ICE14内部のトレースメモリに一時的に蓄えられ
る。このトレースメモリの内容はリアルタイムにホスト
コンピュータ15側から見ることができるようになって
おり、ユーザは自分の作成したプログラムの実行状態を
チェックすることができる。またICE14には、外部
バス12の信号およびモニタ信号を随時監視して、マイ
コン11の動作状態があらかじめ設定した条件に一致し
た場合に、デバッグ専用の割り込みをかけてプログラム
の実行を中断させたり、中断した状態でその時のマイコ
ン11の内部レジスタやメモリの内容を見たり変更した
りする機能を備えている。ユーザはこのような機能を駆
使して、作成したプログラムが意図通りに動作していな
い場合にはその原因を探り、プログラムにミスがあれば
ホストコンピュータ15上でこれを修正し、再度ICE
14を介してエミュレーションメモリ13へダウンロー
ドする。このような操作を繰り返しながらプログラムの
開発作業が進められる。
【0009】
【発明が解決しようとする課題】従来のマイクロコンピ
ュータは以上のように構成されているので、内蔵するR
OM2のアクセスを禁止し、エミュレーションメモリ1
3を外付けするために内部バス5を外部に出力する機能
や、デバッグ専用の割り込み入力を許可したり、ICE
14がマイコン11内部の動作状態を知るためのモニタ
信号を出力する機能を持ったデバッグ時専用の特殊なモ
ードを持つ必要があり、場合によっては、ROM2を内
蔵しないプログラム開発用途専用のチップを準備しなけ
ればならない場合もあるなどの課題があった。
【0010】また、ROM2はチップ内に内蔵されてい
るため高速でアクセスすることができ、これと同等の速
度で外部のエミュレーションメモリ13をアクセスしよ
うとした場合、高価で高速なメモリが必要となり、半導
体プロセスの進歩でチップ内部の動作は年々早くなって
いるため、内蔵されたROM2と同じ速度で外部に接続
したエミュレーションメモリ13をアクセスすること自
体が難しくなりつつあるばかりか、ICE14はマイコ
ン11の内部バス5の信号とモニタ信号を監視して、あ
らかじめ設定された状態を検出した場合に、マイコン1
1に対してデバッグ割り込みを要求してプログラムの実
行を中断させる機能(ブレーク機能)を持つが、状態検
出をしてから割り込み要求までに時間遅延が生じ、割り
込みが受け付けられて実際にプログラムの実行が中断さ
れた時には、最初の設定よりプログラムの実行が先に進
んでしまっていることが多く、さらには、マイコン11
の各端子はポッドからケーブルで引き出されてユーザ基
板16のソケットなどに接続されているため、そのケー
ブル等での信号遅延の影響で、入出力信号のタイミング
がマイコン11をユーザ基板16に直接取り付けた場合
と等価にならないことがあるなどの課題もあった。
【0011】この発明は上記のような課題を解決するた
めになされたもので、マイコン内部にプログラムデバッ
グ時に使用する種々の機能を備えたデバッグ回路を持
ち、かつ同一チップ上に内蔵した電気的に書き込み/消
去が可能なフラッシュメモリをエミュレーションメモリ
として使用することのできるマイクロコンピュータを得
ることを目的とする。
【0012】
【課題を解決するための手段】請求項1記載の発明に係
るマイクロコンピュータは、開発段階のプログラムが格
納される電気的に書き込み/消去が可能なフラッシュメ
モリと、外部のICEと接続するための専用入出力端子
を備えて、CPUとの通信機能、ICEとの通信機能、
CPUの動作状態のトレース機能、デバッグ専用の割り
込みを発生させるブレーク機能、ICEからのプログラ
ムコードをフラッシュメモリに書き込む機能、フラッシ
ュメモリの内容をICEに送る機能を有するデバック回
路を内蔵させたものである。
【0013】請求項2記載の発明に係るマイクロコンピ
ュータは、内蔵されたデバッグ回路を外部のICEと接
続するための専用入出力端子を、データを双方向にやり
とりするデータ端子、やり取りされるデータの同期をと
るためのクロックを双方向に送るクロック端子、および
データ端子とクロック端子の信号の伝搬方向を決める制
御端子によって構成したものである。
【0014】請求項3記載の発明に係るマイクロコンピ
ュータは、書き換え不可能なROMに格納されたプログ
ラムにバグがあるとき、実行アドレスがバグのあるプロ
グラム部分のアドレスになるとデバッグ回路よりデバッ
グ割り込みを発生させ、そのバグのあるプログラム部分
を回避して、別途用意された正しいプログラム部分に置
き換えるようにしたものである。
【0015】請求項4記載の発明に係るマイクロコンピ
ュータは、CPUのプログラム実行が想定されたアドレ
ス範囲外に及ぶとデバッグ回路よりデバッグ割り込みを
発生させ、暴走検出を行うようにしたものである。
【0016】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1はこの発明の実施の形態1によるメ
モリ内蔵型のマイコンの構成を示すブロック図である。
図において、1は当該マイコンの全体制御を掌握するC
PUであり、2はこのCPU1を動作させるためのプロ
グラムが格納されるROMである。3はCPU1がRO
M2に格納されたプログラムを実行する際に用いるRA
Mであり、4はタイマ、アナログ/ディジタル変換器、
シリアル入出力回路などによるこのマイコンの周辺機能
である。5はこれらCPU1、ROM2、RAM3、お
よび周辺機能4を接続している内部バスであり、5aは
この内部バス5を形成するアドレスバス、5bは同じく
データバス、5cは同じく制御バスである。なお、これ
らの各部は図21に同一符号を付して示した従来のマイ
コンにおけるそれらと同等のものである。
【0017】また、6はROM2に格納されるプログラ
ムの開発段階のプログラムが格納され、当該プログラム
開発時のシミュレーションメモリとして使用される、電
気的に書き込みおよび消去することが可能なフラッシュ
メモリである。7は内部バス5を介してCPU1に接続
され、CPU1との通信機能、当該マイコンの外部に接
続されるICEとの通信機能、CPU1の動作状態のト
レース機能、デバッグ専用の割り込みを発生させるブレ
ーク機能、フラッシュメモリ6のリード/プログラム/
イレーズなどを行うダウンロード機能を有するデバック
回路である。8はこのデバッグ回路7と外部のICEと
を接続するための専用入出力端子であり、データを双方
向にやりとりするデータ端子としてのGDバス8a(G
D7〜GD0)、やり取りされるデータの同期をとるた
めのクロックを双方向に送るクロック端子としてのGC
LK* 端子8b、およびGDバス8aとGCLK* 端子
8bの信号の伝搬方向を決めるGOE* 端子8cや、V
pp端子8d、RESET* 端子8eなどの制御端子に
て構成されている。
【0018】また、図2はマイコンのROM2に格納す
るプログラムを開発する際のプログラム開発環境を示す
ブロック図である。図において、11は図1にその構成
を示したマイコンであり、14はこのマイコン11の外
部に接続されたICE、15はこのICE14に接続さ
れた、パソコンあるいはEWSなどによるホストコンピ
ュータである。16はユーザ基板であり、このユーザ基
板16にはマイコン11が直接搭載されている。17は
ユーザ基板16に設けられ、マイコン11の専用入出力
端子8とICE14を接続するためのケーブルとを結合
するためのコネクタである。
【0019】さらに、図3はそのマイコン11に内蔵さ
れた上記デバッグ回路7の構成を示すブロック図であ
る。図において、21はデバッグ制御レジスタ(0)、
22はデバッグ制御レジスタ(1)であり、これらデバ
ッグ制御レジスタ(0)21およびデバッグ制御レジス
タ(1)22は内部バス5のアドレスバス5a(A19
〜A0)、データバス5b(D15〜D0)、および制
御バス5cによってマイコン11のCPU1と接続さ
れ、その内容をCPU1から読み出し/書き込みができ
るようになっている。また、これらデバッグ制御レジス
タ(0)21とデバッグ制御レジスタ(1)22は、G
Dバス8aおよびGCLK* 端子8bを介して、その内
容をマイコン11の外部に接続したICE14から読み
出し/書き込みすることもできる。なお、このデバッグ
制御レジスタ(0)21およびデバッグ制御レジスタ
(1)22はともに8ビット長のレジスタによって形成
されており、それぞれの各ビットの内容によって、後述
するブレーク/トレース/ダウンロードの各機能を選択
したり、それら各機能の動作条件を設定したりすること
ができる。
【0020】これらデバッグ制御レジスタ(0)21お
よびデバッグ制御レジスタ(1)22のビット構成を図
4に示す。図4(a)にはデバッグ制御レジスタ(0)
21のビット構成が示されており、その第6ビットはト
レースモードの禁止/許可を選択するためのビット、第
5ビットはブレークモードの禁止/許可を選択するため
のビット、第4ビット〜第3ビットはオペコードアドレ
ス、データ読み出し、データ書き込み、データ読み出し
・書き込みなどのイベント検出サイクルを選択するため
のビットであり、第2ビット〜第0ビットはアドレス・
データ一致検出、アドレス一致検出、アドレス範囲検出
などのブレーク検出条件を選択するためのビットであ
る。また、図4(b)にはデバッグ制御レジスタ(1)
22のビット構成が示されており、その第4ビットはデ
バッグ割り込み要求のためのビット、第3ビットはサー
ビスエンドフラグのためのビット、第2ビットはサービ
スリクエストフラグのためのビット、第1ビットはビジ
ー(BUSY)フラグのためのビットであり、第0ビッ
トはダウンロードの禁止/許可を選択するためのビット
である。
【0021】また、図3において、23はアドレス比較
レジスタ(0)、24はアドレス比較レジスタ(1)で
あり、これらアドレス比較レジスタ(0)23およびア
ドレス比較レジスタ(1)24は、ブレークモード時に
ブレーク検出を行う際のアドレス条件を設定する20ビ
ット長のレジスタにて形成されている。ただし、アドレ
ス比較レジスタ(0)23は後述するデータ比較レジス
タの内容をビット単位でマスクするマスクレジスタとし
ての機能も持っている。このアドレス比較レジスタ
(0)23とアドレス比較レジスタ(1)24は、デバ
ッグ制御レジスタ(0)21およびデバッグ制御レジス
タ(1)22と同様に、CPU1およびICE14の両
者からその内容を読み出し/書き込みすることができる
ようになっている。
【0022】25は前記データ比較レジスタであり、ブ
レークモード時にブレーク検出を行う際のデータ条件を
設定する16ビット長のレジスタにて形成されている。
このデータ比較レジスタ25もまた、CPU1およびI
CE14の両者からその内容の読み出し/書き込みが行
えるようになっている。
【0023】26は各々が8ビット長の8本のレジスタ
で形成されたデバッグレジスタであり、それぞれデバッ
グレジスタ(0)、デバッグレジスタ(1)、・・・
・、デバッグレジスタ(7)と命名されている。このデ
バッグレジスタ26はプログラムのデバッグを行う際
に、CPU1とICE14との間でデータのやり取りを
する時のバッファレジスタの役割を担っている。なお、
このデバッグレジスタ26もまた、CPU1およびIC
E14の両者からその内容の読み出し/書き込みが行え
るようになっている。
【0024】27はアドレス一致比較回路(0)であ
り、このアドレス一致比較回路(0)27はアドレス比
較レジスタ(0)23の内容とCPU1からアドレスバ
ス5aに出力されるアドレス信号(A19〜A0)を随
時比較し、両者の内容が一致する場合にA0EQ信号を
“H”レベルに、また後者が前者より大きい場合にA0
GT信号を“H”レベルにするものである。なお、これ
らのA0EQ信号およびA0GT信号は後述するイベン
ト検出回路に送られる。
【0025】28はアドレス一致比較回路(1)であ
り、このアドレス一致比較回路(1)28はアドレス比
較レジスタ(1)24の内容とCPU1からアドレスバ
ス5aに出力されるアドレス信号(A19〜A0)を随
時比較し、両者の内容が一致する場合にA1EQ信号を
“H”レベルに、また後者が前者より小さい場合にA1
LT信号を“H”レベルにするものである。なお、これ
らのA1EQ信号およびA1LT信号も、後述するイベ
ント検出回路に送られる。
【0026】29はデータ一致回路であり、このデータ
一致回路29はデータ比較レジスタ25の内容とデータ
バス5b上の信号(D15〜D0)を随時比較し、両者
の内容が一致する場合にDEQ信号を“H”レベルにす
るものである。ただし、デバッグ制御レジスタ(0)2
1の内容によって、データ比較レジスタ25の内容をア
ドレス比較レジスタ(0)23の内容でマスクする機能
が有効なモードを選択した場合には、アドレス比較レジ
スタ(0)23の第15ビット〜第0ビットの内の
“1”が設定されたビットに対応するデータ比較レジス
タ25のビット内容は、このデータ一致回路29で比較
される時にマスクされる。
【0027】30は前述のイベント検出回路であり、こ
のイベント検出回路30は、デバッグ制御レジスタ
(0)21およびデバッグ制御レジスタ(1)22から
イベント検出の許可/禁止、種類/条件の情報を受け取
り、この情報に基づいてアドレス一致比較回路(0)2
7、アドレス一致比較回路(1)28、およびデータ一
致回路29からのA0EQ、A0GT、A1EQ、A1
LT、DEQの各信号、およびCPU1から送られてく
るROPC、RDA、RDT、RWCPUの各モニタ信
号を受け取り、それに基づいてCPU1の動作が指定さ
れたイベントに合致したと判断するとDBC* 信号を
“L”レベルにして、CPU1に対するデバッグ割り込
みを発生するものである。
【0028】31はコードアドレスラッチ回路であり、
このコードアドレスラッチ回路31は20ビット長のラ
ッチ回路にて形成されており、CPU1から送られてく
るアドレス信号のうち、CPU1が現在実行しているプ
ログラムの番地を示すコードアドレスを一時的に蓄える
ものである。なお、このコードアドレスラッチ回路31
の内容は、トレース機能が有効な時に、後述するトレー
ス制御回路からの指示でGDバス8aに出力され、トレ
ース情報としてICE14に送られる。
【0029】32はデータアドレスラッチ回路であり、
このデータアドレスラッチ回路32も20ビット長のラ
ッチ回路にて形成されており、CPU1から送られてく
るアドレス信号のうち、CPU1が現在実行しているデ
ータのリード/ライトの番地を示すデータアドレスを一
時的に蓄えるものである。なお、このデータアドレスラ
ッチ回路32の内容も、トレース機能が有効な時に、後
述するトレース制御回路からの指示でGDバス8aに出
力され、トレース情報としてICE14に送られる。
【0030】33はデータラッチ回路であり、このデー
タラッチ回路33は16ビット長のラッチ回路にて形成
されており、データバス5b上に出力されるCPU1の
読み出しデータもしくは書き込みデータを一時的に蓄え
るものである。なお、このデータラッチ回路33の内容
は、トレース機能が有効な時に、後述するトレース制御
回路からの指示でGDバス8aに出力され、トレース情
報としてICE14に送られる。
【0031】34はトレース制御回路であり、このトレ
ース制御回路34はデバッグ制御レジスタ(0)21お
よびデバッグ制御レジスタ(1)22に設定された内容
にしたがって、CPU1の動作によって変化するアドレ
スバス5aの内容(A19〜A0)およびデータバス5
bの内容(D15〜D0)を、一旦コードアドレスラッ
チ回路31、データアドレスラッチ回路32、あるいは
データラッチ回路33のラッチに蓄え、適宜GDバス8
aからICE14にトレース情報として出力する制御を
行うものである。
【0032】35はレジスタ制御回路であり、このレジ
スタ制御回路35は内部にコマンドラッチ回路を備えて
おり、ICE14からGDバス8aを介して、デバッグ
制御レジスタ(0)21、デバッグ制御レジスタ(1)
22、アドレス比較レジスタ(0)23、アドレス比較
レジスタ(1)24、データ比較レジスタ25、あるい
はデバッグレジスタ26の内容を読み書きする制御を行
うものである。
【0033】36はダウンロード制御回路であり、この
ダウンロード制御回路36は内部にデータラッチ回路、
アドレスラッチ回路(H)、アドレスラッチ回路
(L)、コマンドラッチ回路、デコード回路等を備え、
ICE14からGDバス8aを介して送られてくるプロ
グラムを、内部バス5に接続されたフラッシュメモリ6
に書き込むためのダウンロード機能を制御するものであ
る。
【0034】次にその動作を、内蔵したデバッグ回路7
の動作と、そのデバッグ回路7を用いたプログラムのデ
バッグ処理動作についてそれぞれ説明する。なお、デバ
ッグ回路7の動作については、CPU1とデバッグ回路
7との通信、ICE14とデバッグ回路7との通信、ブ
レーク機能、トレース機能、およびダウンロード機能に
分けてそれぞれ説明する。
【0035】まず、デバッグ回路7の動作について、C
PU1とデバッグ回路7との通信に関する説明を行う。
マイコン11に内蔵されたデバッグ回路7内のデバッグ
制御レジスタ(0)21、デバッグ制御レジスタ(1)
22、アドレス比較レジスタ(0)23、アドレス比較
レジスタ(1)24、データ比較レジスタ25、および
デバッグレジスタ26は、前述のようにCPU1から読
み出し/書き込みが可能に構成されている。これらの各
レジスタ21〜26にはメモリ空間内の特定アドレスが
割り振られており、CPU1が持つ通常の読み出しある
いは書き込み命令によって、これら各レジスタ21〜2
6のアドレスを指定することにより、その読み出し/書
き込みが実行される。なお、この実施の形態1における
各レジスタ21〜26のアドレス配置を図5に示す。図
示の例によれば、デバッグ制御レジスタ(0)21には
番地“00066H ”が割り当てられ、デバッグ制御レ
ジスタ(1)22には番地“00067H ”が割り当て
られている。
【0036】ここで、CPU1からのデバッグ回路7の
内部の各種レジスタ21〜26の書き込み/読み出しの
タイミングの一例として、デバッグ制御レジスタ(0)
21およびデバッグ制御レジスタ(1)22への書き込
み/読み出しのタイミングを図6に示す。なお、図6
(a)にはデバッグ制御レジスタ(0)21の読み出し
タイミングが、図6(b)にはデバッグ制御レジスタ
(1)22への書き込みタイミングがそれぞれ示されて
いる。
【0037】図において、φはマイコン11を動作させ
る基準クロック、A19〜A0はアドレスバス5a上の
番地であり、DRLE* 、DRHE* 、DWLE* 、お
よびDWHE* は制御バス5c上の制御信号、D7〜D
0はデータバス5bの下位側のデータ、D15〜D8は
同じくデータバス5bの上位側のデータである。なお、
偶数番地に配置されるレジスタはデータバス5bの下位
側(D7〜D0)に、奇数番地に配置されるレジスタは
データバス5bの上位側(D15〜D8)に接続されて
いる。したがって、番地“00066H ”が割り当てら
れたデバッグ制御レジスタ(0)21はデータバス5b
の下位側(D7〜D0)に、番地“00067H ”が割
り当てられたデバッグ制御レジスタ(1)22はデータ
バス5bの上位側(D15〜D8)にそれぞれ接続され
ている。
【0038】また、前記制御信号中のDRLE* 信号と
DRHE* 信号は読み出しタイミングを示すものであ
り、DWLE* 信号とDWHE* 信号は書き込みタイミ
ングを示すものである。なお、上記DRLE* 信号およ
びDWLE* 信号はデータバス5bの下位側(D7〜D
0)の読み出し/書き込みのタイミングを示し、DRH
* 信号およびDWHE* 信号はデータバス5bの上位
側(D15〜D8)の読み出し書き込みのタイミングを
示している。したがって、図6(a)に示すように、読
み出しタイミングを示す制御信号DRLE* が“L”レ
ベルに変化すると、その時のアドレスバス5a上の番地
“00066H ”が示すデバッグ制御レジスタ(0)2
1より読み出されたデータが、データバス5bの下位側
(D7〜D0)にてCPU1に送られる。また、図6
(b)に示すように、書き込みタイミングを示す制御信
号DWHE* が“L”レベルに変化すると、CPU1か
らデータバス5bの上位側(D15〜D8)に送出され
た書き込みデータが、その時のアドレスバス5a上の番
地“00067H ”が示すデバッグ制御レジスタ(1)
22に書き込まれる。このようにして、マイコン11内
のCPU1とデバッグ回路7との間で通信が行われる。
【0039】次に、マイコン11の外部に接続されたI
CE14とマイコン11に内蔵されたデバッグ回路7と
の通信について説明する。ICE14とデバッグ回路7
内の各種レジスタ21〜26との間のデータ転送は、デ
バッグ回路7のGCLK* 端子8b、GOE* 端子8c
およびGDバス8aとICE14を接続して、ICE1
4側からコマンドを入力して読み出し/書き込みを行う
方式によって実行される。ここで、GCLK* 端子8b
に入力される信号はICE14からの同期クロックであ
り、デバッグ回路7への書き込みにおいてはこの同期ク
ロックの立ち上がりに同期して、GDバス8aからのデ
ータがデバッグ回路7内の各種レジスタ21〜26に取
り込まれる。また、デバッグ回路7からの読み出しにお
いては、GCLK* 端子8bの同期クロックの立ち下が
りに同期して、デバッグ回路7内の各種レジスタ21〜
26のデータがGDバス8aから出力される。また、G
OE* 端子8cに入力される信号はICE14からのア
ウトプットイネーブル信号であり、GDバス8aを介し
てICE14からデバッグ回路7にデータを入力する時
には“H”レベルにし、デバッグ回路7からICE14
にデータを読み出す時には“L”レベルにする。
【0040】ここで、ICE14からデバッグ回路7内
の各種レジスタ21〜26を読み出す時のタイミングを
図7に示す。まずGCLK* 端子8bのクロックの立ち
上がりエッジでGDバス8aからレジスタ読み出しコマ
ンドを入力する。図8はレジスタ読み出し/書き込みコ
マンドのフォーマットを示す説明図で、図示のように、
その上位の3ビット(第7ビット〜第5ビット)はコマ
ンドを示すフィールドとなっていて、それが“001”
のときレジスタ読み出しコマンドであることを示してい
る。なお、下位の5ビット(第4ビット〜第0ビット)
はアドレスを示すフィールドとなっており、どのレジス
タ21〜26を読み出すかをこのビットの内容で示して
いる。
【0041】GDバス8aから入力されたコマンドはレ
ジスタ制御回路35に送られ、当該レジスタ制御回路3
5内のコマンドラッチ回路に格納される。レジスタ制御
回路35はコマンドラッチ回路に格納されたコマンドの
第7ビット〜第5ビットの“001”をデコードするこ
とにより、それがレジスタ読み出しコマンドであること
がわかる。次にICE14はGOE* 端子8cの信号を
“L”レベルにしてGDバス8aを出力状態にし、続い
てGCLK* 端子8bの同期クロックを“L”レベルに
する。これを受けたレジスタ制御回路35はこの同期ク
ロックの立ち下がりに同期して、コマンドラッチ回路の
第4ビット〜第0ビットの内容で指定されるレジスタ2
1〜26に対して読み出し信号(#7、#9、#11、
#13、#15、#17)を送る。これにより指定され
たレジスタ21〜26の内容がGDバス8aに読み出さ
れて、外部に接続されたICE14に送られる。
【0042】次に、ICE14からデバッグ回路7内の
各種レジスタ21〜26にデータを書き込む時のタイミ
ングを図9に示す。なお、図9(a)はデバッグ制御レ
ジスタ(0)21またはデバッグ制御レジスタ(1)2
2にデータを書き込む場合のタイミングを示し、図9
(b)はそれ以外のアドレス比較レジスタ(0)23、
アドレス比較レジスタ(1)24、データ比較レジスタ
25、およびデバッグレジスタ26にデータを書き込む
場合のタイミングを示している。
【0043】ここで、デバッグ制御レジスタ(0)21
またはデバッグ制御レジスタ(1)22にデータを書き
込む場合には、GDバス8aから1回のデータ入力で書
き込みが行われ、それ以外の各レジスタ23〜26に関
しては、レジスタ書き込みコマンドの入力と書き込みデ
ータの入力2回の入力動作によって書き込みが実行され
る。したがって、このレジスタ書き込みコマンドのフォ
ーマットは前記図8に示したように、デバッグ制御レジ
スタ(0)21へのレジスタ書き込みコマンドはその第
7ビットを“1”として下位の6ビットを書き込みデー
タのためのフィールドとし、デバッグ制御レジスタ
(1)22へのレジスタ書き込みコマンドはその第7ビ
ットおよび第6ビットを“01”として下位の5ビット
を書き込みデータのためのフィールドとしている。ま
た、それ以外の各レジスタ23〜26へのレジスタ書き
込みコマンドはその第7ビット〜第5ビットを“00
0”として下位の5ビットを読み出すレジスタ23〜2
6のアドレスを示すフィールドとしている。
【0044】レジスタ制御回路35は図9(a)に示す
ように、GCLK* 端子8bの同期クロックの立ち上が
りエッジでGDバス8aからコマンドが入力されると、
それをコマンドラッチ回路に格納してその内容のデコー
ドを行う。その結果、第7ビットが“1”であれば、そ
れがデバッグ制御レジスタ(0)21へのレジスタ書き
込みコマンドであると判断して、デバッグ制御レジスタ
(0)21に書き込み信号(#14)を送る。これによ
り、GDバス8a上の下位7ビット(GD6〜GD0)
の内容がデバッグ制御レジスタ(0)21に書き込まれ
る。同様にして、第7ビットおよび第6ビットが“0
1”であれば、そのコマンドがデバッグ制御レジスタ
(1)22へのレジスタ書き込みコマンドであると判断
して、デバッグ制御レジスタ(1)22に書き込み信号
(#16)を送る。これにより、GDバス上8aの下位
6ビット(GD5〜GD0)の内容がデバッグ制御レジ
スタ(1)22に書き込まれる。このようにして、デバ
ッグ制御レジスタ(0)21およびデバッグ制御レジス
タ(1)22への書き込みは、GDバス8aからの1回
の入力で実行される。
【0045】一方、レジスタ制御回路35内のコマンド
ラッチ回路の第7ビット〜第5ビットの内容が“00
0”であった場合には、そのコマンドはデバッグ制御レ
ジスタ(0)21およびデバッグ制御レジスタ(1)2
2以外のレジスタ23〜26へのレジスタ書き込みコマ
ンドであり、その第4ビット〜第0ビットがどのレジス
タ23〜26に書き込むかのアドレス情報であると判断
し、次の書き込みデータの入力を待つ。ICE14は図
9(b)に示すように、GOE* 端子8cの信号を
“L”レベルにして、GCLK* 端子8bの同期クロッ
クを“L”レベルにし、この同期クロックの立ち下がり
に同期して書き込みデータをGDバス8aに送出する。
書き込みデータがGDバス8aに入力されると、レジス
タ制御回路35はこの同期クロックの立ち下がりに同期
して、コマンドラッチ回路の第4ビット〜第0ビットの
内容によって指定されるレジスタ23〜26に対して、
書き込み信号(#8、#10、#12、あるいは#1
8)を送る。このようにして、マイコン11の外部に接
続されたICE14とマイコン11に内蔵されたデバッ
グ回路7との間で通信が行われる。
【0046】次にブレーク機能の動作について説明す
る。ここで、ブレーク機能とはマイコン11のCPU1
がユーザプログラムを実行する状態を、マイコン11に
内蔵されたデバッグ回路7が監視し、CPU1の動作状
態がデバッグ制御レジスタ(0)21およびデバッグ制
御レジスタ(1)22に設定した状態と合致した時に、
デバッグ割り込みを発生させてユーザプログラムを中断
させる機能である。
【0047】図4(a)に示すように、デバッグ制御レ
ジスタ(0)21の第5ビットはブレークモード許可ビ
ットであり、ブレーク機能はそれを“1”にセットする
ことによって有効になり、“0”にセットすることによ
って無効となる。また、第2ビット〜第0ビットはブレ
ーク検出条件選択ビットで、このビットの内容によって
ブレークを検出する条件の選択を行う。なお、ブレーク
検出条件はアドレス・データ一致検出、アドレス一致検
出(0)、アドレス一致検出(1)、アドレス一致検出
(2)、アドレス範囲内検出、アドレス範囲外検出のう
ちからその1つを選択することができる。以下、その各
々について順次説明する。
【0048】アドレス・データ一致検出はデバッグ制御
レジスタ(0)21の第2ビット〜第0ビットの内容が
“000”の時に選択される。この場合、CPU1がデ
ータの読み出しあるいは書き込みを行う際に、その読み
出し/書き込みアドレスとアドレス比較レジスタ(1)
24の内容が一致し、かつ読み出しあるいは書き込みデ
ータがデータ比較レジスタ25の内容と一致した時、デ
バッグ割り込みを発生させる。先に述べたように、この
データ比較レジスタ25の内容はアドレス比較レジスタ
(0)23の内容にてマスクすることができる。すなわ
ち、アドレス比較レジスタ(0)23の下位16ビット
がデータ比較レジスタ25の各ビットに対応し、アドレ
ス比較レジスタ(0)23のビットが“1”の時、デー
タ比較レジスタ25の対応するビットがマスクされる。
【0049】アドレス一致検出(0)はデバッグ制御レ
ジスタ(0)21の第2ビット〜第0ビットの内容が
“001”の時に選択される。この場合、CPU1から
の出力アドレスがアドレス比較レジスタ(0)23の内
容と一致した時にデバッグ割り込みを発生させる。
【0050】アドレス一致検出(1)はデバッグ制御レ
ジスタ(0)21の第2ビット〜第0ビットの内容が
“010”の時に選択される。この場合、CPU1から
の出力アドレスがアドレス比較レジスタ(1)24の内
容と一致した時にデバッグ割り込みを発生させる。
【0051】アドレス一致検出(2)はデバッグ制御レ
ジスタ(0)21の第2ビット〜第0ビットの内容が
“011”の時に選択される。この場合、CPU1から
の出力アドレスがアドレス比較レジスタ(0)23また
はアドレス比較レジスタ(1)24の内容と一致した時
にデバッグ割り込みを発生させる。
【0052】アドレス範囲内検出はデバッグ制御レジス
タ(0)21の第2ビット〜第0ビットの内容が“10
0”の時に選択される。この場合、CPU1からの出力
アドレスがアドレス比較レジスタ(0)23の内容以上
であり、かつアドレス比較レジスタ(1)24の内容以
下である時にデバッグ割り込みを発生させる。
【0053】アドレス範囲外検出はデバッグ制御レジス
タ(0)21の第2ビット〜第0ビットの内容が“10
1”の時に選択される。この場合、CPU1からの出力
アドレスがアドレス比較レジスタ(0)23の内容より
も小さいか、アドレス比較レジスタ(1)24の内容よ
りも大きい時にデバッグ割り込みを発生させる。
【0054】また、デバッグ制御レジスタ(0)21の
第4ビット〜第3ビットはイベント検出サイクル選択ビ
ットで、このビットの内容によってブレークを検出する
イベントの種類の選択を行う。なお、イベントの種類は
オペコードアドレス、データ読み出し、データ書き込
み、データ読み出し・書き込みのうちからその1つを選
択することができる。以下、その各々について順次説明
する。
【0055】オペコードアドレスはデバッグ制御レジス
タ(0)21の第4ビット〜第3ビットの内容が“0
0”の時に選択される。この場合には、CPU1が命令
の第1バイト、すなわちオペコードを読み出す時のアド
レスが、デバッグ制御レジスタ(0)21の第2ビット
〜第0ビットにおけるブレーク検出条件選択ビットで選
択された条件の検出対象となる。
【0056】データ読み出しはデバッグ制御レジスタ
(0)21の第4ビット〜第3ビットの内容が“01”
の時に選択される。この場合、CPU1がデータを読み
出す時のアドレスまたはデータが、デバッグ制御レジス
タ(0)21の第2ビット〜第0ビットにおけるブレー
ク検出条件選択ビットで選択された条件の検出対象とな
る。
【0057】データ書き込みはデバッグ制御レジスタ
(0)21の第4ビット〜第3ビットの内容が“10”
の時に選択される。この場合、CPU1がデータを書き
込む時のアドレスまたはデータが、デバッグ制御レジス
タ(0)21の第2ビット〜第0ビットにおけるブレー
ク検出条件選択ビットで選択された条件の検出対象とな
る。
【0058】データ読み出し・書き込みはデバッグ制御
レジスタ(0)21の第4ビット〜第3ビットの内容が
“11”の時に選択される。この場合、CPU1がデー
タ転送命令などにおけるデータの読み出し/書き込みを
連続して行う場合のアドレスまたはデータが、デバッグ
制御レジスタ(0)21の第2ビット〜第0ビットにお
けるブレーク検出条件選択ビットで選択された条件の検
出対象となる。
【0059】また、先に述べたように、アドレス比較レ
ジスタ(0)23、アドレス比較レジスタ(1)24、
およびデータ比較レジスタ25の内容は、アドレス一致
比較回路(0)27、アドレス一致比較回路(1)2
8、およびデータ一致回路29によってCPU1から入
出力されるアドレスバス5a上のアドレス信号(A19
〜A0)およびバス5b上のデータ信号(D15〜D
0)とリアルタイムに、その一致あるいは大小関係が判
定されており、その結果が信号A0EQ、A0GT、A
1EQ、A1LT、DEQとしてイベント検出回路30
に送られる。イベント検出回路30ではこれらの各信号
と、CPU1から送られてくるその動作状態を表すモニ
タ信号ROPC、RDA、RDT、RWCPUとから、
デバッグ制御レジスタ(0)21で設定されたイベント
の種類/検出条件が満足されるか否かを逐次監視し、満
足した時にはDBC* 信号を“L”レベルにしてCPU
1に対してデバッグ割り込みを要求する。
【0060】なお、上記ROPC信号はCPU1がオペ
コードを読み出す時に出力される信号であり、RDA信
号はCPU1がデータのアクセスアドレスを出力する時
に出力される信号、RDT信号はCPU1が読み出した
データをとり込む時に出力される信号、RWCPU信号
はCPU1のデータアクセスが読み出し(“H”レベ
ル)か、書き込み(“L”レベル)かを示す信号であ
る。
【0061】以上のような、CPU1の動作状態を監視
してあらかじめ設定された条件に一致した時にデバッグ
割り込みを発生させる以外に、このCPU1の動作とは
無関係に、マイコン11の外部に接続されたICE14
より任意のタイミングでデバッグ割り込みの発生を要求
する機能も持っている。すなわち、ICE14からデバ
ッグ制御レジスタ(1)22への書き込みコマンドを用
いて、その第4ビットを“1”にセットすると、イベン
ト検出回路30ではCPU1に対しデバッグ割り込みを
要求する。
【0062】次にトレース機能の動作について説明す
る。図4(a)に示すように、デバッグ制御レジスタ
(0)21の第6ビットはトレースモード許可ビットで
あり、このビットを“1”にセットすることによってト
レース機能が有効になる。トレースモード許可ビットが
セットされ、かつGOE* 端子8cに入力される信号が
“L”レベルになると、トレース制御回路34では後述
するトレース出力すべき条件を検出するごとに、GCL
* 端子8bからクロックを出力し、これに同期させて
GDバス8aから8ビット単位でトレースデータを出力
する。なお、このトレースデータにはコードトレースと
データトレースの2種類がある。
【0063】コードトレースはCPU1の動作に応じ
て、以下の内容のアドレス情報をトレースデータとして
出力するものである。すなわち、 (1) リセット解除後のプログラム実行開始番地 (2) 割り込み要求受け付け時のオペコートアドレス
および割り込み処理のプログラム実行開始番地 (3) 分岐命令のオペコートアドレスおよび分岐先番
地 の3種類である。
【0064】このトレースデータ(アドレス情報)は3
バイト構成となっており、図10に示すように、GCL
* 端子8bのクロックに同期して上位アドレス、中位
アドレス、下位アドレスの順に出力する。なお、1バイ
ト目に出力される上位アドレスの上位4ビット(第7ビ
ット〜第4ビット)はトレース属性であり、図11に示
すように、以下に続くアドレス情報が上記(1),
(2),(3)のいずれであるかを示している。また、
その下位4ビット(第3ビット〜第0ビット)はアドレ
スA19〜A16であり、2バイト目に出力される中位
アドレスはアドレスA15〜A8、3バイト目に出力さ
れる下位アドレスはアドレスA7〜A0である。
【0065】このデータトレースは図12あるいは図1
3に示すように、GCLK* 端子8bのクロックに同期
して、CPU1がデータを読み出したり書き込んだりす
る時のアドレスとデータを、5バイトまたは8バイトの
データで出力するものである。図12はデータの読み出
し/書き込みの場合のトレース出力例を示しており、こ
の場合は通常5バイトのトレースデータが出力される。
すなわち、その最初の3バイトで読み出しアドレスある
いは書き込みアドレスの上位アドレス、中位アドレス、
および下位アドレスが、次の2バイトで読み出しデータ
あるいは書き込みデータの上位データと下位データが順
番に出力される。なお、1バイト目の上位4ビットはコ
ードトレースの場合と同様にトレース属性であり、図1
1に示すようにデータの読み出し/書き込みの種類を表
している。
【0066】また、図13にはデータの読み出しと書き
込みを連続して行うデータ転送命令の場合のトレース出
力例を示しており、この場合には8バイトのトレースデ
ータが出力され、その最初の3バイトで転送元アドレス
の上位アドレス、中位アドレスおよび下位アドレスが、
それに続く3バイトで転送先アドレスの上位アドレス、
中位アドレスおよび下位アドレスが、最後の2バイトで
転送データの上位データ、下位データが順番に出力され
る。なお、この場合も、転送元アドレスおよび転送先ア
ドレスの上位アドレスにおける上位4ビットは、コード
トレースの場合と同様にトレース属性であり、図11に
示すようにデータの読み出し/書き込みの種類を表して
いる。
【0067】ここで、トレース出力を停止させてICE
14側からGDバス8aを介してデバッグ回路7と通信
したい場合には、ICE14はまずGOE* 端子8cの
信号を“H”レベルにする。このGOE* 端子8cの信
号が“H”レベルになるとトレース制御回路34は、そ
の時点で実行中のトレース出力を完了した後、GCLK
* 端子8bのクロックの1回の立ち下がりに同期させ
て、GDバス8aに“4XH ”という認識コードを送
る。その後、GCLK* 端子8bとGDバス8aを出力
から入力に切り替える。ICE14はこの“4XH ”と
いう認識コードを受け取ることにより、GCLK* 端子
8bとGDバス8aが入力状態になったことを知り、以
後、前述のICE14とデバッグ回路7との通信動作に
おいて説明した方法によって、デバッグ回路7の各レジ
スタ21〜26に対して読み出し/書き込みを実行す
る。
【0068】また、前述のブレーク機能を使用する場合
には、通常、トレース機能も有効にする。すなわち、ユ
ーザプログラムを実行中にイベント検出回路30によっ
てブレーク条件を検出し、デバッグ割り込み要求が発生
すると、トレース制御回路34は現在実行中のトレース
出力完了後、GCLK* 端子8bのクロックの1回の立
ち下がりに同期させて、GDバス8aに“8XH ”とい
う認識コードを出力し、ICE14に対してブレーク検
出によるデバッグ割り込みの発生によってユーザプログ
ラムの実行が中断されたことを知らせる。
【0069】次にダウンロード機能の動作について説明
する。ダウンロードは、マイコン11に内蔵されたフラ
ッシュメモリ6に対して、リード/プログラム/イレー
ズなどの操作を、GDバス8aを介して行う機能であ
る。デバッグ回路7は以下の手順に従って、このダウン
ロードを実行するためのダウンロードモードに移行す
る。すなわち、まずRESET* 端子8eを“L”レベ
ルにしてマイコン11をリセット状態にする。このリセ
ット状態においては、マイコン11のCPU1は内部の
アドレスバス5a、データバス5bから切り離され、こ
れに代わってダウンロード制御回路36が接続される。
次に、デバッグ制御レジスタ(1)22の第0ビットを
“1”に設定し、その後Vpp端子8dを0vから12
vにする。これによってデバッグ回路7はダウンロード
モードに移行する。
【0070】なお、このダウンロードモードにおいて
は、ICE14からデバッグ回路7のダウンロード制御
回路36を介して、マイコン11内のフラッシュメモリ
6に対するリード、プログラム、プログラムベリファ
イ、およびオートイレーズの4つのコマンドを発行する
ことができる。
【0071】フラッシュメモリ6自体はすでに実用化さ
れている公知のものであり、その入出力信号を図14に
示す。このフラッシュメモリ6の読み出し/書き込み/
消去動作は、図14に示すアドレス(A15〜A0)入
力、データ(D7〜D0)入出力、CE* 、OE* 、W
* の各制御入力、Vpp入力、およびビジー(BUS
Y)出力によって操作される。したがって、デバッグ回
路7内のダウンロード制御回路36の役割は、ICE1
4よりGDバス8aを経由して8ビット単位で送られて
くるデータを、マイコン11内部のアドレスバス5aお
よびデータバス5bを介してフラッシュメモリ6に送る
とともに、CE* 、OE* およびWE*の各信号を必要
なタイミングで生成して、同じくフラッシュメモリ6へ
送ることである。以下、リード、プログラム、プログラ
ムベリファイ、オートイレーズの各コマンド実行時にお
ける、ICE14からのデータ入出力タイミング、およ
びダウンロード制御回路36とフラッシュメモリ6間の
信号の動作タイミングについて説明する。
【0072】まずリードコマンド実行時の動作について
説明する。ここで、図15はリードコマンド実行時のダ
ウンロード制御回路36の動作タイミングを示すタイミ
ングチャートである。まず最初に、ICE14側からG
CLK* 端子8bのクロックに同期して、GDバス8a
よりコマンドコード(リードコマンドの場合は“00
H ”)を入力する。ダウンロードモードの場合、このコ
マンドコードはダウンロード制御回路36内のデータラ
ッチ回路にラッチされるとともに、データバス5bの下
位側(D7〜D0)に出力される。またダウンロード制
御回路36ではGCLK* 端子8bのクロックに同期し
たWE* 信号を生成してフラッシュメモリ6に送る。フ
ラッシュメモリ6はデータバス5bの下位側(D7〜D
0)上に出力されたこのコマンドコードを、このWE*
信号に同期してラッチする。
【0073】また同時に、ダウンロード制御回路36で
はデータラッチ回路の内容がコマンドラッチ回路よりデ
コード回路に送られてデコードされ、当該コマンドがリ
ードコマンドであることが解釈される。このデコード結
果に基づいて、ICE14からの2回目の入力はリード
アドレスの下位側と判断され、それがアドレスラッチ回
路(L)にラッチされるとともに、アドレスバス5aの
下位側(A7〜A0)に出力されてフラッシュメモリ6
に入力される。さらにICE14からの3回目の入力は
リードアドレスの上位側と判断されてアドレスラッチ回
路(H)ラッチされるとともに、アドレスバス5aの上
位側(A15〜A8)に出力され、同様にフラッシュメ
モリ6に入力される。
【0074】続いて、ICE14はGOE* 端子8cの
信号を“L”レベルにしてGDバス8aを出力状態にし
た後、GCLK* 端子8bからのクロックを入力する。
ダウンロード制御回路36ではこのクロックに同期して
OE* 信号を生成し、それをフラッシュメモリ6に送
る。フラッシュメモリ6はこのOE* 信号に同期して入
力されているアドレスで指定された番地のデータをデー
タバス5bの下位側(D7〜D0)に出力する。このデ
ータはさらにGDバス8aに出力されてICE14に送
られる。以上の操作によってICE14はマイコン11
に内蔵されたフラッシュメモリ6の指定番地のデータが
読み出せた、すなわちリードコマンドの実行を完了した
ことになる。
【0075】次にプログラムコマンド実行時の動作につ
いて説明する。ここで、図16はプログラムコマンド実
行時のダウンロード制御回路36の動作タイミングを示
すタイミングチャートである。なお、動作の基本的な考
え方はリードコマンド実行時と同様である。すなわち、
1回目にはコマンドコードを、2回目にはプログラムア
ドレスの下位側を、3回目にはプログラムアドレスの上
位側を順次入力してそれらをフラッシュメモリ6に送
る。なお、このプログラムコマンド実行時にはさらに、
4回目の入力でプログラムデータを外部のICE14側
よりデバッグ回路7に送る。このプログラムデータはダ
ウンロード制御回路36のデータラッチ回路にラッチさ
れるとともに、データバス5bの下位側(D7〜D0)
に出力される。ダウンロード制御回路36ではGCLK
* 端子8bの4回目のクロックに同期してWE* 信号を
生成し、それをフラッシュメモリ6に送る。
【0076】フラッシュメモリ6はこのWE* 信号の立
ち上がりエッジから、アドレス入力されている番地にデ
ータバス5bの下位側(D7〜D0)上のデータをプロ
グラムする動作を開始する。プログラム動作が始まると
フラッシュメモリ6から出力されるBUSY信号が
“H”レベルになる。このBUSY信号はプログラムコ
マンド実行期間中は“H”レベルを維持し、終了ととも
に“L”レベルに戻る。このBUSY信号はデバッグ制
御レジスタ(1)22の第1ビットに入力されており、
ICE14はプログラムコマンド発行後、このビットの
読み出しを繰り返すことによってプログラムコマンドの
終了を知ることができる。
【0077】次にプログラムベリファイ実行時の動作に
ついて説明する。ここで、図17はプログラムベリファ
イ実行時のダウンロード制御回路36の動作タイミング
を示すタイミングチャートである。なお、プログラムベ
リァイコマンドはプログラムコマンドと必ず対で実行さ
れる。プログラムアドレスはプログラムコマンド実行時
に、フラッシュメモリ6の内部回路でラッチされている
ため、プログラムベリファイコマンド実行時にはベリフ
ァイアドレスをあらためて入力する必要がない。
【0078】次にオートイレーズ実行時の動作について
説明する。ここで、図18はオートイレーズコマンド実
行時のダウンロード制御回路36の動作タイミングを示
すタイミングチャートである。まずICE14より、コ
マンドコード“30H ”を続けて2回入力する。このコ
マンドコードはいずれもダウンロード制御回路36のデ
ータラッチ回路よりデータバス5bの下位側(D7〜D
0)を介してフラッシュメモリ6に送られる。またダウ
ンロード制御回路36はGCLK* 端子8bのクロック
の2回の入力に同期してWE* 信号を生成し、それをフ
ラッシュメモリ6に送る。フラッシュメモリ6では2回
目のWE* 信号の立ち上がりエッジに同期して消去動作
がスタートする。なお、この消去動作中はBUSY信号
が“H”レベルになるため、プログラムコマンド実行時
と同様に、ICE14はこれを監視することによって消
去動作の完了を知ることができる。
【0079】次に、これまでに説明したデバッグ回路7
を用いて、ユーザが実際にプログラムをデバッグする際
のデバッグ処理動作について説明する。ここで、プログ
ラムのデバッグを実行する際のシステム構成は図2に示
す通りである。ユーザはまず、パソコンあるいはEWS
などによるホストコンピュータ15上で、C言語、アセ
ンブラ言語などを用いてプログラムを作成する。プログ
ラムがとりあえずでき上がると、そのプログラムをコン
パイルして16進コードのファイルに変換し、それをI
CE14に転送する。このICE14はユーザ基板16
上に直接搭載されたマイコン11にコネクタ17を介し
てケーブル接続されており、転送されてきたコンパイル
済のユーザプログラムを、そのマイコン11に内蔵され
たフラッシュメモリ6に、デバッグ回路7のダウンロー
ド機能を利用して書き込む。
【0080】ここで、デバッグ割り込みが発生した時に
実行させるユーザプログラムとは別の、デバッグ専用の
プログラム(以後デバッグモニタといい、その役割につ
いては後述する)を用意しておき、ユーザプログラムと
一緒にあらかじめ定めたフラッシュメモリ6の特定領域
にダウンロードしておく。すなわちフラッシュメモリ6
に書き込まれるのは、ユーザプログラムとデバッグ割り
込みが発生した時に実行するデバッグモニタである。
【0081】ICE14はダウンロードが完了すると、
Vpp端子8dをVssレベル(0v)に戻してダウン
ロードモードを解除する。ただし、RESET* 端子8
eの信号は“L”レベルのままとしてマイコン11はリ
セット状態にしておく。この状態でICE14はGDバ
ス8aを介して、マイコン11に内蔵されたデバッグ回
路7内のデバッグ制御レジスタ(0)21、デバッグ制
御レジスタ(1)22、アドレス比較レジスタ(0)2
3、アドレス比較レジスタ(1)24、データ比較レジ
スタ25等に必要な条件を設定する。
【0082】例えば、リセット解除後のプログラムの実
行動作を少しずつ区切って正しく動作しているかどうか
を確かめたい場合には、まずトレース機能を有効にし、
さらにリセット解除後、プログラムの実行がある程度進
んだところにブレークポイント(オペコードアドレスに
よるブレーク)を設定する。このような条件設定をした
後、ICE14からRESET* 端子8eを“H”レベ
ルに戻すと、マイコン11はリセット解除されてユーザ
プログラムの実行を開始する。そして最初に設定したブ
レークポイントのところまでユーザプログラムの実行が
進むと、ブレーク機能の働きによってデバッグ割り込み
が発生し、ユーザプログラムの実行は中断されてCPU
11はデバッグモニタの実行に移る。
【0083】ユーザプログラムが中断されるまでのCP
U11の動作のトレース情報は、トレース機能が有効に
されているため、GDバス8aからICE14へ順次送
られてきており、ICE14内のトレースメモリに記憶
されている。したがって、ホストコンピュータ15側か
らこれを読み出して表示させれば、ユーザが自分の作成
したプログラムが、リセット解除後ブレークポイントを
設定したところまで、正しく動作しているかどうかをチ
ェックすることができる。
【0084】例えば、トレース結果から判断すると、ユ
ーザプログラムを中断したブレークポイントの直前で、
マイコン11の動作、すなわちCPU1の動作がユーザ
の意図したものとは異なった動作をしている場合を想定
してみる。ユーザはこのような状態で、ホストコンピュ
ータ15からICE14を介して種々のコマンドをマイ
コン11に発行してその原因を探る。これにより、作成
したユーザプログラムのデバッグ作業を行うことが可能
となる。その際に、先にふれたデバッグモニタと呼ばれ
るプログラムが使用される。デバッグ割り込みが発生す
ると、CPU11はユーザプログラムの実行を中断して
デバッグモニタの先頭から実行を開始する。デバッグモ
ニタの一例を図19のフローチャートに示す。
【0085】デバッグ割り込みが発生してデバッグモニ
タに実行が移ると、CPU11はまず、デバッグ回路7
のデバッグ制御レジスタ(1)22の第2ビットのサー
ビスリクエストフラグをチェックして(ステップST
1)、その内容が“0”の場合にはこのフラグが“1”
になるまでチェックのループを繰り返す。
【0086】一方、デバッグ割り込みが発生すると、デ
バッグ回路7のトレース制御回路34は、その時点で実
行中のトレース出力完了後にブレーク認識コード“8X
H ”を出力する。これによりICE14は、イベント検
出によってブレークが発生し、CPU11がユーザプロ
グラムの実行からデバッグモニタの実行に移ったことを
知る。続いてICE14はGOE* 端子8cの信号を
“H”レベルに戻す。デバッグ回路7はGOE* −>
“H”の認識コード“4XH ”を出力した後、GCLK
* 端子8bおよびGDバス8aを入力に切り替える。I
CE14はこの認識コード“4XH ”を受け取ることに
より、自分がGDバス8a、GCLK* 端子8b、およ
びGOE* 端子8cを制御してデバッグ回路7内の各種
レジスタ21〜26にアクセスできる状態になったこと
を知る。
【0087】この状態で、ICE14はユーザがユーザ
プログラムをデバッグするための種々の操作(コマン
ド)を提供することができる。一例として、ユーザプロ
グラムがブレークによって中断した状態で、マイコン1
1内部のある番地のデータ(例えばRAM3のある番地
に格納されているデータ)の内容を見たい場合について
考える。この場合、ICE14はまず、メモリ読み出し
のためのコマンドを、デバッグ回路7のデバッグレジス
タ(0)26に書き込む。なお、このコマンドを“00
H ”〜“FFH ”のどれにするかは、ICE14とデバ
ッグモニタの間で取り決めておけばよい。続いてデバッ
グレジスタ(1)、(2)および(3)26にそれぞれ
読み出したいデータの下位アドレス、中位アドレスおよ
び上位アドレスを書き込む。次にICE14は、デバッ
グ制御レジスタ(1)22の第2ビット(サービスリク
エストフラグ)を“1”にセットし、その後デバッグ制
御レジスタ(1)22の第3ビット(サービスエンドフ
ラグ)の内容のチェックを繰り返す。これが図19にお
ける、サービスリクエストフラグが“1”になるまで待
つループとなる。
【0088】サービスリクエストフラグが“1”になる
のを待っていたCPU1は、上記したICE14の操作
によってその内容が“1”にセットされると、当該チェ
ックループから抜け出してこのリクエストフラグをクリ
アし(ステップST2)、その後デバッグレジスタ
(0)26の内容を読み出す(ステップST3)。次に
その内容をチェック(読み出したコマンドをデコード)
することによってICE14が要求するサービスの内容
を解釈し、それを実行するルーチンにジャンプする(ス
テップST4)。
【0089】この例のメモリ読み出しコマンドの場合に
は、まず、デバッグレジスタ(1)、(2)および
(3)26に格納されているアドレス情報を取り出し
(ステップST5)、そのアドレスによって指定された
番地の内容を読み出す(ステップST6)。続いてその
読み出したデータを下位側と上位側に分けて、デバッグ
レジスタ(4)および(5)26にそれぞれ格納する
(ステップST7)。指定されたコマンドの実行を完了
すると、サービスエンドフラグを“1”にセットし(ス
テップST8)、その後ステップST1に戻って、サー
ビスリクエストフラグのチェックループに入る。
【0090】このサービスエンドフラグが“1”にセッ
トされるのを待っていたICE14は、当該サービスエ
ンドフラグが“1”にセットされることにより、要求し
たサービス(メモリ読み出しコマンド)が完了したこと
を知り、このフラグをクリアした後、デバッグ回路7内
のデバッグレジスタ(4)および(5)26からデータ
を読み出す。以上のような一連の動作によって、「メモ
リ読み出し」という一つの操作が完了することになる。
CPU1内部のレジスタの内容を読み出したり、あるい
はレジスタ/メモリに指定されたデータを書き込むコマ
ンドなどもこれと同様の手順で実現することができる。
【0091】また、ICE14はその他に、“GO”コ
マンドおよび“STOP”コマンドも提供する。デバッ
グモニタがサービスリクエストの待ちループの中にある
時に“GO”コマンドを指定すると、デバッグ割り込み
からの復帰コマンドを実行して(図19のステップST
9)デバッグモニタの実行は終了し、CPU1はユーザ
プログラムの実行を中断した状態から再開する。一方、
“STOP”コマンドはCPU1がユーザプログラムを
実行している際に、イベント検出によるブレーク機能で
はなく、ICE14側から強制的に中断させてデバッグ
モニタを起動させるコマンドである。このコマンドはI
CE14がGDバス8a経由でデバッグ回路7のデバッ
グ制御レジスタ(1)22の第4ビット(デバッグ割り
込み要求ビット)に“1”を書き込むことによって実現
される。
【0092】以上のように、デバッグレジスタ26を仲
介にして、マイコン11の外部に接続されたICE14
とデバッグモニタとがハンドシェイクすることにより、
ユーザがプログラムをデバッグするための種々の機能が
提供される。
【0093】このように、この実施の形態1によれば、
マイコンに内蔵したフラッシュメモリ6をエミュレーシ
ョンメモリとして使用するため、ROM2の場合と同等
の速度でアクセスすることができ、外部にエミュレーシ
ョンメモリを設ける従来のマイコンのようなアクセス速
度の問題が解消され、また、マイコンに特別なデバッグ
専用のモードを設ける必要がなくなるばかりか、マイコ
ン11をユーザ基板16に直付けし、デバッグに関係す
る信号だけをコネクタ17を介してICE14に接続さ
せる形態になって、マイコン11の入出力信号のタイミ
ングがケーブルによる影響を受けることがなくなるた
め、極めて最終製品の実装状態に近い形でプログラムの
開発/デバッグを行うことができ、また、イベント検出
によるブレーク機能をマイコン11のチップ内部に持っ
ているため、あらかじめ設定されたイベントを検出する
と、直ちにデバッグ割り込みを発生しユーザプログラム
の実行を中断することができるのでブレーク発生の遅れ
がなくなるなどの効果がある。
【0094】さらに、この実施の形態1によれば、GD
バス8a上の信号およびGDLK*端子8bの信号をG
OE* 端子8cの信号レベルによって双方向に使用する
ことができるようになり、外部のICE14からのデバ
ッグ割り込み要求、マイコン11内部のデバッグ回路7
からのイベント検出によるブレーク発生の認識信号出
力、GOE* −>“H”の認識コード出力等もすべてG
Dバス8a経由で行えるため、ICE14とデバッグ回
路7との間の信号線を最低本数に抑えることができる効
果もある。
【0095】実施の形態2.先に述べたように、マイコ
ン11に内蔵されているROM2は、その内容が半導体
の製造工程中に書き込まれてしまい、それ以降は書き換
えができない。したがって、製造完了後にROM2に書
き込んだプログラムのバグが見つかると、製品そのもの
が使えなくなるというリスクを抱えている。上記実施の
形態1で説明したデバッグ回路7のブレーク機能は、こ
のようなバグのあるプログラム部分の回避に応用するこ
とも可能である。図20はそのようなこの発明の実施の
形態2によるマイコンに内蔵されたデバッグ回路のブレ
ーク機能を応用して、バグのあるプログラム部分を回避
するための「ROMコレクション」の手順を示すフロー
チャートである。
【0096】まず、このROMコレクションをするか否
かのフラグをマイコン11の外部に設けておく。例え
ば、外部メモリの特定番地の特定ビットが“0”であれ
ばROMコレクション不要、“1”であればROMコレ
クション必要、あるいはマイコン11のある端子が
“L”レベルであればROMコレクション不要、“H”
レベルであればROMコレクション必要等である。
【0097】図20に示すように、リセットスタート
後、上記フラグによってROMコレクションの有効/無
効をまずチェックする(ステップST12)。その結
果、無効と判定されてROMコレクションの必要がない
場合には、そのままマイコン11内のROM2に書かれ
たプログラムを実行する。一方、有効と判定されてRO
Mコレクションを実行する場合には、ブレーク条件の設
定を行う(ステップST13)。図3に示したデバッグ
回路7においては、アドレス比較レジスタ(0)23と
アドレス比較レジスタ(1)24の2本を持っているた
め、最大2箇所のバグ回避が可能である。したがって、
ここでは2箇所のバグを回避する例について説明する。
まずバグのあるプログラム部分のそれぞれの先頭番地を
外部から読み込み、アドレス比較レジスタ(0)23お
よびアドレス比較レジスタ(1)24に書き込む。次に
デバッグ制御レジスタ(0)21において、その第4ビ
ット〜第3ビットのイベント検出サイクル選択ビットで
はオペコードアドレスを選択し、第2ビット第0ビット
のブレーク検出条件選択ビットではアドレス一致検出
(2)を選択する。
【0098】プログラムの実行が進み、バグのあるプロ
グラム部分の先頭にくると、ブレーク機能によりデバッ
グ割り込みが発生し、デバッグ割り込み処理プログラム
に移行する。デバッグ割り込み処理プログラムにおいて
は、まずアドレス比較レジスタ(0)23またはアドレ
ス比較レジスタ(1)24のどちらでデバッグ割り込み
が発生したかをチェックする(ステップST14)。そ
のために、デバッグ制御レジスタの空きビット、例えば
デバッグ制御レジスタ(1)21の第5ビットをその判
定ビットに割り当て、アドレス比較レジスタ(0)23
でブレークが発生した場合にはこの判定ビットをクリア
し、比較レジスタ(1)24で発生した場合にはそれを
セットするハードウエアを追加する。
【0099】また、アドレス比較レジスタ(0)23の
一致検出で割り込みが発生した場合の正しいプログラム
が格納されている外部メモリの番地、およびアドレス比
較レジスタ(1)24の一致検出で割り込みが発生した
場合の正しいプログラムが格納されている外部メモリの
番地をあらかじめ決めておき、ステップST14による
アドレス比較レジスタ(0)23またはアドレス比較レ
ジスタ(1)24のどちらでデバッグ割り込みが発生し
たかのチェック結果に基づいて、対応する正しいプログ
ラムが格納されている外部メモリの先頭番地の内容を読
み出す(ステップST15)。なお、このデバッグ割り
込み処理プログラムに移る時に、スタック領域に処理完
了後の戻り先番地が格納されているが、その戻り先番地
はバグのあるプログラムを指しているため、これをステ
ップST15で読み出した、正しいプログラムの先頭番
地に変更する(ステップST16)。その後、デバッグ
割り込みから復帰する命令が実行されると(ステップS
T17)、外部メモリにおかれているバグの修正された
正しいプログラムの実行に移る。
【0100】実施の形態3.上記実施の形態2において
は、マイコンに内蔵されたデバッグ回路のブレーク機能
を「ROMコレクション」に応用した場合について説明
したが、「暴走検出」に応用することも可能である。以
下、そのようなこの発明の実施の形態3について説明す
る。
【0101】マイコン11が何らかの原因によって暴走
状態に至った場合、システムに致命的な打撃を与えない
ために、従来より監視タイマの機能がよく用いられる。
この監視タイマはある一定の周期を計測するタイマで、
その周期内に一度もCPU1からアクセスされないと、
当該監視タイマ専用の割り込みを発生する機能を持って
いる。一方、CPU1からアクセスされると監視タイマ
はその時点で一旦リセットされ、一定周期のカウントを
そこから再開する。ユーザは上記一定周期内に監視タイ
マをアクセスするようにプログラムを作っておく。これ
により、プログラムが正常に動作している間は周期的に
監視タイマにアクセスするため、監視タイマ専用の割り
込みは発生しない。マイコン11が暴走状態に至ると監
視タイマのアクセスがなくなるため、監視タイマ割り込
みが発生する。割り込みが発生するとそれまでマイコン
11が暴走状態にあっても一旦は必ず監視タイマ割り込
みプログラムに分岐するため、そこでマイコン11自身
をリセットする処置などをして暴走状態から復帰する。
【0102】この実施の形態3は、マイコン11に内蔵
されたデバッグ回路7のブレーク機能を用いることによ
って、これと同等、あるいはそれ以上に正確な暴走検出
を可能にしたものである。すなわち、デバッグ制御レジ
スタ(0)21の第4ビット〜第3ビットによるイベン
ト検出サイクル選択ビットをオペコードアドレスに、第
3ビット〜第0ビットによブレーク検出条件選択ビット
をアドレス範囲外検出にそれぞれ設定する。このように
設定しておけば、プログラムがおかれるアドレス範囲は
あらかじめわかっているため、暴走状態になってCPU
1の実行アドレスがその設定された範囲外に及ぶと直ち
にデバッグ割り込みが発生するので、そのような場合に
は割り込み処理プログラムで暴走からの復帰処理を実行
すればよい。監視タイマを用いる場合には、暴走状態に
到ってもある一定周期を経ないとそれを検出することが
できないが、この実施の形態3によれば、早期に暴走状
態を検出し、それから復帰することが可能となる。
【0103】
【発明の効果】以上のように、請求項1記載の発明によ
れば、外部のICEとの接続のための専用入出力端子を
有したデバック回路と、開発段階のプログラムが格納さ
れるフラッシュメモリを内蔵して、そのデバッグ回路
に、CPUとの通信機能、ICEとの通信機能、CPU
の動作状態のトレース機能、デバッグ専用の割り込みを
発生させるブレーク機能、ICEからのプログラムコー
ドをフラッシュメモリに書き込み、フラッシュメモリの
内容をICEに送る機能などの諸機能を持たせるように
構成したので、内蔵するフラッシュメモリをエミュレー
ションメモリとして使用することが可能となって、半導
体プロセスの進歩でチップ内の動作速度が早くなって
も、内蔵されているROMと同等の速度でアクセスする
ことができるようになり、エミュレーションメモリとし
て外部に高価な高速のメモリを外付けする必要がなくな
るばかりか、内蔵するROMのアクセスを禁止したり、
エミュレーションメモリを外付けするために内部バスを
外部に出力する機能や、デバッグ専用の割り込み入力を
許可したり、ICEがマイコン内部の動作状態を知るた
めのモニタ信号を出力する機能などのデバッグ時専用の
特殊なモードをマイコンに持たせる必要もなく、さら
に、イベント検出によるブレーク機能をチップ内部に持
っているため、あらかじめ設定されたイベントを検出す
ると、直ちにデバッグ割り込みを発生してユーザプログ
ラムの実行を中断することができて、ブレークの発生に
遅れがなくなり、また、マイコンをユーザ基板に直付け
して、デバッグに必要な信号だけをコネクタを介してI
CEに接続することが可能となるため、ケーブルによる
信号遅延の影響を受けることがなくなって、より最終製
品の実装形態に近い状態でプログラムの開発/デバッグ
が行えるなどの効果がある。
【0104】請求項2記載の発明によれば、データを双
方向にやりとりするデータ端子、やり取りされるデータ
の同期をとるためのクロックを双方向に送るクロック端
子、およびデータ端子とクロック端子の信号の伝搬方向
を決める制御端子によって構成された専用入出力端子に
よって、内蔵されたデバッグ回路を外部のICEと接続
するように構成したので、ICEとデバッグ回路間の信
号線を最低本数に抑えることができる効果がある。
【0105】請求項3記載の発明によれば、書き換え不
可能なROM上のプログラムにバグがあるとき、そのバ
グのあるプログラム部分のアドレスまで実行アドレスが
進むとデバッグ回路よりデバッグ割り込みを発生させ、
そのバグのあるプログラム部分を回避して、別途用意さ
れた正しいプログラム部分に置き換えるように構成した
ので、製造完了後にROMに書き込んだプログラムにバ
グが見つかった場合でも、製品そのものが使用できなく
なるといったリスクを回避できる効果がある。
【0106】請求項4記載の発明によれば、あらかじめ
想定されていたアドレス範囲外にCPUのプログラム実
行が及んだ場合に、デバッグ回路よりデバッグ割り込み
を発生させてマイコンの暴走検出を行うように構成した
ので、監視タイマを用いた場合のように、一定周期を経
なくとも直ちに暴走状態を検出することができ、より早
期の暴走検出、およびその暴走からの復帰が可能となる
効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1によるメモリ内蔵型
のマイクロコンピュータの構成を示すブロック図であ
る。
【図2】 この発明の実施の形態1におけるマイクロコ
ンピュータのROMに格納するプログラムの開発環境を
示すブロック図である。
【図3】 この発明の実施の形態1におけるマイクロコ
ンピュータに内蔵されたデバッグ回路の構成を示すブロ
ック図である。
【図4】 この発明の実施の形態1における各デバッグ
制御レジスタのビット構成を示す説明図である。
【図5】 この発明の実施の形態1におけるデバッグ回
路内の各レジスタのアドレス配置を示す説明図である。
【図6】 この発明の実施の形態1におけるCPUから
の各デバッグ制御レジスタの読み出し/書き込みタイミ
ングを示すタイミングチャートである。
【図7】 この発明の実施の形態1におけるICEから
デバッグ回路内の各部レジスタを読み出すタイミングを
示すタイミングチャートである。
【図8】 この発明の実施の形態1におけるレジスタ読
み出し/書き込みコマンドのフォーマットを示す説明図
である。
【図9】 この発明の実施の形態1におけるICEから
デバッグ回路内の各レジスタへの書き込みタイミングを
示すタイミングチャートである。
【図10】 この発明の実施の形態1におけるコードト
レース時のトレース出力例を示すタイミングチャートで
ある。
【図11】 この発明の実施の形態1におけるトレース
属性のフォーマットを示す説明図である。
【図12】 この発明の実施の形態1におけるデータト
レース時のデータ読み出し/書き込みの場合のトレース
出力例を示すタイミングチャートである。
【図13】 この発明の実施の形態1におけるデータト
レース時のデータ転送命令の場合のトレース出力例を示
すタイミングチャートである。
【図14】 この発明の実施の形態1におけるマイクロ
コンピュータに内蔵されたフラッシュメモリの入出力信
号を示す説明図である。
【図15】 この発明の実施の形態1におけるコマンド
実行時のダウンロード制御回路の入出力タイミングを示
すタイミングチャートである。
【図16】 この発明の実施の形態1におけるプログラ
ムコマンド実行時のダウンロード制御回路の入出力タイ
ミングを示すタイミングチャートである。
【図17】 この発明の実施の形態1におけるプログラ
ムベリファイコマンド実行時のダウンロード制御回路の
入出力タイミングを示すタイミングチャートである。
【図18】 この発明の実施の形態1におけるオートイ
レーズコマンド実行時のダウンロード制御回路の入出力
タイミングを示すタイミングチャートである。
【図19】 この発明の実施の形態1におけるデバッグ
モニタのアルゴリズムを示すフローチャートである。
【図20】 この発明の実施の形態2によるマイクロコ
ンピュータのデバッグ回路のブレーク機能を用いたRO
Mコレクションの処理を示すフローチャートである。
【図21】 従来のメモリ内蔵型のマイクロコンピュー
タの構成を示すブロック図である。
【図22】 従来のマイクロコンピュータのROMに格
納するプログラムの開発環境を示すブロック図である。
【符号の説明】
1 CPU、2 ROM、5 内部バス、6 フラッシ
ュメモリ、7 デバッグ回路、8 専用入出力端子、8
a GDバス(データ端子)、8b GCLK* 端子
(クロック端子)、8c GOE* 端子(制御端子)、
8d Vpp端子(制御端子)、8e RESET*
子(制御端子)、11 マイコン、14ICE。
フロントページの続き (71)出願人 390009531 インターナショナル・ビジネス・マシーン ズ・コーポレイション INTERNATIONAL BUSIN ESS MASCHINES CORPO RATION アメリカ合衆国10504、ニューヨーク州 アーモンク (番地なし) (72)発明者 伊藤 栄 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 神崎 照明 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 赤月 忠之 兵庫県伊丹市中央3丁目1番17号 三菱電 機セミコンダクタソフトウエア株式会社内 (72)発明者 酒井 達也 神奈川県藤沢市桐原町1番地 日本アイ・ ビー・エム株式会社藤沢事業所内 (72)発明者 沼田 勉 神奈川県藤沢市桐原町1番地 日本アイ・ ビー・エム株式会社藤沢事業所内 (72)発明者 中村 泰博 神奈川県藤沢市桐原町1番地 日本アイ・ ビー・エム株式会社藤沢事業所内

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 内部バスを介して接続された読み取り専
    用記憶装置に格納されているプログラムを用いて動作す
    る中央演算処理装置を備えたマイクロコンピュータにお
    いて、 前記読み取り専用記憶装置に格納されるプログラムの開
    発段階のプログラムが格納される、電気的に書き込み/
    消去が可能なフラッシュメモリと、 前記内部バスを介して前記中央演算処理装置に接続され
    るとともに、外部のエミュレータと接続するための専用
    入出力端子を持ったデバッグ回路を設け、前記デバッグ
    回路に、 前記内部バスを介した前記中央演算処理装置との通信機
    能、 前記専用入出力端子を介した前記エミュレータとの通信
    機能、 前記中央演算処理装置の動作状態を示す情報を前記専用
    入出力端子から前記エミュレータに送るトレース機能、 前記中央演算処理装置の動作状態が、前記中央演算処理
    装置あるいはエミュレータがあらかじめ設定した条件に
    一致した時にデバッグ専用の割り込みを発生させるブレ
    ーク機能、および前記エミュレータから前記専用入出力
    端子を介して送られてきたプログラムコードを前記フラ
    ッシュメモリに書き込むとともに、前記フラッシュメモ
    リの内容を読み出して前記専用入出力端子から前記エミ
    ュレータに送る機能を持たせたことを特徴とするマイク
    ロコンピュータ。
  2. 【請求項2】 内蔵されたデバッグ回路を外部のエミュ
    レータと接続するための専用入出力端子を、 前記デバッグ回路と前記エミュレータの間でデータを双
    方向にやりとりするデータ端子と、 前記データ端子によってデータをやりとりする時に、そ
    の同期をとるためのクロックを双方向に送るクロック端
    子と、 前記エミュレータから前記デバッグ回路に入力され、前
    記データ端子およびクロック端子の信号の伝搬方向を決
    める制御端子とによって構成したことを特徴とする請求
    項1記載のマイクロコンピュータ。
  3. 【請求項3】 内蔵されたデバッグ回路が、中央演算処
    理装置によるプログラムコードの実行アドレスがあらか
    じめ設定されたアドレスに一致した時にデバッグ専用の
    割り込みを発生させる機能を有し、 書き換え不可能な読み取り専用記憶装置に格納されたプ
    ログラムのプログラムコードにバグがある場合に、前記
    デバッグ回路が発生するデバッグ専用の割り込みによっ
    て、前記プログラムのプログラムコードにバグのあるプ
    ログラム部分を回避し、別途用意された前記バグのある
    プログラム部分に相当する正しいプログラム部分に置き
    換えることを特徴とする請求項1または請求項2記載の
    マイクロコンピュータ。
  4. 【請求項4】 内蔵されたデバッグ回路が、中央演算処
    理装置によるプログラムコードの実行アドレスがあらか
    じめ設定されたアドレス範囲外となった時にデバッグ専
    用の割り込みを発生させる機能を有し、 前記中央演算処理装置によるプログラム実行が想定され
    たアドレス範囲の外に及んだ場合に、前記デバッグ回路
    が発生するデバッグ専用の割り込みによって、暴走の検
    出を行うことを特徴とする請求項1または請求項2記載
    のマイクロコンピュータ。
JP9015743A 1997-01-29 1997-01-29 マイクロコンピュータ Pending JPH10214201A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9015743A JPH10214201A (ja) 1997-01-29 1997-01-29 マイクロコンピュータ
US09/010,538 US6075941A (en) 1997-01-29 1998-01-22 Microcomputer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9015743A JPH10214201A (ja) 1997-01-29 1997-01-29 マイクロコンピュータ

Publications (1)

Publication Number Publication Date
JPH10214201A true JPH10214201A (ja) 1998-08-11

Family

ID=11897254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9015743A Pending JPH10214201A (ja) 1997-01-29 1997-01-29 マイクロコンピュータ

Country Status (2)

Country Link
US (1) US6075941A (ja)
JP (1) JPH10214201A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001147836A (ja) * 1999-10-01 2001-05-29 Stmicroelectronics Inc マイクロコンピュータデバッグアーキテクチャ及び方法
US6662314B1 (en) 1999-11-15 2003-12-09 Mitsubishi Denki Kabushiki Kaisha Microcomputer including program for rewriting data in an internal flash memory
US6687857B1 (en) 1999-11-10 2004-02-03 Mitsubishi Denki Kabushiki Kaisha Microcomputer which can execute a monitor program supplied from a debugging tool
US6954878B2 (en) 2000-12-28 2005-10-11 Seiko Epson Corporation Break board debugging device
KR100601164B1 (ko) * 1999-01-15 2006-07-13 삼성전자주식회사 플래시 롬을 이용한 에뮬레이터 및 펌웨어 업그레이드 방법
JP2007066336A (ja) * 2003-04-17 2007-03-15 Arm Ltd 集積回路内の診断データ取り込み
JP2010170579A (ja) * 2010-04-19 2010-08-05 Renesas Technology Corp データ処理装置
JP2010173633A (ja) * 2009-01-28 2010-08-12 Dspace Digital Signal Processing & Control Engineering Gmbh 制御装置を調整するための方法および操作ユニット
JP2011513834A (ja) * 2008-02-29 2011-04-28 フリースケール セミコンダクター インコーポレイテッド デバッグ資源を共有する方法及び装置
JP2020003983A (ja) * 2018-06-27 2020-01-09 株式会社リコー 制御システムおよび電子機器

Families Citing this family (119)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000181898A (ja) * 1998-12-14 2000-06-30 Nec Corp フラッシュメモリ搭載型シングルチップマイクロコンピュータ
JP4083903B2 (ja) * 1998-12-16 2008-04-30 株式会社ルネサステクノロジ マイクロコンピュータ
US6820051B1 (en) * 1999-02-19 2004-11-16 Texas Instruments Incorporated Software emulation monitor employed with hardware suspend mode
JP3943277B2 (ja) * 1999-03-23 2007-07-11 セイコーエプソン株式会社 マイクロコンピュータ及び電子機器
JP2000322282A (ja) * 1999-05-13 2000-11-24 Mitsubishi Electric Corp マイクロコンピュータ
JP2000339177A (ja) * 1999-05-31 2000-12-08 Mitsubishi Electric Corp Eit処理機能を備えるマイクロプロセッサ及びeit処理方法
ES2193041T3 (es) * 2000-06-16 2003-11-01 Europ Technologies S A Dispositivo de reproduccion funcional de un circuito integrado especifico y su utilizacion como dispositivo de emulacion.
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US6484273B1 (en) * 2000-11-29 2002-11-19 Lsi Logic Corporation Integrated EJTAG external bus interface
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US7526422B1 (en) 2001-11-13 2009-04-28 Cypress Semiconductor Corporation System and a method for checking lock-step consistency between an in circuit emulation and a microcontroller
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
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
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
JP2003263339A (ja) * 2002-03-08 2003-09-19 Seiko Epson Corp デバック機能内蔵型マイクロコンピュータ
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7099818B1 (en) * 2002-03-29 2006-08-29 Cypress Semiconductor Corporation System and method for automatically matching components in a debugging system
US7185321B1 (en) * 2002-03-29 2007-02-27 Cypress Semiconductor Corporation Method and system for debugging through supervisory operating codes and self modifying codes
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
JP4232621B2 (ja) * 2003-12-08 2009-03-04 株式会社デンソー 半導体集積回路装置
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
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
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
US20060048011A1 (en) * 2004-08-26 2006-03-02 International Business Machines Corporation Performance profiling of microprocessor systems using debug hardware and performance monitor
CN100371907C (zh) * 2004-11-19 2008-02-27 凌阳科技股份有限公司 用于处理器的追踪调试方法及系统
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
DE102005032558B4 (de) * 2005-03-22 2007-03-01 Segger Microcontroller Systeme Gmbh Verfahren zum Betrieb eines Mikrocontrollers in einer Testumgebung und elektronische Testeinheit zur Analyse von Programm-Codes
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
JP2006313421A (ja) * 2005-05-06 2006-11-16 Nec Electronics Corp マイクロコンピュータ及びそのデバッグ方法
US20060259750A1 (en) * 2005-05-16 2006-11-16 Texas Instruments Incorporated Selectively embedding event-generating instructions
US7506206B2 (en) * 2005-06-07 2009-03-17 Atmel Corporation Mechanism for providing program breakpoints in a microcontroller with flash program memory
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
JP4847734B2 (ja) * 2005-10-31 2011-12-28 ルネサスエレクトロニクス株式会社 半導体集積回路装置、それのデバッグシステム及びデバッグ方法。
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US7702935B2 (en) * 2006-01-25 2010-04-20 Apple Inc. Reporting flash memory operating voltages
US7861122B2 (en) * 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory
US8010774B2 (en) * 2006-03-13 2011-08-30 Arm Limited Breakpointing on register access events or I/O port access events
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US20070294337A1 (en) * 2006-03-31 2007-12-20 Maria Gaos Client-side information processing system, apparatus and methods
US9176803B2 (en) * 2006-08-14 2015-11-03 International Business Machines Corporation Collecting data from a system in response to an event based on an identification in a file of the data to collect
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US20080288712A1 (en) 2007-04-25 2008-11-20 Cornwell Michael J Accessing metadata with an external host
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US7913032B1 (en) 2007-04-25 2011-03-22 Apple Inc. Initiating memory wear leveling
US20090070745A1 (en) * 2007-09-04 2009-03-12 Mark Everly System and corresponding method for testing software embedded in an electronic device
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
US7913118B2 (en) * 2008-10-15 2011-03-22 Andes Technology Corporation In-circuit debugging system and related method
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US9088433B2 (en) * 2009-11-10 2015-07-21 Freescale Semiconductor, Inc. Device and method for recording protocol events in an advanced communication system
US8966319B2 (en) * 2011-02-22 2015-02-24 Apple Inc. Obtaining debug information from a flash memory device
US10163479B2 (en) 2015-08-14 2018-12-25 Spin Transfer Technologies, Inc. Method and apparatus for bipolar memory write-verify
JP2018045419A (ja) * 2016-09-14 2018-03-22 ルネサスエレクトロニクス株式会社 デバッグシステム、マイクロコンピュータ及びその方法
US11151042B2 (en) 2016-09-27 2021-10-19 Integrated Silicon Solution, (Cayman) Inc. Error cache segmentation for power reduction
US10546625B2 (en) 2016-09-27 2020-01-28 Spin Memory, Inc. Method of optimizing write voltage based on error buffer occupancy
US10192601B2 (en) 2016-09-27 2019-01-29 Spin Transfer Technologies, Inc. Memory instruction pipeline with an additional write stage in a memory device that uses dynamic redundancy registers
US11119910B2 (en) 2016-09-27 2021-09-14 Spin Memory, Inc. Heuristics for selecting subsegments for entry in and entry out operations in an error cache system with coarse and fine grain segments
US10360964B2 (en) 2016-09-27 2019-07-23 Spin Memory, Inc. Method of writing contents in memory during a power up sequence using a dynamic redundancy register in a memory device
US10437491B2 (en) 2016-09-27 2019-10-08 Spin Memory, Inc. Method of processing incomplete memory operations in a memory device during a power up sequence and a power down sequence using a dynamic redundancy register
US10818331B2 (en) 2016-09-27 2020-10-27 Spin Memory, Inc. Multi-chip module for MRAM devices with levels of dynamic redundancy registers
US10628316B2 (en) 2016-09-27 2020-04-21 Spin Memory, Inc. Memory device with a plurality of memory banks where each memory bank is associated with a corresponding memory instruction pipeline and a dynamic redundancy register
US10366774B2 (en) 2016-09-27 2019-07-30 Spin Memory, Inc. Device with dynamic redundancy registers
US10437723B2 (en) 2016-09-27 2019-10-08 Spin Memory, Inc. Method of flushing the contents of a dynamic redundancy register to a secure storage area during a power down in a memory device
US10460781B2 (en) 2016-09-27 2019-10-29 Spin Memory, Inc. Memory device with a dual Y-multiplexer structure for performing two simultaneous operations on the same row of a memory bank
US10446210B2 (en) * 2016-09-27 2019-10-15 Spin Memory, Inc. Memory instruction pipeline with a pre-read stage for a write operation for reducing power consumption in a memory device that uses dynamic redundancy registers
US10192602B2 (en) 2016-09-27 2019-01-29 Spin Transfer Technologies, Inc. Smart cache design to prevent overflow for a memory device with a dynamic redundancy register
US11119936B2 (en) 2016-09-27 2021-09-14 Spin Memory, Inc. Error cache system with coarse and fine segments for power optimization
US10489245B2 (en) 2017-10-24 2019-11-26 Spin Memory, Inc. Forcing stuck bits, waterfall bits, shunt bits and low TMR bits to short during testing and using on-the-fly bit failure detection and bit redundancy remapping techniques to correct them
US10529439B2 (en) 2017-10-24 2020-01-07 Spin Memory, Inc. On-the-fly bit failure detection and bit redundancy remapping techniques to correct for fixed bit defects
US10656994B2 (en) 2017-10-24 2020-05-19 Spin Memory, Inc. Over-voltage write operation of tunnel magnet-resistance (“TMR”) memory device and correcting failure bits therefrom by using on-the-fly bit failure detection and bit redundancy remapping techniques
US10481976B2 (en) 2017-10-24 2019-11-19 Spin Memory, Inc. Forcing bits as bad to widen the window between the distributions of acceptable high and low resistive bits thereby lowering the margin and increasing the speed of the sense amplifiers
US10395711B2 (en) 2017-12-28 2019-08-27 Spin Memory, Inc. Perpendicular source and bit lines for an MRAM array
US10395712B2 (en) 2017-12-28 2019-08-27 Spin Memory, Inc. Memory array with horizontal source line and sacrificial bitline per virtual source
US10360962B1 (en) 2017-12-28 2019-07-23 Spin Memory, Inc. Memory array with individually trimmable sense amplifiers
US10516094B2 (en) 2017-12-28 2019-12-24 Spin Memory, Inc. Process for creating dense pillars using multiple exposures for MRAM fabrication
US10891997B2 (en) 2017-12-28 2021-01-12 Spin Memory, Inc. Memory array with horizontal source line and a virtual source line
US10811594B2 (en) 2017-12-28 2020-10-20 Spin Memory, Inc. Process for hard mask development for MRAM pillar formation using photolithography
US10424726B2 (en) 2017-12-28 2019-09-24 Spin Memory, Inc. Process for improving photoresist pillar adhesion during MRAM fabrication
US10424723B2 (en) 2017-12-29 2019-09-24 Spin Memory, Inc. Magnetic tunnel junction devices including an optimization layer
US10784439B2 (en) 2017-12-29 2020-09-22 Spin Memory, Inc. Precessional spin current magnetic tunnel junction devices and methods of manufacture
US10840436B2 (en) 2017-12-29 2020-11-17 Spin Memory, Inc. Perpendicular magnetic anisotropy interface tunnel junction devices and methods of manufacture
US10367139B2 (en) 2017-12-29 2019-07-30 Spin Memory, Inc. Methods of manufacturing magnetic tunnel junction devices
US10886330B2 (en) 2017-12-29 2021-01-05 Spin Memory, Inc. Memory device having overlapping magnetic tunnel junctions in compliance with a reference pitch
US10546624B2 (en) 2017-12-29 2020-01-28 Spin Memory, Inc. Multi-port random access memory
US10840439B2 (en) 2017-12-29 2020-11-17 Spin Memory, Inc. Magnetic tunnel junction (MTJ) fabrication methods and systems
US10438996B2 (en) 2018-01-08 2019-10-08 Spin Memory, Inc. Methods of fabricating magnetic tunnel junctions integrated with selectors
US10438995B2 (en) 2018-01-08 2019-10-08 Spin Memory, Inc. Devices including magnetic tunnel junctions integrated with selectors
US10446744B2 (en) 2018-03-08 2019-10-15 Spin Memory, Inc. Magnetic tunnel junction wafer adaptor used in magnetic annealing furnace and method of using the same
US10529915B2 (en) 2018-03-23 2020-01-07 Spin Memory, Inc. Bit line structures for three-dimensional arrays with magnetic tunnel junction devices including an annular free magnetic layer and a planar reference magnetic layer
US10784437B2 (en) 2018-03-23 2020-09-22 Spin Memory, Inc. Three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer
US11107978B2 (en) 2018-03-23 2021-08-31 Spin Memory, Inc. Methods of manufacturing three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer
US11107974B2 (en) 2018-03-23 2021-08-31 Spin Memory, Inc. Magnetic tunnel junction devices including a free magnetic trench layer and a planar reference magnetic layer
US10411185B1 (en) 2018-05-30 2019-09-10 Spin Memory, Inc. Process for creating a high density magnetic tunnel junction array test platform
US10593396B2 (en) 2018-07-06 2020-03-17 Spin Memory, Inc. Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations
US10600478B2 (en) 2018-07-06 2020-03-24 Spin Memory, Inc. Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations
US10692569B2 (en) 2018-07-06 2020-06-23 Spin Memory, Inc. Read-out techniques for multi-bit cells
US10559338B2 (en) 2018-07-06 2020-02-11 Spin Memory, Inc. Multi-bit cell read-out techniques
US10650875B2 (en) 2018-08-21 2020-05-12 Spin Memory, Inc. System for a wide temperature range nonvolatile memory
US10699761B2 (en) 2018-09-18 2020-06-30 Spin Memory, Inc. Word line decoder memory architecture
US10971680B2 (en) 2018-10-01 2021-04-06 Spin Memory, Inc. Multi terminal device stack formation methods
US11621293B2 (en) 2018-10-01 2023-04-04 Integrated Silicon Solution, (Cayman) Inc. Multi terminal device stack systems and methods
US11107979B2 (en) 2018-12-28 2021-08-31 Spin Memory, Inc. Patterned silicide structures and methods of manufacture

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03185530A (ja) * 1989-12-14 1991-08-13 Mitsubishi Electric Corp データ処理装置
US5550997A (en) * 1992-11-18 1996-08-27 Canon Kabushiki Kaisha In an interactive network board, a method and apparatus for preventing inadvertent loading of a programmable read only memory
US5623604A (en) * 1992-11-18 1997-04-22 Canon Information Systems, Inc. Method and apparatus for remotely altering programmable firmware stored in an interactive network board coupled to a network peripheral
US5768563A (en) * 1993-07-20 1998-06-16 Dell Usa, L.P. System and method for ROM program development
US5537536A (en) * 1994-06-21 1996-07-16 Intel Corporation Apparatus and method for debugging electronic components through an in-circuit emulator
US5850562A (en) * 1994-06-27 1998-12-15 International Business Machines Corporation Personal computer apparatus and method for monitoring memory locations states for facilitating debugging of post and BIOS code
JP2630271B2 (ja) * 1994-09-14 1997-07-16 日本電気株式会社 情報処理装置
US5802268A (en) * 1994-11-22 1998-09-01 Lucent Technologies Inc. Digital processor with embedded eeprom memory
JPH08171504A (ja) * 1994-12-19 1996-07-02 Mitsubishi Denki Semiconductor Software Kk エミュレ−ション装置
WO1996037854A2 (en) * 1995-05-26 1996-11-28 National Semiconductor Corporation Integrated circuit with multiple functions sharing multiple internal signal buses according to distributed bus access and control arbitration
US5621886A (en) * 1995-06-19 1997-04-15 Intel Corporation Method and apparatus for providing efficient software debugging
US5881288A (en) * 1995-09-29 1999-03-09 Matsushita Electric Industrial Co., Ltd. Debugging information generation system
JPH09223036A (ja) * 1996-02-19 1997-08-26 Mitsubishi Electric Corp エミュレータ用マイクロコンピュータユニット
US5701492A (en) * 1996-03-29 1997-12-23 Canon Kabushiki Kaisha Fail-safe flashing of EPROM
US5757690A (en) * 1997-04-23 1998-05-26 Exponential Technology, Inc. Embedded ROM with RAM valid bits for fetching ROM-code updates from external memory

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100601164B1 (ko) * 1999-01-15 2006-07-13 삼성전자주식회사 플래시 롬을 이용한 에뮬레이터 및 펌웨어 업그레이드 방법
JP2001147836A (ja) * 1999-10-01 2001-05-29 Stmicroelectronics Inc マイクロコンピュータデバッグアーキテクチャ及び方法
US6687857B1 (en) 1999-11-10 2004-02-03 Mitsubishi Denki Kabushiki Kaisha Microcomputer which can execute a monitor program supplied from a debugging tool
US6662314B1 (en) 1999-11-15 2003-12-09 Mitsubishi Denki Kabushiki Kaisha Microcomputer including program for rewriting data in an internal flash memory
US6954878B2 (en) 2000-12-28 2005-10-11 Seiko Epson Corporation Break board debugging device
JP2007066336A (ja) * 2003-04-17 2007-03-15 Arm Ltd 集積回路内の診断データ取り込み
US7278073B2 (en) 2003-04-17 2007-10-02 Arm Limited Diagnostic data capture within an integrated circuit
JP2011513834A (ja) * 2008-02-29 2011-04-28 フリースケール セミコンダクター インコーポレイテッド デバッグ資源を共有する方法及び装置
JP2010173633A (ja) * 2009-01-28 2010-08-12 Dspace Digital Signal Processing & Control Engineering Gmbh 制御装置を調整するための方法および操作ユニット
JP2010174891A (ja) * 2009-01-28 2010-08-12 Dspace Digital Signal Processing & Control Engineering Gmbh 制御装置を調整する方法および調整ユニット
JP2010170579A (ja) * 2010-04-19 2010-08-05 Renesas Technology Corp データ処理装置
JP2020003983A (ja) * 2018-06-27 2020-01-09 株式会社リコー 制御システムおよび電子機器

Also Published As

Publication number Publication date
US6075941A (en) 2000-06-13

Similar Documents

Publication Publication Date Title
JPH10214201A (ja) マイクロコンピュータ
US6915416B2 (en) Apparatus and method for microcontroller debugging
JP3210466B2 (ja) Cpuコア、該cpuコアを有するasic、及び該asicを備えたエミュレーションシステム
US6026503A (en) Device and method for debugging systems controlled by microprocessors
EP0814404A1 (en) Debugging apparatus for debugging a program
CN101667154A (zh) 用于改善片上仿真系统中高级语言的仿真速度的装置和方法
JP2010500682A (ja) フラッシュメモリアクセス回路
US6839869B2 (en) Trace control circuit for tracing CPU operation in real time
US6658557B1 (en) Synthesizing the instruction stream executed by a microprocessor from its branch trace data
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
EP1058189B1 (en) Microcomputer with debugging system
JP2005267445A (ja) デバッグシステム
JP4589255B2 (ja) ハードウェア/ソフトウェア協調検証装置
JP2008140124A (ja) データ処理装置
CN113311931B (zh) 一种方便iap的双复位向量8位mcu架构及其方法
CN112802527B (zh) 嵌入式闪存高速编程的实现方法、嵌入式闪存的编程系统
JPS62197831A (ja) デ−タ処理装置
JP3171615B2 (ja) データ転送のリトライ制御方式
JP3097602B2 (ja) データ処理装置
JPH06324883A (ja) Cpuシミュレータ
JP2000284985A (ja) デバッグシステム及び情報記憶媒体
US6854047B2 (en) Data storage device and data transmission system using the same
JPH0934795A (ja) Cpuプログラムのコピープロテクト法
JPH11305811A (ja) コントローラ,分散処理システム及び監視方法
JP2000284986A (ja) デバッグシステム及び情報記憶媒体

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20040527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040527

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040706

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040721

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040721

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040721

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050131