JP3810805B2 - 情報修正システム - Google Patents
情報修正システム Download PDFInfo
- Publication number
- JP3810805B2 JP3810805B2 JP27494392A JP27494392A JP3810805B2 JP 3810805 B2 JP3810805 B2 JP 3810805B2 JP 27494392 A JP27494392 A JP 27494392A JP 27494392 A JP27494392 A JP 27494392A JP 3810805 B2 JP3810805 B2 JP 3810805B2
- Authority
- JP
- Japan
- Prior art keywords
- correction
- information
- storage means
- address
- stored
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/66—Updates of program code stored in read-only memory [ROM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
- G06F9/4486—Formation of subprogram jump address
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
- Microcomputers (AREA)
Description
【産業上の利用分野】
本発明は、電子機器を制御するための装置として、該電子機器に搭載して使用するのに好適な1チップマイクロコンピュータのような電子装置に関する。
【0002】
【従来の技術】
従来、民生用のカメラ一体型VTRや小型ビデオデッキ等の電子機器においては、該電子機器の全体または一部を制御するための電子装置として、記憶手段へのアクセス制御及び演算処理等を行う中央処理手段(CPU)と、情報を固定的に記憶するリードオンリメモリ(ROM)及び情報の書込みと読出しが可能なランダムアクセスメモリ(RAM)等の記憶手段と、入出力ポート等の周辺回路等とを1チップに集積した1チップマイクロコンピュータを、前記の電子機器本体に搭載して使用することが行われてきた。
【0003】
そして、このような1チップに集積された電子装置は、量産による大幅な価格低減効果を期待できるという特長を持っているが、その他にも、特に最近の半導体の集積技術の発達によってROMに記憶されるプログラムの量を飛躍的に増大させることができるようになったため、このROMに記憶されているプログラムに従って実行される制御も、多種多様で複雑な内容のものが可能になってきている。
【0004】
【発明が解決しようとする課題】
以上のように、最近の電子装置では、大量のプログラムをROMに記憶しておくことにより、多種多様で複雑な制御が可能になったわけであるが、反面、ROMに記憶されるプログラムの増大は、そのプログラムに少なからずバグが発生するという問題を惹起することとなった。
特に、バグが量産後に発見された場合には、従来は、バグを修正したマイクロコンピュータを再度量産して電子機器に搭載されているものと交換するか、あるいは、バグを修正するための外付部品を電子機器に付設するという対応策が採られてきたが、いずれも多大の費用がかかるものであった。更に、カメラ一体型VTRのような部品の実装密度の高い電子機器では、外付部品を付設するという対応策は、殆ど実施できないという問題も生じていた。
本発明は、かかる問題点を解決するためになされたものである。
【0005】
【課題を解決するための手段】
本発明は、1チップマイクロコンピュータのような電子装置のアーキテクチャをあらかじめ量産バグに対応できるものとすることにより、万一、量産バグが発見された場合でも、従来のように、内部部品の交換あるいは外付部品の付設等の処理をしなくとも、外部から修正情報を一度与えるだけで自動的にバグの回避が可能となる電子装置の情報修正システムを提案するものである。
【0006】
前記目的を達成するために、本発明にかかる情報修正システムは、記憶手段へのアクセス制御及び演算処理等を行う中央処理手段と、ソフトジャンパー起動処理プログラムを含む情報を固定的に記憶する固定記憶手段と、該固定記憶手段に記憶された特定部分の情報を修正するための修正情報を入力する入力手段と、該入力手段より入力され、前記個々の特定部分の情報に対応したソフトジャンパー及び該ソフトジャンパーの位置情報を含む修正情報が記憶される修正情報記憶手段と、前記中央処理手段によるアクセスを、前記固定記憶手段における前記特定部分の情報から、該特定部分に対応する前記ソフトジャンパーへ切り換えるオペランドを持たない1バイトのテーブルコール命令のうち最初に実行するソフトジャンパーに対応するテーブルコール命令を前記入力手段により起動時に格納し、前記中央処理手段による前記特定部分の情報に代わるソフトジャンパー実行時に、次に実行するソフトジャンパーに対応するテーブルコール命令を格納する修正データ記憶手段と、前記固定記憶手段に記憶された情報における前記特定部分の修正アドレスのうち最初に使用するアドレスが前記入力手段により起動時に格納され、前記中央処理手段による前記特定部分の情報に代わるソフトジャンパー実行時に、次に使用するアドレスが格納される修正アドレス記憶手段と、前記修正アドレスと実行アドレスとを比較する比較手段と、前記比較手段による前記修正アドレスと前記実行アドレスとの一致信号を受けて、前記固定記憶手段中の前記特定部分の情報が記憶されている領域への前記中央処理手段によるアクセスを、前記固定記憶手段から前記修正データ記憶手段に記憶されたテーブルコール命令へ切り換える切換手段と、が一体に集積されてなる電子装置と、前記入力手段により、前記修正情報記憶手段、前記修正データ記憶手段、並びに前記修正アドレス記憶手段に入力される前記修正情報が記憶される修正情報記憶領域を有する外部修正情報記憶手段と、
を有し、上記中央処理手段は、上記テーブルコール命令を受け付けることにより、該テーブルコール命令が指示するアドレスに記憶された前記固定記憶手段のソフトジャンパー起動処理プログラムを実行し、前記テーブルコール命令を判別して、前記修正情報記憶手段に格納された該テーブルコール命令に対応した前記ソフトジャンパーの前記位置情報を参照することにより該ソフトジャンパーを実行することを特徴とするものである。
【0007】
なお、修正情報記憶手段におけるパッチ修正データの記憶位置を算出する操作は、修正情報を修正情報記憶手段へ記憶する操作を実行する際に同時に行うようにするのが望ましい。
そして、中央処理手段によるアクセスを固定記憶手段から修正情報記憶手段へ切り換えるための操作を開始させる指令として、コールされたテーブルに記憶されている番地へのサブルーチンコール動作を実行するテーブルコール命令を使用することとし、また、中央処理手段によるアクセスを修正情報記憶手段から固定記憶手段へ戻す操作は、ジャンプ命令により実行するようにする。
【0008】
以上のように、本発明の電子装置の情報修正システムでは、ジャンプ命令によって中央処理手段によるアクセスが修正情報記憶手段から固定記憶手段へ戻されるので、これにより不要となるテーブルコール命令発生時にスタックに格納された戻り番地データを、上記のジャンプ命令によって固定記憶手段へ戻る以前に廃棄する手段を設けておく。
【0009】
更に、前記のテーブルコール命令が発生した時には、直ちに電子装置内のレジスタの値及びプログラム状態語の値のうちの必要なものを保存し、パッチ修正開始直前にこの保存された値を復帰させるようにする。
【0010】
【作用】
上記のように、修正情報の中に存在するパラメータによって修正情報記憶手段内におけるパッチ修正データの記憶位置を算出するので、修正情報記憶手段内におけるパッチ修正データの記憶位置は固定したものとする必要がなく、個々のパッチ修正データを修正情報記憶手段内のパッチ修正データ記憶領域に先頭から順番に稠密に記憶することができるから、該記憶領域を大幅に節約することができる。
【0011】
また、修正情報を修正情報記憶手段へ記憶する際に、修正情報記憶手段におけるパッチ修正データの記憶位置を算出しておくので、個々のパッチ修正を実行するときに実行対象となるパッチ修正データの記憶位置を一々算出する必要がなく、パッチ修正プログラムがそれだけ簡潔になる。
パッチ修正のための修正情報記憶手段へのアクセス切換がテーブルコール命令の発生に基づいて開始されると共に、固定記憶手段への復帰動作がジャンプ命令により実行されるので、パッチ修正プログラムは任意のサイズのものを採用することが可能であり、固定記憶手段上の任意のバグに対して高い修正能力を持たせることができる。
【0012】
また、テーブルコール命令の発生時にスタックに格納された不要な戻り番地データは、修正動作中に廃棄されるからスタックの中に累積していくことがなく、スタック領域外のデータが破壊されない。さらに、テーブルコール命令の発生時のレジスタの値及びプログラム状態語の値が直ちに保存され、これらの値がパッチ修正開始直前に復帰させられるので、本発明の電子装置の情報修正システムは、テーブルコール命令の発生からパッチ修正開始までの間の電子装置の内部状態の変化にかかわりなく、テーブルコール命令の発生により直ちにパッチ修正を開始したように動作する。
【0013】
【実施例】
以下、本発明の実施例について図面を参照しながら詳細に説明する。
図1は本発明の実施例の基本構成を示すブロック図である。
本発明の電子装置1は、図に示されるように、従来のCPU14、RAM26、ROM15、データバス13、アドレスバス16等から成る1チップマイクロコンピュータの内部に、更に、修正アドレスレジスタ31と、修正データレジスタ32と、コンパレータ22と、スイッチ33と、入力手段12とを設けた構造を有している。
【0014】
また、電子装置1の外部には外部記憶装置としてのEEPROM27が設けられている。
この電子装置1を使用してバグの修正された電子機器制御を行う場合には、ROM15の中に発生したバグの内容に応じて、そのバグを修正するために必要な情報をあらかじめ外部からEEPROM27に記憶させておくようにする。
【0015】
ここで、上記のバグを修正するために必要な情報について説明すると、この修正情報は、ROM15におけるプログラム中の量産後に発見されたバグの存在により変更を要する部分の先頭アドレス(以下、これを修正アドレスという)、バグ修正プログラムの中で前記のROM15の変更を要する部分のプログラムに代えて実行されるRAM26へ転写される修正情報であるプログラム(以下、これをソフトジャンパーといい、このソフトジャンパーは、原則的にはROM15の中に存在する個々のバグに対応してバグと等しい個数用意される。そして、本発明においては、ROM15のバグが存在する変更すべき部分を対応するソフトジャンパーに置き換えて実行する、いわゆるパッチ修正によりバグの修正が行われる。)、バグ修正プログラムを終了した後に復帰するROM15上のアドレス、即ち、ROM15上の変更を要する部分の直後のアドレス等から構成される。
【0016】
次に、この電子装置1を用いて電子機器を制御する場合の全体的なフローを、図2(a)及び図2(b)のフローチャートを参照しながら説明する。電源をオンにして電子装置1を起動すると、前記のEEPROM27に記憶されている修正情報を入力手段12を介して電子装置1へ取り込むためのプログラムが実行開始され、修正情報をRAM26へ転写する操作、修正アドレスを修正アドレスレジスタへ格納する操作、修正データを修正データレジスタへ格納する操作、ソフトジャンパー先頭番地の算出及び算出した先頭番地をRAM26内のRAMテーブルへ格納する操作等が行われる(図2(a)のST11)。
【0017】
ここで、EEPROM27からRAM26へ転写される修正情報部分の構造を、図3を用いて詳細に説明する。上記の修正情報は、主に、ROM15上に発生した個々のバグにそれぞれ対応するソフトジャンパーから構成されているが、ここで、各々のソフトジャンパー1、2、・・・は、図3に示されるように、EEPROM27の修正情報記憶領域の中で先頭のソフトジャンパーから順番に稠密に記憶されている。このような記憶形態を採ることにより、EEPROM27及び転写先のRAM26のパッチデータ記憶領域を大幅に節約することができる。
【0018】
そして、このような記憶形態においては、各々のソフトジャンパーの先頭番地は、先行するソフトジャンパーの長さに応じて変化し、一定にはならないので、この先頭番地を知るための方法として、図3に示されるように、オフセットデータも修正情報の中に含ませておく。
ここで、オフセットデータは、図のEEPROM27上の修正情報記憶領域の先頭番地と各ソフトジャンパーを記憶している領域の先頭番地との差を表しており、例えば、オフセットデータ1は、前記の修正情報記憶領域の先頭番地とソフトジャンパー1を記憶している領域の先頭番地との差を表している。
【0019】
そして、図2(a)のST11において、RAM26上における各々のソフトジャンパーの先頭番地が、対応するオフセットデータの値とRAM26上の修正情報記憶領域の先頭番地とを加算することにより算出され、これらの算出された先頭番地は、RAM26内のRAMテーブルに格納される。また、本発明で用いられるテーブルコール命令(以下、単にテーブルと記載したものはROMテーブルを指す)は1バイトで構成されていて、あらかじめ個々のバグに対応したテーブルコール命令が用意されており、バグ修正を実行する度に次に実行すべきバグ修正に対応したテーブルコール命令が修正データレジスタに格納される(テーブルコール命令の果たす機能については後で詳述する)。
【0020】
なお、修正アドレスレジスタに格納される修正アドレスも、同様に、バグ修正を実行する度に次に実行すべきバグ修正に対応した修正アドレスに書き換えられる。
以上に説明したST11の操作が終了すると、電子装置1は、目的とする電子機器の制御を開始する。
【0021】
電子機器制御の実行中は、図2(b)に示されるように、図1のコンパレータ22において、修正アドレスレジスタ31に格納されている修正アドレスとアドレスバス16から供給されるCPU14の実行アドレスとの比較が行われ(ST12)、CPU14の実行アドレスが、ROM15内に格納されている電子機器制御のための通常プログラム中のバグが存在する変更すべき部分に到達する以前、即ち修正アドレスに到達する以前は、コンパレータ22から出力される信号によりスイッチ33の可動端子がROM15側の固定端子に接続された状態が維持されて、ROM15の通常プログラムが逐次読み出されて実行される(ST13及び14)。
【0022】
そして、CPU14によるプログラム実行が進行して、その実行アドレスが修正アドレスに到達すると、コンパレータ22の出力側には一致信号5が発生し、この一致信号5がスイッチ33へ供給されることにより、スイッチ33の可動端子aが修正データレジスタ32側の固定端子へ切り換え接続される(ST15)。
【0023】
この切り換え動作によって、CPU14はROM15の通常プログラムに代えて修正データレジスタ32に格納されている修正データであるテーブルコール命令を受け付けるようになり、コールされたテーブルに記憶されている番地へのサブルーチンコール動作が実行される。そして、このコール先の番地以降には、バグを修正するためのプログラムが格納されており、バグ修正が実行されることになる(ST16及び17)。
【0024】
バグ修正プログラムの最後のステップでは、ROM15上の修正部分の直後のアドレスへ戻るためのジャンプ動作が実行され、ROM15上の通常プログラムの実行が再開される。
本発明においては、以上に説明したように、テーブルコール命令を利用してROM15に格納されている通常プログラムからバグ修正プログラムへ移行し、また、バグ修正プログラムの実行を終了すると、ジャンプ命令によってバグ修正プログラムから通常プログラムへ戻るようにしているから、通常プログラムにおけるどのような長さの修正部分に対してもバグ修正用プログラムを手当てすることができ、しかも、このプログラムの長さも必要に応じて任意のものを採用できるから、通常プログラムにおける任意のバグに対して高い修正能力を発揮することができる。特に、パッチ修正として1バイトのすげ替えしかできないようなマイクロコンピュータで、1バイト命令として任意のアドレスにジャンプする命令を持たないものであっても、本発明のように1バイトのテーブルコール命令と、ジャンプ命令を採用することにより、任意のサイズのパッチ修正プログラムを組むことができる。
【0025】
次に、本発明におけるバグ修正プログラムのフローを詳細に説明する。
バグ修正プログラムを実行するに際しては、まず最初に、RAM26に記憶された個々のソフトジャンパーを実行するに先立って必要とされる共通な前処理操作、即ちソフトジャンパー起動処理を行う必要があり、本発明におけるバグ修正プログラムは、ソフトジャンパー起動処理プログラムとソフトジャンパーとから構成される。
【0026】
そこで、まず、ソフトジャンパー処理プログラムを図4により説明する。本発明の電子装置1では、ソフトジャンパー起動処理プログラムはあらかじめROM15の特定領域に格納された構造になっており、また、修正データレジスタ32に記憶されているテーブルコール命令が指示するテーブルに記憶されているソフトジャンパー起動処理プログラムのアドレスには、上記のソフトジャンパー起動処理プログラムを格納しているROM15の特定領域の先頭番地が記憶されているので、電子装置1のCPU14は、上記テーブルコール命令を受け付けることにより、上記のソフトジャンパー起動処理プログラムの実行を開始する。
【0027】
ソフトジャンパー起動処理が開始されると、まず直ちに電子装置1のプログラム状態語PSWの値及び各レジスタの値がRAMに保存される(ST18)。これらの保存された値は、RAM26上の実行すべきソフトジャンパーの先頭アドレスへジャンプする直前に復帰させられる(ST21)。
この保存・復帰操作により、電子装置1は、ソフトジャンパー起動処理中の内部状態の変化にかかわりなく、見かけ上、テーブルコール命令発生時点で直ちにソフトジャンパーの実行を開始したのと同じようにすることができる。
【0028】
上記ST18の保存操作の次に、現在のソフトジャンパー起動処理を開始する契機となった修正データレジスタ32に格納されている修正データである1バイトのテーブルコール命令を判別することにより、実行すべきソフトジャンパーが何番目のものであるかを判断する。そして、この判断結果に基づいて、この実行すべきソフトジャンパーの先頭番地を、前述した図2(a)のST11において各ソフトジャンパーの先頭番地を格納したRAM26のRAMテーブルの中から、読み出す(ST19)。
【0029】
次に、テーブルコール命令の発生に伴ってRAMのスタックに格納された戻り番地を廃棄する(ST20)。これは、次の理由による。
即ち、本発明では、テーブルコール命令によってバグ修正プログラムへ分岐すると共に、このプログラムを実行した後は、ジャンプ命令によって通常プログラムへ復帰するようにしているので、テーブルコール命令発生時にスタックにプッシュされた戻り番地は不要なものとなる。
【0030】
従って、上記の廃棄処理(ポップ)を行わない場合には、バグ修正プログラムが実行される度にスタックへのプッシュ動作のみが行われることになるためスタックの記憶データ量が増大し続け、最終的にはRAMのスタック領域外に記憶されている他のデータを破壊する恐れがある。これを防止するために上記の廃棄処理を行う。
【0031】
次に前述のとおり保存しておいた値を復帰させ(ST21)た後、ST19で読み出したソフトジャンパーの先頭番地へジャンプし(ST22)、ソフトジャンパーの実行を開始する。
次に、ソフトジャンパーの具体的ステップを図5により説明する。
ソフトジャンパーにおいては、まず、ROM15上の修正部分に代わる正しい作業プログラムを実行する(ST23)。
【0032】
この作業を終了したのち、修正アドレスレジスタに次の修正部分の修正アドレスを格納する(ST24)と共に、修正データレジスタに次に実行すべきソフトジャンパーに対応したテーブルコール命令を格納し(ST25)て、次に実行すべきバグ修正のための準備をする。
但し、これらの修正アドレスレジスタ、修正データレジスタのデータ書き換え処理は、修正アドレスが一箇所しかない場合は省略できる。
そして、最後に、ROM15の戻り番地へジャンプ(ST26)して、通常プログラムを再開する。
【0033】
以上に説明したバグ修正プログラムの進行の様子を、ROM15及びRAM26のアドレスマップと共に示すと、図6のようになる。この図では、通常プログラムの実行アドレスが修正アドレスXN に到達してから、バグ修正プログラムの実行へジャンプし、その後、再びROM15上の通常プログラムへ復帰する様子を示している。図におけるプロセスの進行は(1)、(2)、(3)、(4)の順に進む。
【0034】
本発明は、以上に説明した如くパッチ修正を行うことができるようにした電子装置に関するものであるが、勿論、本発明は、このような実施例の構成に限定されるものではなく、様々な構成的変更が可能であり、例えば、次の▲1▼〜▲3▼に示すように構成を変更してもよい。
▲1▼ 図1に示される構成のように、外部記憶装置を電子装置1の外部に設ける代わりに、電子装置1の内部に設ける。
【0035】
▲2▼ ソフトジャンパー先頭番地の算出を、ソフトジャンパー起動処理プログラムの中で行うようにする。即ち、個々のバグ修正が実行される度に実行すべきソフトジャンパーの先頭番地をソフトジャンパー起動処理プログラムの中で算出してRAM等に記憶しておき、ソフトジャンパー起動処理の最後のステップにおいて、このRAM等に記憶された先頭番地を見てジャンプするようにする。
【0036】
▲3▼ テーブルコール命令の発生に伴ってスタックにプッシュされた戻り番地の廃棄処理を、ソフトジャンパーの中で行うようにする。
【0037】
【発明の効果】
以上、詳細に説明したように、本発明によれば、量産後にバグが発見されたり、あるいは部分的変更の必要性が生じた場合、従来のような外付け回路の付加や、電子装置そのものの再度の量産等という多大な費用がかかる対応方法に代え、単に、外部から修正情報を与えるのみで迅速かつ容易に対応できる電子装置が提供される。
更に、電子装置内の修正情報記憶手段の記憶領域を充分確保できない場合であっても、その記憶領域を節約できる記憶方法を採用することにより、充分な修正機能が発揮される。
【図面の簡単な説明】
【図1】本発明の実施例の基本構成を示すブロック図である。
【図2】同実施例の動作を示すフローチャートである。
【図3】同実施例における修正情報の構造を示す図である。
【図4】同実施例におけるソフトジャンパー起動処理のフローチャートである。
【図5】同実施例におけるソフトジャンパーのフローチャートである。
【図6】同実施例におけるアドレスマップ上のフローを示す図である。
【符号の説明】
1…電子装置、5…一致信号、12…入力手段、13…データバス、14…CPU、15…ROM、16…アドレスバス、26…RAM、27…EEPROM、32…修正データレジスタ、33…スイッチ、22…コンパレータ、31…修正アドレスレジスタ
Claims (6)
- 記憶手段へのアクセス制御及び演算処理等を行う中央処理手段と、
ソフトジャンパー起動処理プログラムを含む情報を固定的に記憶する固定記憶手段と、
該固定記憶手段に記憶された特定部分の情報を修正するための修正情報を入力する入力手段と、
該入力手段より入力され、前記個々の特定部分の情報に対応したソフトジャンパー及び該ソフトジャンパーの位置情報を含む修正情報が記憶される修正情報記憶手段と、
前記中央処理手段によるアクセスを、前記固定記憶手段における前記特定部分の情報から、該特定部分に対応する前記ソフトジャンパーへ切り換えるオペランドを持たない1バイトのテーブルコール命令のうち最初に実行するソフトジャンパーに対応するテーブルコール命令を前記入力手段により起動時に格納し、前記中央処理手段による前記特定部分の情報に代わるソフトジャンパー実行時に、次に実行するソフトジャンパーに対応するテーブルコール命令を格納する修正データ記憶手段と、
前記固定記憶手段に記憶された情報における前記特定部分の修正アドレスのうち最初に使用するアドレスが前記入力手段により起動時に格納され、前記中央処理手段による前記特定部分の情報に代わるソフトジャンパー実行時に、次に使用するアドレスが格納される修正アドレス記憶手段と、
前記修正アドレスと実行アドレスとを比較する比較手段と、
前記比較手段による前記修正アドレスと前記実行アドレスとの一致信号を受けて、前記固定記憶手段中の前記特定部分の情報が記憶されている領域への前記中央処理手段によるアクセスを、前記固定記憶手段から前記修正データ記憶手段に記憶されたテーブルコール命令へ切り換える切換手段と、
が一体に集積されてなる電子装置と、
前記入力手段により、前記修正情報記憶手段、前記修正データ記憶手段、並びに前記修正アドレス記憶手段に入力される前記修正情報が記憶される修正情報記憶領域を有する外部修正情報記憶手段と、
を有し、
上記中央処理手段は、上記テーブルコール命令を受け付けることにより、該テーブルコール命令が指示するアドレスに記憶された前記固定記憶手段のソフトジャンパー起動処理プログラムを実行し、前記テーブルコール命令を判別して、前記修正情報記憶手段に格納された該テーブルコール命令に対応した前記ソフトジャンパーの前記位置情報を参照することにより該ソフトジャンパーを実行することを特徴とする情報修正システム。 - 前記修正情報を修正情報記憶手段へ記憶する操作の実行時に、該修正情報記憶手段における前記ソフトジャンパーの記憶位置を算出する手段を備えていることを特徴とする請求項1記載の情報修正システム。
- 中央処理手段によるアクセスを固定記憶手段から修正情報記憶手段へ切り換えるための操作を、テーブルコール命令の発生に基づいて開始する手段と、中央処理手段によるアクセスを前記修正情報記憶手段から前記固定記憶手段へ戻す操作を、ジャンプ命令により実行する手段とを備えていることを特徴とする請求項1又は2記載の情報修正システム。
- テーブルコール命令の発生に基づいてスタックに格納された戻り番地データを、中央処理手段によるアクセスが修正情報記憶手段から固定記憶手段へ戻る以前に廃棄する手段を備えていることを特徴とする請求項3記載の情報修正システム。
- テーブルコール命令の発生時に電子装置内のレジスタの値及びプログラム状態語の値のうちの少なくとも一方を保存する手段と、該保存手段により保存された値をソフトジャンパー実行直前に復帰させる手段とを備えていることを特徴とする請求項3又は4記載の情報修正システム。
- 前記ソフトジャンパーの位置情報は、修正情報記憶領域の先頭位置と該ソフトジャンパーの記憶位置との差分情報を示すパラメータであることを特徴とする請求項1記載の情報修正システム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27494392A JP3810805B2 (ja) | 1992-09-19 | 1992-09-19 | 情報修正システム |
KR1019930018194A KR100280590B1 (ko) | 1992-09-19 | 1993-09-10 | 전자 장치 |
US08/122,904 US5619678A (en) | 1992-09-19 | 1993-09-16 | Electronic device for correction of ROM data with a parameter for calculation of position of correction data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27494392A JP3810805B2 (ja) | 1992-09-19 | 1992-09-19 | 情報修正システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06318260A JPH06318260A (ja) | 1994-11-15 |
JP3810805B2 true JP3810805B2 (ja) | 2006-08-16 |
Family
ID=17548718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27494392A Expired - Fee Related JP3810805B2 (ja) | 1992-09-19 | 1992-09-19 | 情報修正システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US5619678A (ja) |
JP (1) | JP3810805B2 (ja) |
KR (1) | KR100280590B1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3230262B2 (ja) * | 1992-01-24 | 2001-11-19 | ソニー株式会社 | 電子装置及びその固定情報修正方法 |
JPH08166877A (ja) * | 1994-12-13 | 1996-06-25 | Olympus Optical Co Ltd | 修正プログラムの実行可能なワンチップマイクロコンピュータ及びrom修正可能なマイクロコンピュータ |
US6490721B1 (en) | 1998-07-14 | 2002-12-03 | Oc Systems Incorporated | Software debugging method and apparatus |
JP2000347862A (ja) | 1999-06-08 | 2000-12-15 | Nec Corp | 命令入換え回路 |
JP3750494B2 (ja) | 1999-08-31 | 2006-03-01 | 松下電器産業株式会社 | 半導体装置 |
KR100717110B1 (ko) * | 2006-02-21 | 2007-05-10 | 삼성전자주식회사 | 롬 데이터 패치 회로, 이를 포함하는 임베디드 시스템 및롬 데이터 패치 방법 |
US9348597B2 (en) * | 2008-06-30 | 2016-05-24 | Infineon Technologies Ag | Device and method for bypassing a first program code portion with a replacement program code portion |
Family Cites Families (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4150428A (en) * | 1974-11-18 | 1979-04-17 | Northern Electric Company Limited | Method for providing a substitute memory in a data processing system |
JPS5721799B2 (ja) * | 1975-02-01 | 1982-05-10 | ||
JPS5245232A (en) * | 1975-10-08 | 1977-04-09 | Hitachi Ltd | Micro program modification circuit |
US4028683A (en) * | 1975-10-16 | 1977-06-07 | Bell Telephone Laboratories, Incorporated | Memory patching circuit with counter |
US4028684A (en) * | 1975-10-16 | 1977-06-07 | Bell Telephone Laboratories, Incorporated | Memory patching circuit with repatching capability |
US4028679A (en) * | 1975-10-16 | 1977-06-07 | Bell Telephone Laboratories, Incorporated | Memory patching circuit with increased capability |
US4218757A (en) * | 1978-06-29 | 1980-08-19 | Burroughs Corporation | Device for automatic modification of ROM contents by a system selected variable |
US4291375A (en) * | 1979-03-30 | 1981-09-22 | Westinghouse Electric Corp. | Portable programmer-reader unit for programmable time registering electric energy meters |
US4296470A (en) * | 1979-06-21 | 1981-10-20 | International Business Machines Corp. | Link register storage and restore system for use in an instruction pre-fetch micro-processor interrupt system |
JPS56136054A (en) * | 1980-03-26 | 1981-10-23 | Hitachi Ltd | Function assigning circuit |
US4319343A (en) * | 1980-07-16 | 1982-03-09 | Honeywell Inc. | Programmable digital memory circuit |
US4456966A (en) * | 1981-02-26 | 1984-06-26 | International Business Machines Corporation | Memory system with flexible replacement units |
JPS57150019A (en) * | 1981-03-13 | 1982-09-16 | Hitachi Ltd | Control system of terminal device |
JPS57211651A (en) * | 1981-06-23 | 1982-12-25 | Toshiba Corp | Patch system |
US4490783A (en) * | 1981-07-02 | 1984-12-25 | Texas Instruments Incorporated | Microcomputer with self-test of microcode |
US4400798A (en) * | 1981-07-13 | 1983-08-23 | Tektronix, Inc. | Memory patching system |
JPS5816350A (ja) * | 1981-07-22 | 1983-01-31 | Toshiba Corp | メモリ拡張代替方式 |
JPS5886648A (ja) * | 1981-11-18 | 1983-05-24 | Mitsubishi Electric Corp | トレ−ス装置 |
US4542453A (en) * | 1982-02-19 | 1985-09-17 | Texas Instruments Incorporated | Program patching in microcomputer |
US4490812A (en) * | 1982-09-30 | 1984-12-25 | Mostek Corporation | User reprogrammable programmed logic array |
US4819154A (en) * | 1982-12-09 | 1989-04-04 | Sequoia Systems, Inc. | Memory back up system with one cache memory and two physically separated main memories |
US4769767A (en) * | 1984-01-03 | 1988-09-06 | Ncr Corporation | Memory patching system |
US4610000A (en) * | 1984-10-23 | 1986-09-02 | Thomson Components-Mostek Corporation | ROM/RAM/ROM patch memory circuit |
FR2573227B1 (fr) * | 1984-11-09 | 1987-01-30 | Palais Decouverte | Dispositif de simulation et de securite pour clavier de saisie de donnees |
US4745572A (en) * | 1985-11-04 | 1988-05-17 | Step Engineering | Software editing instrument |
JPS62249231A (ja) * | 1986-04-23 | 1987-10-30 | Pfu Ltd | マイクロプログラム制御処理方式 |
US4972481A (en) * | 1986-06-09 | 1990-11-20 | Datakonsult I Malmo Ab | Ciphering and deciphering device |
US4751703A (en) * | 1986-09-16 | 1988-06-14 | International Business Machines Corp. | Method for storing the control code of a processor allowing effective code modification and addressing circuit therefor |
US4831517A (en) * | 1986-10-10 | 1989-05-16 | International Business Machines Corporation | Branch and return on address instruction and methods and apparatus for implementing same in a digital data processing system |
US4802119A (en) * | 1987-03-17 | 1989-01-31 | Motorola, Inc. | Single chip microcomputer with patching and configuration controlled by on-board non-volatile memory |
US4942541A (en) * | 1988-01-22 | 1990-07-17 | Oms, Inc. | Patchification system |
JPS6465633A (en) * | 1987-09-07 | 1989-03-10 | Hitachi Ltd | Microprogram controller |
JP3023425B2 (ja) * | 1987-10-09 | 2000-03-21 | 株式会社日立製作所 | データ処理装置 |
JPH0199129A (ja) * | 1987-10-12 | 1989-04-18 | Fujitsu Ltd | マイクロプログラム修正方式 |
JPH01114941A (ja) * | 1987-10-28 | 1989-05-08 | Fujitsu Ltd | プログラム修正方式 |
JPH01232447A (ja) * | 1988-03-11 | 1989-09-18 | Mitsubishi Electric Corp | シングル・チップ・マイクロコンピュータ |
JPH01286029A (ja) * | 1988-05-13 | 1989-11-17 | Nec Corp | マイクロプログラムのパッチ方式 |
US4905200A (en) * | 1988-08-29 | 1990-02-27 | Ford Motor Company | Apparatus and method for correcting microcomputer software errors |
US5063499A (en) * | 1989-01-09 | 1991-11-05 | Connectix, Inc. | Method for a correlating virtual memory systems by redirecting access for used stock instead of supervisor stock during normal supervisor mode processing |
US5357627A (en) * | 1989-03-28 | 1994-10-18 | Olympus Optical Co., Ltd. | Microcomputer having a program correction function |
EP0393290B1 (en) * | 1989-04-19 | 1995-08-16 | International Business Machines Corporation | Memory and peripheral chip select apparatus |
US5077737A (en) * | 1989-08-18 | 1991-12-31 | Micron Technology, Inc. | Method and apparatus for storing digital data in off-specification dynamic random access memory devices |
JPH03142629A (ja) * | 1989-10-30 | 1991-06-18 | Toshiba Corp | マイクロコントローラ |
GB9011679D0 (en) * | 1990-05-24 | 1990-07-11 | Schlumberger Ind Ltd | Mask-programmable microprocessors |
US5199032A (en) * | 1990-09-04 | 1993-03-30 | Motorola, Inc. | Microcontroller having an EPROM with a low voltage program inhibit circuit |
JP3131234B2 (ja) * | 1991-01-14 | 2001-01-31 | 株式会社日立製作所 | 半導体装置 |
US5408672A (en) * | 1991-11-18 | 1995-04-18 | Matsushita Electric Industrial Co. | Microcomputer having ROM to store a program and RAM to store changes to the program |
JPH06318261A (ja) * | 1992-09-18 | 1994-11-15 | Sony Corp | 電子装置 |
-
1992
- 1992-09-19 JP JP27494392A patent/JP3810805B2/ja not_active Expired - Fee Related
-
1993
- 1993-09-10 KR KR1019930018194A patent/KR100280590B1/ko not_active IP Right Cessation
- 1993-09-16 US US08/122,904 patent/US5619678A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
KR940007701A (ko) | 1994-04-27 |
KR100280590B1 (ko) | 2001-02-01 |
JPH06318260A (ja) | 1994-11-15 |
US5619678A (en) | 1997-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3230262B2 (ja) | 電子装置及びその固定情報修正方法 | |
JPH04346127A (ja) | 電子装置 | |
JP3563768B2 (ja) | Romプログラム変更装置 | |
JPH09330236A (ja) | マイクロプロセッサ及びその周辺装置 | |
JP3810805B2 (ja) | 情報修正システム | |
JP3284614B2 (ja) | 電子装置 | |
JP3956305B2 (ja) | 不揮発性半導体記憶装置およびデータ処理装置 | |
JPH06150025A (ja) | パッチ修正可能な電子装置のデバッグに使用する評価用チップ及びイン・サーキット・エミュレータ | |
JP3575052B2 (ja) | 電子装置 | |
JPS63156231A (ja) | リ−ドオンリ−メモリ内命令の変更方法 | |
JPH08249206A (ja) | スタック領域破壊検出機能付き計算機 | |
JPH05298462A (ja) | 電子装置 | |
JP2506591B2 (ja) | 補助処理装置 | |
JPS6020769B2 (ja) | マイクロプログラム制御方式 | |
JP2604203B2 (ja) | ワンチップデジタル信号処理装置のデバック装置 | |
JPS6310234A (ja) | 割込み処理装置 | |
JPH0877031A (ja) | マイクロプロセッサシステム | |
JPH06222917A (ja) | 電子装置 | |
JP2574918B2 (ja) | 割り込み復帰処理方式 | |
JPH0226252B2 (ja) | ||
JPS62151936A (ja) | マイクロプロセツサに内蔵されるキヤツシユ回路 | |
JPH04268615A (ja) | リセット処理方式 | |
JPH04279948A (ja) | ファームウェアシステム | |
JPS6344241A (ja) | 割込み処理装置 | |
JPS638936A (ja) | 割込み処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040511 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040630 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20040705 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20050428 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060412 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060525 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100602 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |