JPH06150025A - パッチ修正可能な電子装置のデバッグに使用する評価用チップ及びイン・サーキット・エミュレータ - Google Patents

パッチ修正可能な電子装置のデバッグに使用する評価用チップ及びイン・サーキット・エミュレータ

Info

Publication number
JPH06150025A
JPH06150025A JP4315875A JP31587592A JPH06150025A JP H06150025 A JPH06150025 A JP H06150025A JP 4315875 A JP4315875 A JP 4315875A JP 31587592 A JP31587592 A JP 31587592A JP H06150025 A JPH06150025 A JP H06150025A
Authority
JP
Japan
Prior art keywords
program
correction
patch
address
electronic device
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.)
Withdrawn
Application number
JP4315875A
Other languages
English (en)
Inventor
Sunao Furui
素直 古居
Iwao Yamamoto
巌 山本
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP4315875A priority Critical patent/JPH06150025A/ja
Publication of JPH06150025A publication Critical patent/JPH06150025A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Microcomputers (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【目的】 パッチ修正可能なマイコンのデバッグにおい
て、モニタープログラムに対してパッチ修正が実行され
てしまうことによる暴走を防止する。 【構成】 汎用コンピュータ61から、イン・サーキッ
ト・エミュレータ55のRAM57内のデバッグ対象プ
ログラムの実行を指令したときは、制御回路56からの
許可信号53がオンとなりゲート51が開かれるので、
CPU34の実行番地が修正アドレスレジスタ内の修正
アドレスに一致すると、一致信号45が修正データレジ
スタ32へ供給され、修正データがデータバスへ流れて
パッチ修正動作が開始される。RAM58内のモニター
プログラムの実行を指令したときは、許可信号53がオ
フとなるのでゲート51が閉じられ、実行番地が修正ア
ドレスに一致しても一致信号が修正データレジスタへ供
給されず、パッチ修正動作は開始されない。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、電子機器に搭載して使
用する1チップマイクロコンピュータのような制御用の
電子装置をパッチ修正可能なアーキテクチャーとした場
合に、このような電子装置に組み込まれているプログラ
ムのデバッグを行う際に使用して好適な評価用チップ及
びイン・サーキット・エミュレータに関する。
【0002】
【従来の技術】従来、民生用のカメラ一体型VTRや小
型ビデオデッキ等の電子機器においては、1チップに集
積されたマイクロコンピュータを制御用の電子装置とし
て該電子機器本体に搭載して使用することが行われてき
た。
【0003】そして、このような1チップに集積された
電子装置は、量産による大幅な価格低減効果を期待でき
るという特長を持っているが、その他にも、特に最近の
半導体の集積技術の発達によって電子装置のROMに記
憶されるプログラムの量を飛躍的に増大させることがで
きるようになったため、このROMに記憶されているプ
ログラムに従って実行される制御も、多種多様で複雑な
内容のものが可能になってきている。
【0004】
【発明が解決しようとする課題】以上のように、最近の
電子装置では、大量のプログラムをROMに記憶してお
くことにより、多種多様で複雑な制御が可能になったわ
けであるが、反面、ROMに記憶されるプログラムの増
大は、そのプログラムに少なからずバグが発生するとい
う問題を惹起することとなった。特に、バグが量産後に
発見された場合には、従来は、バグを修正したマイクロ
コンピュータを再度量産して電子機器に搭載されている
ものと交換するか、あるいは、バグを修正するための外
付部品を電子機器に付設するという対応策が採られてき
たが、いずれも多大の費用がかかるものであった。更
に、カメラ一体型VTRのような部品の実装密度の高い
電子機器では、外付部品を付設するという対応策は、殆
ど実施できないという問題も生じていた。
【0005】
【課題を解決するための手段】本発明は、1チップマイ
クロコンピュータのような電子装置を、あらかじめプロ
グラムのパッチ修正が可能なアーキテクチャを備えたも
のとすることにより、万一、量産バグが発見された場合
でも、従来のように、内部部品の交換あるいは外付部品
の付設等の処理をしなくとも、外部から修正情報を一度
与えるだけで自動的にバグを回避できるようにしたもの
であり、更に、このように構成された電子装置において
実際にプログラムのデバッグを行う場合に必要となる評
価用チップ及びイン・サーキット・エミュレータの具体
的構造を提案するものである。
【0006】そして、かかるイン・サーキット・エミュ
レータは、少なくとも、デバッグの対象となる電子装置
用プログラムを記憶する第1の記憶手段と、デバッグに
使用するチェックプログラムを記憶する第2の記憶手段
と、評価用チップ内の中央処理手段が前記電子装置用プ
ログラムを実行しているときのみパッチ修正許可信号を
出力するパッチ修正許可手段とを設けた構造として構成
される。この場合、第1の記憶手段の電子装置用プログ
ラムを記憶するアドレス空間と、第2の記憶手段のチェ
ックプログラムを記憶するアドレス空間とが共有部分を
持ってもよい。
【0007】また、このイン・サーキット・エミュレー
タに接続して使用される評価用チップの構造は、少なく
とも、中央処理手段と、パッチ修正を行うアドレスを記
憶する修正アドレスレジスタと、中央処理手段の実行ア
ドレスと修正アドレスレジスタ内のデータとを比較する
コンパレータと、該コンパレータの出力に基づきパッチ
修正動作を開始する手段と、イン・サーキット・エミュ
レータとのインターフェースと、パッチ修正動作制御手
段とを備え、かつ、該パッチ修正動作制御手段は、前記
インターフェースを介してイン・サーキット・エミュレ
ータから供給されるパッチ修正許可信号に基づいて、パ
ッチ修正動作のオンオフを制御するように構成される。
【0008】ここで、パッチ修正動作制御手段は、パッ
チ修正許可信号によってコンパレータの出力をオンオフ
制御するものとするのが構成的に容易である。
【0009】
【作用】電子装置がパッチ修正の可能なアーキテクチャ
ーを持つことにより、ROM内のバグの修正、あるいは
その部分的変更が、外部から修正情報を与えるのみで迅
速かつ容易に実行される。更に、このようなパッチ修正
の可能な電子装置のデバッグを、イン・サーキット・エ
ミュレータを用いて行う場合に、電子装置がデバッグの
対象となっているプログラムを実行しているときのみパ
ッチ修正が実行可能であり、それ以外のプログラムを実
行しているときにはパッチ修正動作が禁止され、パッチ
修正を実行すべきプログラム以外のプログラムに対して
パッチ修正動作が実行されることによる暴走の発生を防
止する。
【0010】また、デバッグの対象であるプログラムに
対するパッチ修正動作が可能な状態でデバッグを進めて
いくことができるから、このパッチ修正動作自体のデバ
ッグも行うことができる。
【0011】
【実施例】以下、本発明の実施例について図面を参照し
ながら詳細に説明する。まず、パッチ修正の可能な電子
装置について説明し、つぎに、この電子装置のデバッグ
に使用するデバッグ装置について説明する。
【0012】1. パッチ修正の可能な電子装置 図1は、かかる電子装置の一例の基本構成を示すブロッ
ク図である。図において、電子装置30は、中央処理手
段であるCPU34、RAM36、ROM35、データ
バス43、アドレスバス46等から成る従来の1チップ
マイクロコンピュータの内部に、更に、修正アドレスレ
ジスタ31と、修正データレジスタ32と、コンパレー
タ37と、スイッチ33と、入力手段42とを設けた構
造を有している。
【0013】また、電子装置30の外部には外部記憶装
置としてのEEPROM38が設けられている。この電
子装置30を使用してバグの修正された電子機器制御を
行う場合には、まずデバッグ処理によりROM35の中
のバグを見つけだし、このバグを修正するために必要な
情報をあらかじめ外部からEEPROM38に記憶させ
ておくようにする。
【0014】ここで、上記のバグを修正するための情報
について説明すると、この修正情報は、ROM35にお
けるプログラム中のバグの存在により変更を要する部分
の先頭アドレス(以下、これを修正アドレスという)、
バグ修正プログラムの中で前記のROM35の変更を要
する部分のプログラムに代えて実行されるプログラム
(以下、これをソフトジャンパーといい、このソフトジ
ャンパーは、原則的にはROM35の中に存在する個々
のバグに対応してバグと等しい個数用意される。そし
て、この電子装置においては、ROM35のバグが存在
する変更すべき部分を対応するソフトジャンパーに置き
換えて実行する、いわゆるパッチ修正によりバグの修正
が行われる。)、バグ修正プログラムを終了した後に復
帰するROM35上の戻り番地、即ち、ROM35上の
変更を要する部分の直後の番地等から構成される。
【0015】1.1 電子機器制御プログラム 次に、この電子装置30を用いて電子機器を制御する場
合の全体的なフローの概略について、図2(a)及び図
2(b)のフローチャートを参照しながら説明する。電
源をオンにして電子装置30を起動すると、まず、前記
のEEPROM38に記憶されている修正情報を入力手
段42を介して電子装置30へ取り込むためのプログラ
ムが実行開始され、具体的には、修正アドレスを修正ア
ドレスレジスタへ格納する操作、修正データを修正デー
タレジスタへ格納する操作、及び修正情報に基づくパッ
チ修正データをRAM36へ格納する操作が行われる
(図2(a)のST11)。
【0016】ここで、RAM36へ格納されるパッチ修
正データについて説明すると、これは主に、前述の修正
アドレス、ソフトジャンパー、ROM35上の戻り番
地、並びに各ソフトジャンパーのRAM36上における
先頭番地、及び1バイトで構成されるテーブルコール命
令から構成されている。そして、これらのデータはいず
れもROM35の中に存在する個々のバグに対応したも
のがそれぞれ用意されていて、図4のRAM36のアド
レスマップに表されているように、テーブル形式でRA
M36に格納されており、各バグの修正動作において
は、修正対象となるバグに対応したデータがそれぞれの
テーブルから読み出されて使用される。
【0017】以上に説明したST11の操作が終了する
と、電子装置30は、目的とする電子機器の制御を開始
する。電子機器の制御においては、まず最初に、ROM
に格納されているプログラムにおいて最初にCPU34
が実行すべき実行アドレスが設定される(ST12)。
【0018】そして、この実行アドレスは、図1におい
ては、CPU34からアドレスバス46を介してコンパ
レータ37へ供給され、ここで修正アドレスレジスタ3
1に格納されている修正アドレスと比較される(ST1
7)。ここで、電子装置430による電子機器の制御状
態が、CPU34の実行アドレスが、ROM35内に格
納されている電子機器制御のための通常プログラム中の
バグが存在する変更すべき部分に到達する以前、即ち修
正アドレスに到達する以前は、コンパレータ37から出
力される一致信号45がインアクティブであることによ
りスイッチ33の可動端子がROM35側の固定端子に
接続された状態が維持されるので、ST12で設定され
た実行アドレスの内容が実行される(ST14及び1
5)。
【0019】この実行を終了すると、次に実行すべきア
ドレスを設定して(ST16)から判断ステップST1
7へ再び戻る。そして、CPU34によるプログラム実
行が進行して、その実行アドレスが修正アドレスに到達
すると、コンパレータ37から出力される一致信号45
がアクティブになり、この一致信号45がスイッチ33
へ供給されることにより、スイッチ33の可動端子aが
修正データレジスタ32側の固定端子へ切り換え接続さ
れる(ST18)。
【0020】この切り換え動作によって、CPU34は
ROM35の通常プログラムに代えて修正データレジス
タ32に格納されている修正データである1バイトのテ
ーブルコール命令を受け付けるようになり、コールされ
たテーブルに記憶されている番地へのサブルーチンコー
ル動作が実行される。そして、このコール先の番地以降
には、バグを修正するためのプログラムが格納されてお
り、バグ修正が実行されることになる(ST19及び2
0)。
【0021】バグ修正プログラムの最後のステップで
は、ROM35上の修正部分の直後のアドレスへ戻るた
めのジャンプ動作が実行され、ROM35上の通常プロ
グラムの実行が再開される。以上に説明したように、こ
の電子装置ではテーブルコール命令を利用してROM3
5に格納されている通常プログラムからバグ修正プログ
ラムへ移行し、また、バグ修正プログラムの実行を終了
すると、ジャンプ命令によってバグ修正プログラムから
通常プログラム上の修正部分の直後のアドレスへ戻るよ
うにしているから、通常プログラムにおけるどのような
長さの修正部分に対してもバグ修正用プログラムを手当
てすることができ、しかも、このバグ修正用プログラム
の長さも必要に応じて任意のものを採用することができ
る。
【0022】特に、パッチ修正として1バイトのすげ替
えしかできないようなマイクロコンピュータで、1バイ
ト命令として任意のアドレスにジャンプする命令を持た
ないものであっても、前述のように、1バイトのテーブ
ルコール命令とジャンプ命令を用いることにより、任意
のサイズのパッチ修正プログラムを組むことが可能にな
る。
【0023】1.2 バグ修正プログラム 次に、以上に述べたバグ修正プログラムの具体的内容に
ついて、図3及び図4を用いて詳細に説明する。バグ修
正プログラムを実行するに際しては、まず最初に、RA
M26に記憶された個々のソフトジャンパーを実行する
に先立って必要とされる共通な前処理操作、即ちソフト
ジャンパー起動処理を行う必要があり、この電子装置で
用いられるバグ修正プログラムは、ソフトジャンパー起
動処理プログラムとソフトジャンパーとから構成されて
いる。
【0024】そこで、まず、ソフトジャンパー起動処理
プログラムについて説明する。ソフトジャンパー起動処
理プログラムは個々のソフトジャンパーに対して共通な
ものであるため、あらかじめROM35の特定領域に格
納された構造になっている(図4のROM35のアドレ
スマップ参照)。そして、修正データレジスタ32に格
納されているテーブルコール命令が指示するテーブルの
アドレスには、上記のソフトジャンパー起動処理プログ
ラムを格納しているROM35の特定領域の先頭番地が
記憶されているので、電子装置30のCPU34は、上
記テーブルコール命令を受け付けることにより、上記の
ソフトジャンパー起動処理プログラムの実行を開始す
る。
【0025】この起動処理プログラムの具体的フローを
示すと図3(a)のようになる。このフローにおいて、
ソフトジャンパー起動処理が開始されると、まず直ちに
電子装置30のプログラム状態語PSWの値及び各レジ
スタの値がRAMに保存され(ST22)、これらの保
存された値は、RAM26上の実行すべきソフトジャン
パーの先頭アドレスへジャンプする直前に復帰させられ
る(ST25)。
【0026】なお、このような保存・復帰操作を行うこ
とにより、電子装置30は、ソフトジャンパー起動処理
中の内部状態の変化にかかわりなく、見かけ上、テーブ
ルコール命令発生時点で直ちにソフトジャンパーの実行
を開始したのと同じようにすることができる。
【0027】上記ST22の保存操作の次に、現在のソ
フトジャンパー起動処理を開始する契機となったテーブ
ルコール命令(図2(b)のST19において修正デー
タレジスタから読み込まれたテーブルコール命令)を判
別する。この判断動作は、各テーブルコール命令にはR
OM上のどのバグに対応したテーブルコール命令である
かを示すコードが付与されているので、このコードを識
別することにより行う。そして、この判別結果に基づい
て、実行すべきソフトジャンパーが何番目のものである
かを判断し、更に、この実行すべきソフトジャンパーの
先頭番地を、RAM36のソフトジャンパー先頭番地格
納テーブルの中から読み出す(図3(a)のST23、
及び、図4のRAM36におけるテーブル参照。)。
【0028】また、この電子装置においてはジャンプ命
令によってバグ修正プログラムから通常プログラムへ復
帰するようにしているので、通常プログラムからバグ修
正プログラムへ移行するためのテーブルコール命令の発
生に伴ってRAMのスタックにプッシュされた戻り番地
は不要なものとなる。そこで、ステップST23の次に
は、この不要な戻り番地を廃棄する処理を実行する(S
T24)。
【0029】次に前述のとおり保存しておいた値を復帰
させ(ST25)た後、ST23で読み出したソフトジ
ャンパーの先頭番地へジャンプし(ST26)、ソフト
ジャンパーの実行を開始する。ソフトジャンパーにおい
ては、図3(b)に示されるように、まず、ROM35
上の修正部分に代わる正しい作業プログラムを実行する
(ST27)。
【0030】この作業を終了したのち、次の修正部分の
修正アドレスをRAM36の修正アドレス格納テーブル
から読み出して修正アドレスレジスタに格納する(ST
28)と共に、次に実行すべきソフトジャンパーに対応
したテーブルコール命令を同じくRAM36のテーブル
コール命令格納テーブルから読み出して修正データレジ
スタに格納し(ST29)、次のバグ修正に備える。
【0031】但し、これらの修正アドレスレジスタ、修
正データレジスタのデータ書き換え処理は、修正アドレ
スが一箇所しかない場合は省略できる。そして、最後
に、ROM35上の戻るべき番地をRAM36の戻り番
地格納テーブルから読み出して、この戻り番地へジャン
プ(ST30)し、通常プログラムを再開する。
【0032】なお、以上のステップST28〜30にお
いて、RAM36上の各テーブルから該当する修正アド
レス、テーブルコール命令、戻り番地を読み出す操作
は、基本的には、ステップST23におけるテーブルコ
ール命令の判別結果に基づいて行う。
【0033】以上に説明したバグ修正プログラムの進行
の様子を、ROM35及びRAM36のアドレスマップ
上で示すと、図4における矢印のように表される。この
図では、通常プログラムの実行アドレスが修正アドレス
N に到達してから、バグ修正プログラムへジャンプし
て該修正アドレスXN に対応したソフトジャンパーNを
実行した後、再びROM35上の通常プログラムへ復帰
する様子を示しており、プログラムは、図における
(1)、(2)、(3)、(4)の順に進行する。
【0034】2. デバッグ装置 以上のようにしてパッチ修正の可能な電子装置が構成さ
れるが、次に、このような電子装置に関して、実際にそ
のプログラムのデバッグを行うための装置について説明
する。図5は、本発明によるデバッグ装置の実施例を示
すブロック図であり、図示されるように、本発明のデバ
ッグ装置は、イン・サーキット・エミュレータ55と、
評価用チップ50と、汎用コンピュータ61とから構成
される。
【0035】ここで、イン・サーキット・エミュレータ
55は、制御回路56と、2個のRAM57と58とか
ら構成されている。また、評価用チップ50は、図1に
示したパッチ修正可能な電子装置において、そのROM
35を除去したものに対応しており、更に、図に示され
るようにイン・サーキット・エミュレータ55とのイン
ターフェース(データバス43、アドレスバス46、信
号線52〜54)を有している。そして、そのCPU3
4は、イン・サーキット・エミュレータ55内のRAM
57に格納されているプログラム或るいはRAM58に
格納されているプログラムのうちのいずれか一方を択一
的に実行することができるように構成されている。
【0036】この場合、CPU34がいずれのプログラ
ムを実行するかは、イン・サーキット・エミュレータ5
5内の制御回路56により決定されるように構成されて
おり、例えば、RAM57に格納されているプログラム
を実行させるときは、制御回路56から信号線59を通
してRAM57へ出力されるイネーブル信号をアクティ
ブにすることによってCPU34がRAM57をアクセ
スするようにし、また、RAM58に格納されているプ
ログラムを実行させるときは、信号線60を通してRA
M58へ出力されるイネーブル信号をアクティブにする
ことによりCPU34がRAM58をアクセスするよう
にする。
【0037】また、汎用コンピュータ61としては、例
えば、ワークステーション等を用いることができる。次
に、このような構成のデバッグ装置を用いて実際にデバ
ッグを行う場合の具体的手順について説明すると、以下
のようになる。
【0038】まず、オペレータは、汎用コンピュータ6
1を操作することにより、このコンピュータに接続され
ているイン・サーキット・エミュレータ55の制御回路
56を介してRAM57へデバッグ対象である図1の電
子装置30におけるROM35のプログラムを書き込
む。また、RAM58へは、同様に汎用コンピュータ6
1を操作することにより、デバッグの際に必要な種々の
チェックを実行するためのプログラム、例えば、評価用
チップ50内のCPU34のアキュムレータの内容或る
いは種々のレジスタの内容を、汎用コンピュータ61の
ディスプレイ上に表示させるプログラム等が格納され
る。
【0039】以上のようにしてRAM57及び58へデ
バッグ対象プログラム(ROM35のプログラム)とチ
ェックプログラムとをそれそれ格納した後、オペレータ
は汎用コンピュータ61を操作して制御回路56を制御
することにより、CPU34にRAM57のデバッグ対
象プログラムを実行させたり、RAM58のチェックプ
ログラムを実行させたり、或るいは、制御回路56から
信号線54にHALT信号を出力させてCPU34を強
制的に停止させる等の動作を行わせることができ、これ
によって、オペレータは、例えば、まず最初にCPU3
4にデバッグ対象プログラムを実行させて制御機器の動
作の不良箇所を発見し、次にこの不良箇所でCPU34
を停止させたり、或るいはチェックプログラムを実行さ
せて汎用コンピュータのディスプレー上で評価用チップ
の任意箇所の内部状態を調べることにより不良原因を解
明し、デバッグを進めていくことができる。
【0040】本発明によるデバッグ装置においては、以
上のようにしてデバッグが可能であるが、このデバッグ
において、CPUがRAM57のデバッグ対象プログラ
ムを実行しているときには、CPU34の実行アドレス
が修正アドレスレジスタ31に格納されている修正アド
レスに一致すると、コンパレータ37から出力される一
致信号がアクティブ(値“1”)になって修正データレ
ジスタ32内の修正データがデータバス43へ出力さ
れ、これによって、図1に関して説明したようにて、前
述のとおりパッチ修正が実行されることになり、このデ
バッグ装置では、このパッチ修正の動作自体もデバッグ
できるようになっている。
【0041】ところで、このパッチ修正動作は、本来的
には、RAM57のチェックプログラムの実行時にのみ
行われるように設けられているものであるが、CPU3
4がRAM58のチェックプログラムを実行していると
きにも行われてしまう場合がある。即ち、RAM57及
び58は、前述のように、CPU34によって択一的に
アクセスされるものであるため、デバッグ対象プログラ
ムとチェックプログラムとが同時に実行されることはあ
り得ず、信号線59及び60の出力の両者が共にアクテ
ィブになることはない。従って、RAM57及び58の
割りつけられているメモリー空間は、例えば、図6に示
すように重複している場合も考えられる。
【0042】そして、このように重複したメモリー空間
を持っている場合には、RAM58のチェックプログラ
ムを実行しているときにも、CPU34の実行アドレス
が修正アドレスレジスタ31内の修正アドレスと一致す
ることがあり、これによって修正データレジスタに格納
されている修正データがデータバス43へ流れ始め、パ
ッチ修正動作が開始されてしまうことになる。
【0043】然るに、パッチ修正データは、デバッグ対
象プログラムに対してのみ意味のあるものであるから、
チェックプログラムに対してかかるパッチ修正動作を行
った場合には、CPU34は暴走してしまうという問題
を生ずることになる。このような暴走を回避するために
は、RAM57及び58に割りつけられているメモリー
空間に重複部分が生じないようにすればよいが、そうし
た場合には、RAMの記憶領域の利用効率がはなはだ悪
いものとなり、プログラムを組む上での制約も大きくな
ってしまうという問題がある。
【0044】また、デバッグを行う際には、パッチ修正
動作を一切行わないような構成にするという解決手段も
考えられるが、この場合には、デバッグ対象プログラム
に対するパッチ修正動作自体のデバッグを行うことがで
きないという不都合が生ずるので望ましいものではな
い。そこで、本発明のデバッグ装置では、これらの問題
点を克服するために、次のような手段を講じている。
【0045】即ち、本発明のデバッグ装置では、制御回
路56から評価用チップ側へ信号線53を介して修正許
可信号を出力するように構成されていて、オペレータが
汎用コンピュータ61を操作してデバッグ対象プログラ
ムを実行するように指令を出すと、制御回路56は、前
述のように信号線59のイネーブル信号をアクティブに
してRAM57をアクセス可能にするが、それと同時
に、信号線53に出力される修正許可信号がアクティブ
(値“1”)にされる。
【0046】そして、この修正許可信号は、評価用チッ
プ内において一致信号45と共にアンドゲート51へ供
給されているので、デバッグ対象プログラムの実行時に
は、一致信号45がアクティブになるとアンドゲート5
1は、その都度オンとなり、このオン信号に基づいて修
正データレジスタ32のデータがデータバス43へ出力
されてパッチ修正が実行される。また、このオン信号の
反転信号が信号線52を介して制御回路56へ供給され
ることにより、信号線59のイネーブル信号がインアク
ティブとなり、これによって、RAM57のデータがデ
ータバス43へ流れるのが禁止される。
【0047】これに対して、オペレータがデバッグ対象
プログラムを実行させる指令以外の指令、例えば、チェ
ックプログラムを実行させる指令を出したときには、修
正許可信号がインアクティブ(値“0”)となるように
構成されているので、アンドゲート51は常にオフとな
り、このオフ出力によって修正データレジスタ32のデ
ータがデータバス43へ流れることは禁止され、パッチ
修正動作は起こり得ない。
【0048】また、デバッグ対象プログラムを実行させ
る指令以外の指令であって、特に、制御回路がRAM5
7のデータを読み出す処理を行うような指令を出したと
きは、アンドゲート51のオフ出力によって修正データ
レジスタ内のデータがデータバスへ流れ出すことは禁止
されているので、制御回路56が誤って修正データレジ
スタ内のデータを読んでしまうというようなミスは生じ
ない。
【0049】なお、パッチ修正動作を禁止する方法とし
て、以上に説明した実施例では、コンパレータの出力側
に禁止手段(アンドゲート)を設けているが、それ以外
の方法としては、コンパレータへ入力される修正アドレ
スレジスタからの入力データ或るいはアドレスバス46
からの入力データを禁止する手段を設けるとか、コンパ
レータの動作そのものを禁止する手段を設けるとか、も
しくは、修正アドレスレジスタの内容を、CPU34が
決してアクセスすることの無い無効アドレスに置き換え
る手段を設ける等の方法を採用することもできる。
【0050】
【発明の効果】以上、詳細に説明したように、本発明に
よれば、電子機器を制御するための制御装置としてパッ
チ修正の可能な電子装置を用いることにより、量産後に
バグが発見されたり、あるいは部分的変更の必要性が生
じても、従来のような外付け回路の付加や、電子装置そ
のものの再度の量産等という多大な費用がかかる対応方
法に代え、単に、外部から修正情報を与えるのみで迅速
かつ容易に対応することができる。
【0051】更に、このようなパッチ修正の可能な電子
装置のデバッグを、イン・サーキット・エミュレータを
用いて行う場合に、電子装置がデバッグの対象となって
いるプログラム以外のプログラムを実行しているときに
は、パッチ修正動作を強制的に禁止する手段を設けるこ
とによって、パッチ修正を実行すべきプログラム以外の
プログラムに対してパッチ修正動作が実行されることに
よる暴走の発生を回避することができる。
【0052】このように、本発明によるデバッグ装置で
は、デバッグの対象であるプログラムに対するパッチ修
正動作が可能な状態でデバッグを進めていくことができ
るから、このパッチ修正動作自体のデバッグも行うこと
ができるという利点がある。更に、暴走の危険性を回避
するために、イン・サーキット・エミュレータ内のデバ
ッグの対象であるプログラムを格納している記憶装置の
メモリー空間とそれ以外のプログラムを格納している記
憶装置のメモリー空間とを、重複部分が生じないように
設定するという必要性もないので、それぞれのメモリー
空間を自由に設定することができ、記憶装置における記
憶領域の利用効率の向上と、プログラムを設計する上で
の高い自由度が得られる。
【図面の簡単な説明】
【図1】本発明においてデバッグの対象となる電子装置
の基本構成を示すブロック図である。
【図2】同電子装置の動作を示すフローチャートであ
る。
【図3】同フローチャートにおけるバグ修正プログラム
のフローを示す図である。
【図4】同電子装置における記憶手段のアドレスマッ
プ、及びプログラムの進行状態を示す図である。
【図5】本発明によるデバッグ装置の実施例を示す図で
ある。
【図6】同実施例におけるイン・サーキット・エミュレ
ータ内の記憶手段のアドレス空間を示す図である。
【符号の説明】
30…電子装置、31…修正アドレスレジスタ、32…
修正データレジスタ、33…スイッチ、34…CPU、
35…ROM、36,57,58…RAM、37…コン
パレータ、38…EEPROM、42…入力手段、43
…データバス、45…一致信号、46…アドレスバス、
50…評価用チップ、55…イン・サーキット・エミュ
レータ、56…制御回路、61…汎用コンピュータ、
【手続補正書】
【提出日】平成4年12月25日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】請求項1
【補正方法】変更
【補正内容】

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 パッチ修正可能な電子装置のデバッグに
    使用する評価用チップであって、少なくとも、(a)中
    央処理手段と、(b)パッチ修正を行うアドレスを記憶
    する修正アドレスレジスタと、(c)中央処理手段の実
    行アドレスと修正アドレスレジスタ内のデータとを比較
    するコンパレータと、(d)該コンパレータの出力に基
    づきパッチ修正動作を開始する手段と、(e)イン・サ
    ーキット・エミュレータとのインターフェースと、
    (f)パッチ修正動作制御手段と、を備え、 かつ、該パッチ修正動作制御手段は、前記中央処理手段
    が前記電子装置用のプログラムを実行しているときのみ
    前記インターフェースを介してイン・サーキット・エミ
    ュレータから供給されるパッチ修正許可信号に基づい
    て、パッチ修正動作を実行可能とするものであることを
    特徴とする評価用チップ。
  2. 【請求項2】 パッチ修正動作制御手段は、パッチ修正
    許可信号によってコンパレータの出力をオンオフ制御す
    るものであることを特徴とする請求項1記載の評価用チ
    ップ。
  3. 【請求項3】 パッチ修正可能な電子装置のデバッグに
    使用するイン・サーキット・エミュレータであって、少
    なくとも、(a)デバッグの対象となる電子装置用プロ
    グラムを記憶する第1の記憶手段と、(b)デバッグに
    使用するチェックプログラムを記憶する第2の記憶手段
    と、(c)評価用チップ内の中央処理手段が前記電子装
    置用プログラムを実行しているときのみパッチ修正許可
    信号を出力するパッチ修正許可信号発生手段と、を備え
    ていることを特徴とするイン・サーキット・エミュレー
    タ。
  4. 【請求項4】 第1の記憶手段の電子装置用プログラム
    を記憶するアドレス空間と、第2の記憶手段のチェック
    プログラムを記憶するアドレス空間とが共有部分を持つ
    ことを特徴とする請求項3記載のイン・サーキット・エ
    ミュレータ。
JP4315875A 1992-10-30 1992-10-30 パッチ修正可能な電子装置のデバッグに使用する評価用チップ及びイン・サーキット・エミュレータ Withdrawn JPH06150025A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4315875A JPH06150025A (ja) 1992-10-30 1992-10-30 パッチ修正可能な電子装置のデバッグに使用する評価用チップ及びイン・サーキット・エミュレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4315875A JPH06150025A (ja) 1992-10-30 1992-10-30 パッチ修正可能な電子装置のデバッグに使用する評価用チップ及びイン・サーキット・エミュレータ

Publications (1)

Publication Number Publication Date
JPH06150025A true JPH06150025A (ja) 1994-05-31

Family

ID=18070652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4315875A Withdrawn JPH06150025A (ja) 1992-10-30 1992-10-30 パッチ修正可能な電子装置のデバッグに使用する評価用チップ及びイン・サーキット・エミュレータ

Country Status (1)

Country Link
JP (1) JPH06150025A (ja)

Similar Documents

Publication Publication Date Title
US6662314B1 (en) Microcomputer including program for rewriting data in an internal flash memory
EP0092646B1 (en) Method and apparatus of program patching in a data processing system
US5664199A (en) Microcomputer free from control of central processing unit (CPU) for receiving and writing instructions into memory independent of and during execution of CPU
EP0263447A2 (en) A method and apparatus for implementing a branch and return on address instruction in a digital data processing system
US4780819A (en) Emulator system utilizing a program counter and a latch coupled to an emulator memory for reducing fletch line of instructions stored in the emulator memory
JPH1139189A (ja) 集積回路装置、回路検査装置および方法
JPH04346127A (ja) 電子装置
US8612720B2 (en) System and method for implementing data breakpoints
JP3810805B2 (ja) 情報修正システム
JPH10214203A (ja) 情報処理装置
JPH06150025A (ja) パッチ修正可能な電子装置のデバッグに使用する評価用チップ及びイン・サーキット・エミュレータ
US7203867B2 (en) Processor system, processor and arithmetic processing method
JP3956305B2 (ja) 不揮発性半導体記憶装置およびデータ処理装置
JP2856152B2 (ja) カーネルデバッガにおけるソフトウェアブレークポイント管理方式
GB2250838A (en) Patching a program stored in ROM
JPS6310234A (ja) 割込み処理装置
JPH06222917A (ja) 電子装置
JPH08249206A (ja) スタック領域破壊検出機能付き計算機
KR940007675A (ko) 데이타프로세서 및 이것을 사용하는 디버그장치
US7194401B2 (en) Configuration for in-circuit emulation of a program-controlled unit
JPS5816349A (ja) メモリ拡張代替方式
JPS60112148A (ja) メモリ装置
JPH02281341A (ja) デバッグ時のライトデータ確認方法
JPH11212945A (ja) マイクロコンピュータおよびそのメモリ
JP2002014843A (ja) プログラム実行トレース方式

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000104