[go: up one dir, main page]

JP3563768B2 - Romプログラム変更装置 - Google Patents

Romプログラム変更装置 Download PDF

Info

Publication number
JP3563768B2
JP3563768B2 JP11825094A JP11825094A JP3563768B2 JP 3563768 B2 JP3563768 B2 JP 3563768B2 JP 11825094 A JP11825094 A JP 11825094A JP 11825094 A JP11825094 A JP 11825094A JP 3563768 B2 JP3563768 B2 JP 3563768B2
Authority
JP
Japan
Prior art keywords
address
program
rom
change
flag
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
Application number
JP11825094A
Other languages
English (en)
Other versions
JPH07325711A (ja
Inventor
理 細谷
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 Technology Corp
Original Assignee
Renesas Technology 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 Technology Corp filed Critical Renesas Technology Corp
Priority to JP11825094A priority Critical patent/JP3563768B2/ja
Priority to US08/452,612 priority patent/US5701506A/en
Priority to KR1019950014288A priority patent/KR0184346B1/ko
Publication of JPH07325711A publication Critical patent/JPH07325711A/ja
Application granted granted Critical
Publication of JP3563768B2 publication Critical patent/JP3563768B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/328Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs

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)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Description

【0001】
【産業上の利用分野】
この発明はマイクロコンピュータ等に内臓されたROMのプログラムにバグが生じた場合において、ROMのデータを修正せずに正常にプログラムを実行するROMプログラム変更装置に関するものである。
【0002】
【従来の技術】
図10は従来のマイクロコンピュータの構成を示すブロック図である。図において、1はプログラムの実行を行うCPU、2はプログラムが格納されたマスクROM(Raed Only Memory)、3は演算データ等が格納されたRAM(Randam Access Memory)、4はアドレスバス、5はデータバスである。
【0003】
上記構成のマイクロコンピュータにおいて、マスクROM2内のプログラムは集積回路の製造工程時に設定され、CPU1はこのマスクROM2のデータにアクセスし、命令を読み出し、それに従ってRAM3から演算データを読み、演算処理等の実行を繰り返す。通常、このようなマイクロコンピュータはマスクROM2とともに数十工程からなるウエハプロセスを経てワンチップの形で製造される。
【0004】
【発明が解決しようとする課題】
上記のようにマスクROM2のプログラムはその製造工程においてすでに設定されるので、このプログラムにバグ(欠陥)の発生したことが製造後に判明した場合、すなわちプログラムを修正する必要がある場合、もう一度マイクロコンピュータを製造し直してマスクROM全体を修正、変更を行わなければならず、生産性が大幅に低下するという問題点が生じていた。
【0005】
この発明は上記の問題点を解決するためになされたもので、製造後にROMのプログラムに修正の必要が生じた場合、製造をやり直すことなくプログラムの変更ができ、また複数のアドレスにバグが存在した場合も対応できるマイクロコンピュータのROMプログラム変更装置を得ることを目的とする。
【0006】
【課題を解決するための手段】
この発明による請求項1のROMプログラム変更装置は、プログラムの記録されたROM、プログラムを読み出して実行するCPU、アドレスバス、データバスを備えたマイクロコンピュータで、ROM内のプログラムの修正すべき部分が生じた場合にその修正部分からジャンプして修正プログラムを実行させるROMプログラム変更装置において、プログラムの第一の修正部分を変更して実行される第一の修正プログラムと第二の修正部分を変更して実行される第二の修正プログラム、さらにフラグリード命令コードが格納されたRAM、第一と第二の修正部分のアドレスである第一の変更アドレスと第二の変更アドレスが格納された変更アドレスレジスタ、アドレスバス上のアドレスと、変更アドレスレジスタの出力する第一の変更アドレスおよび第二の変更アドレスを比較し、いずれかが一致した場合に一致信号を出力する一致回路(以下、第一と第二の変更アドレスでアドレスと一致した方の変更アドレスを一致変更アドレスと称す)、一致信号により一致変更アドレスを決定するフラグを形成する要因フラグ、RAM内に格納されたフラグリード命令コードの開始アドレスが格納された開始アドレス格納手段、プログラムからRAM内のプログラムへの実行変更を命令するジャンプ命令コードが格納されたコード格納手段、一致信号を入力することにより、コード格納手段と開始アドレス格納手段をデータバスに接続し、ジャンプ命令コード及び開始アドレスをデータバスに出力するようにした接続手段を備え、CPUはデータバスに出力されたジャンプ命令コードと開始アドレスを読み取ることにより、開始アドレスのRAMのフラグリード命令コードを実行して要因フラグのフラグを読み、このフラグに応じて一致変更アドレスの修正部分変更するRAM内の修正プログラムを実行するようにしたものである。
【0007】
また、請求項2のROMプログラム変更装置は、開始アドレス格納手段およびコード格納手段はROMのメモリにより構成するようにしたものである。
【0008】
【作用】
この発明の請求項1のROMプログラム変更装置は、一致信号により一致変更アドレスを決定するフラグを形成する要因フラグ、RAMに格納されたフラグリード命令コードのアドレスを格納する開始アドレス格納手段を備え、CPUはデータバスに出力されたジャンプ命令コードと開始アドレスから、RAMのフラグリード命令コードを実行して要因フラグのフラグを読み、このフラグに応じて一致変更アドレスの修正部分変更する修正プログラムまで分岐して実行するようにしたので、開始アドレス格納手段における開始アドレスの設定が唯一で済み、その構成が簡単になる。
【0009】
この発明の請求項2のROMプログラム変更装置は、開始アドレス格納手段およびコード格納手段はROMのメモリにより構成するようにしたので、装置の構成がコンパクトになる。
【0010】
【実施例】
実施例1.
以下、この発明の一実施例を示す。図1は本実施例に示すROMプログラム変更装置であり、1〜5は図10と同一の符号を付し、6a、6b、6cはROM2内のバグが存在するプログラムのアドレス、すなわち修正を要するプログラムのアドレス(以下、変更アドレスを称す)を格納する変更アドレスレジスタで、CPU1によりアドレスの読み書きが可能なメモリからなる。7はジャンプ命令の命令コードが格納された命令コード出力回路で、通常のプルアップ・プルダウントランジスタの組み合わせで構成されている。8a、8b、8cはジャンプ命令のオペランドで、ROM2のプログラムの修正すべき部分からジャンプして実行する修正プログラムの開始アドレスを格納した開始アドレス出力回路で、それぞれ変更アドレスレジスタ6a、6b、6cのアドレスのバグ部分に対応した修正プログラムの開始アドレスが格納されている。なおこの修正プログラムはRAM3に収納され、CPU1によりその読み書きが可能である。9a、9b、9cはそれぞれ変更アドレスレジスタ6a、6b、6cの各変更アドレスとアドレスバス4上のアドレスとを、CPU1の出力する出力フェッチ信号のタイミングで比較し、一致したときに一致信号を出力する一致回路、10は一致回路9a、9b、9cの各一致信号に対応して、データバス5とROM2の接続と、及びデータバス5と命令コード出力回路7、開始アドレス出力回路8の接続との切り替え制御する接続制御手段、11はCPUによってリード・ライトが可能なメモリからなる3ビットの許可フラグである。許可フラグ11は1ビットずつ一致回路9a、9b、9cに接続し、この許可フラグの出力が「0」のときは各一致回路はディスイネーブル状態で、いかなる場合も一致信号を出力させない。一方「1」のときは一致回路はイネーブル状態で、一致信号の出力を許可する。12は入力ポート、13は入力ポート12を入力端子にもつシリアル通信回路であり、入力されたシリアルデータはシリアル通信回路13に蓄えられ、CPU1によりリード可能である。
【0011】
次に、上記構成のROMプログラム変更装置の動作について説明する。図2(a)は本実施例のマスクROM2内のプログラム構成図である。図の斜線部分にバグが生じたとする。すなわちアドレスX1番地とアドレスY1番地の間にバグ1、アドレスX2番地とアドレスY2番地の間にバグ2、アドレスX3番地とアドレスY3番地の間にバグ3がそれぞれ存在するとする。
【0012】
図1において、マイクロコンピュータは、リセット解除後に外部メモリ(例えば、EEPROMやEPROM)から入力ポート12、シリアル通信回路13を介して以下のデータをCPU1によって各メモリにライトする。
(1)ROM修正の要否を示すビットを許可フラグ11に書き込む。
(2)ROMプログラムのバグ1が存在する先頭アドレスX1を変更アドレスレジスタ6aに書き込む。同様にして、バグ2の先頭アドレスX2を変更アドレスレジスタ6b、バグ3の先頭アドレスX3を変更アドレスレジスタ6cにそれぞれ書き込む。
(3)バグ1、2、3に対応する修正プログラム1、2、3をRAM3に書き込む。
【0013】
図2(b)は上記(3)で修正プログラム1、2、3が書き込まれたRAM3の構成図を示す。図のように修正プログラム1はRAM3のアドレスZ1番地に格納され、同様に修正プログラム2、3はそれぞれZ2番地、Z3番地に格納される。
【0014】
このようにして各メモリにデータがセットされ、許可フラグ11よりすべての一致回路に「1」が入力された場合の装置動作を図3のタイムチャートを用いて説明する。
図3のアドレスバス4上のアドレスはCPU1より出力され、その各アドレスにあるデータがデータバス5を介してCPU1により読み取られ、実行される。本実施例ではCPU1はその動作サイクルに対して3サイクルを一単位として命令を各メモリより読みとり、実行する。例えば図3でアドレスバス4上のアドレスX1番地、X1+1番地、X1+2番地にあるプログラムデータが一つの命令としてメモリに記録され、CPU1はCPU命令フェッチ信号aのタイミングでこの命令を取り出し、実行する。
【0015】
CPU1内のプログラムカウンタ(図示せず)により出力されるアドレスに従い、CPU1はROM2のプログラムのデータを順次読み取り、実行する。一致回路9a、9b、9cは、図3のようにCPU1の出力する命令フェッチ信号aのタイミングで常にアドレスバス4のアドレスと変更アドレスレジスタ6a、6b、6cに格納された変更アドレスX1、X2、X3とそれぞれ比較する。図の命令フェッチ信号aの信号1でアドレスX1が変更アドレスレジスタ6aの変更アドレスと一致するので,一致回路9aは信号1と同期して「1」の一致信号を次の命令サイクルである信号2まで出力する。それ以外の場合は「0」を出力する。一致回路9b、9cもそれぞれ同一の動作を行い、図3のタイミングの間には「0」を出力する。
【0016】
一致回路9a、9b、9cの各出力は3入力OR回路14に入力され、このOR回路の出力に応じて接続制御手段10を制御する。出力が「0」のときはROM2とデータバス5を接続し、プログラムデータを出力する。上記のように一致回路9aの一致信号「1」によりOR回路14は「1」を出力し、このときROM2はデータバス5と遮断され、アドレスX1以降のROMプログラムはデータバス5には出力されない。一方、命令コード出力回路7がデータバス5と接続される。同時に、一致回路9a、9b、9cの各出力はそれぞれ開始アドレス出力回路8a、8b、8cに入力され、一致信号が入力された開始アドレス出力回路が選択されて(この場合8a)データバス5と接続し、図3のように命令コード出力回路7からジャンプ命令オペコード1、開始アドレス出力回路8aから開始アドレスZ1が、遮断されたROMプログラムデータの次にデータバス5へ順次出力される。
【0017】
CPU1がこのジャンプ命令オペコード1とオペランドであるZ1をフェッチすると、ジャンプ命令のシーケンスを実行し、次の命令サイクルすなわち図3の命令フェッチ信号aの信号2でアドレスバス4上にジャンプ先のアドレスであるRAM3のZ1番地が出力される。以降、図3のようにRAM3上の修正プログラム1を指定するアドレスZ1〜W1が順次出力され、この修正プログラム1のデータがRAM3よりデータバス5に出力され、CPU1に取り込まれ、実行される。
【0018】
図2(b)のように修正プログラム1の後には、W1番地にジャンプ命令オペコード2、W1+1番地にROMのバグ1の終了アドレスであるY1番地が記録され、図3の命令フェッチ信号の信号3で出力されたアドレスバス4上のアドレスW1、W1+1に従い、RAM3はデータバス5に修正プログラム1の後にジャンプ命令オペコード2と、オペランドY1を出力する。CPU1はこのジャンプ命令オペコード2により、前述と同様にジャンプ命令のシーケンスを実行し、次の命令サイクルの信号4からジャンプ先であるアドレスY1をアドレスバス4に出力する。アドレスY1に従い、図のタイミングでROMのアドレスY1以降の正常プログラムがデータバスに出力され、CPU1はこのROMプログラムを実行する。
【0019】
以上はROM2のプログラムのバグ1の箇所のプログラム変更につぃて述べたが、バグ2、3の場合もそれぞれに対応した変更アドレスレジスタ6b、6c、開始アドレス出力回路8b、8c、一致回路9b、9cが上記と同一の動作を行い、バグ2の代わりに修正プログラム2、バグ3の代わりに修正プログラム3をそれぞれ実行する。
【0020】
なお、許可フラグ11の一致回路への入力が「0」のときは、一致回路はディスイネーブル状態で、CPU1は常にROMプログラムを実行する。この許可フラグ11はバグのない正常なROMプログラムが製造された場合にプログラム実行時のRAMへのジャンプ動作を禁止する役目を果たす。
【0021】
以上の動作により、ROMのプログラムにバグが存在した場合、マスクROMを製造し直す必要がなく、RAM上で修正プログラムを記憶させ、実行することにより、バグを修正することができるので、ROM製造のコストを低減し、製造工期の短縮の効果がある。
また、ROM上の複数のバグが生じた場合でも、それぞれをRAM上のプログラムで修正可能となる効果がある。
【0022】
図4は、ROM2上のプログラムに単一のバグが生じた場合のROMプログラム変更装置の一例を示すものである。符号は図1と同一で、それぞれ同じ機能をもつ。図4に示すように、変更アドレスレジスタ6、開始アドレス出力回路8、一致回路9を単一にして、さらに一致回路9からの一致信号を接続制御手段10に直接入力するように構成されている。開始アドレス出力回路8は一致回路9の一致回路が入力されなくとも、接続制御手段10により命令コード出力回路7と開始アドレス出力回路8とがデータバス5に接続されたときに、図3のタイミングでジャンプ命令コードの次に開始アドレスが出力されるように構成されている。その他の各構成の動作は図1の場合と全く同一であり省略する。
【0023】
実施例2.
図5は本実施例の示すROMプログラム変更装置である。15a、15b、15cはCPU1によってライト可能なメモリで構成された開始アドレスレジスタである。その他の符号は図1と同一であり、同様の機能を果たす。
開始アドレスレジスタ15a、15b、15cには、CPU1に従い、外部メモリより入力ポート12、シリアル通信回路13を介して開始アドレスZ1、Z2、Z3が入力され、記録される。さらにこれらはそれぞれ一致回路9a、9b、9cと接続され、一致回路からの入力動作、および開始アドレスの出力動作は図1と同様である。
このように開始アドレス出力回路をレジスタで構成することで、修正プログラムをRAM上の任意のアドレスに設定しても、CPUによりその開始アドレスをライトすることでプログラム変更動作に対応でき、従ってRAMメモリの有効利用が図れる。
【0024】
実施例3.
図6は本実施例に示すROMプログラム変更装置である。17はプログラムが格納されたROMメモリ、18はROMメモリ17のアドレス領域を指定する第一アドレスデコーダ、19はジャンプ命令コードの格納されたROMメモリ、20a、20b、20cは開始アドレスが格納されたROMメモリで、それぞれ図1の開始アドレス出力回路8a、8b、8cの開始アドレスを出力する。21はROMメモリ19、20a、20b、20cのアドレス領域を指定する第二アドレスデコーダ、22はジャンプ命令コードおよび開始アドレスのデータバス5への出力のタイミングを制御するタイミング制御回路であり、その他の符号は図1と同一である。
【0025】
次いで、動作について説明する。OR回路14の出力が「0」のときは第一アドレスデコーダ18がイネーブル状態で、一方、第二アドレスデコーダ18がディスイネーブル状態になる。このときアドレスバス4上のアドレスによって指定されるROMプログラムが実行される。通常はこの状態にある。
ROMプログラムを変更する場合、プログラムのバグ箇所のアドレスに対して、一致回路9a、9b、9cのうちいずれかが「1」の一致信号を出力し、OR回路14は「1」を出力する。このとき逆に第一アドレスデコーダ18がディスイネーブル状態、第二アドレスデコーダ18がイネーブル状態になる。また一致回路9a、9b、9cの出力はタイミング制御回路22を介して、第二アドレスデコーダに入力され、この入力と同時にジャンプ命令コードと一致信号を出力した一致回路に対応した開始アドレスをデータバス5に出力する。これらのデータがデータバス5へ出力されるタイミングは、タイミング制御回路22が一致回路から第二アドレスデコーダ21への一致信号の出力タイミングを制御ことにより図3と同一のタイミングをとる。その他の動作は図1のものと同一であるので説明を省略する。
【0026】
以上のように、ジャンプ命令コード、開始アドレスの生成を実行プログラムと同一のROMを用いておこなっているので、例えば図1のような命令コード出力回路や開始アドレス出力回路のような回路をコンパクトに設計できる。
【0027】
実施例4.
図7は本実施例に示すROMプログラム変更装置である。図において23は一致回路9a、9b、9cが出力する各一致信号に従って3ビットのフラグがセットされる要因フラグで、このフラグはCPU1によってリード可能で、1ビット単位でクリア可能なメモリで構成される。その他の符号は図1と同一である。
【0028】
図8は図7の装置におけるRAMの構成図で、以下図8を用いて上記構成の装置の動作を説明する。
一致回路9a、9b、9cの一致信号は要因フラグ23に入力される。要因フラグ23には、例えば一致回路9aから一致信号が出力された場合「100」が書き込まれる。同時に一致信号は3入力OR回路14を介して接続制御手段10に入力される。また開始アドレス8にはRAM3上のアドレスZ0番地が格納されている。命令コード出力回路7、開始アドレス出力回路8、接続制御手段10の実施例1と同一の動作により、図3のタイミングでジャンプ命令コードと開始アドレスがデータバス5に出力される。CPU1はジャンプ先であるRAM3のZ0番地の要因フラグリードの命令を実行し、要因フラグ23にセットされた内容をリードする。この内容をリードすることで、どの変更アドレスの一致によってジャンプが発生したのか要因を判断し、この場合「100」から変更アドレスのX1番地が一致したと判断する。図8の要因フラグリード命令の次には順にZ1番地、Z2番地、Z3番地に分岐する命令が設定されており、CPU1はこれらの分岐命令を読むとともに上記の「100」の判断からアドレスZ1に分岐する命令のみを実行し、命令フェッチ信号のタイミングでアドレスバス4上にアドレスZ1を出力し、修正プログラム1を実行する。この修正プログラム1を実行し終わった後にROMプログラムに戻る動作は実施例1と同一である。
同じようにして、バグ2、3に対して修正プログラム2、3を実行する。そのジャンプ実行する際には、要因フラグは上記の「100」をリセットして、それぞれ修正プログラムを実行するためのフラグをセットする(例えば修正プログラム2に対しては「010」、修正プログラム3に対して「001」を一致信号の結果よりセットする)。
【0029】
以上のように、この装置ではアドレス一致の要因をソフトウェアで判断し、プログラム分岐する構成としたので、開始アドレスを生成する回路を一つにすることができ、ハードウェアがシンプルになる。また、RAM内のプログラムにより(ソフトウェアにより)分岐先アドレスを任意に選択できるので、修正プログラムを記録するRAMのフレキシビリティが向上する効果ガある。
【0030】
実施例5.
上記実施例では許可フラグ11を一致回路と接続し、一致回路の一致信号出力の禁止・許可を切り替ていた。この許可フラグ11は図9のように、OR回路14と接続制御手段10の間に許可フラグ11aを設けてもよい。同様にCPU1によって外部よりROM修正の要否を示すビットを許可フラグ11aにライトする。例えば「0」が書き込まれたらOR回路14の出力信号いかんにかかわらず常にROM2をデータバス5に接続しておく「0」を出力し、「1」が書き込まれたらOR回路14の出力をそのまま出力し、装置は上記実施例のように修正プログラムへのジャンプ動作を行う。
【0031】
このように構成することにより、ROMからRAMへの修正プログラムへの実行変更を禁止・許可の制御することができる。従ってROMにバグが存在しない場合はプログラム変更のジャンプを行わないようにシステムを構成しなおす必要もなく、この1ビットのフラグを設けるだけでプログラム変更の動作を禁止でき、バグの存在する存在しないに応じて、装置の初期設定が簡単になる。またこのプログラム変更の禁止・許可をソフトウェアで簡単に制御することができる。
【0032】
【発明の効果】
以上、説明したように、この発明の請求項1に係るROMプログラム変更装置によると、一致信号により一致変更アドレスを決定するフラグを形成する要因フラグ、RAMに格納されたフラグリード命令コードのアドレスを格納する開始アドレス格納手段を備え、CPUはデータバスに出力されたジャンプ命令コードと開始アドレスを読み取ることにより、開始アドレスのRAMのフラグリード命令コードを実行して要因フラグのフラグを読み、このフラグに応じてRAM内の一致変更アドレスの修正部分変更する修正プログラムを実行するようにしたので、複数バグがROMプログラムに存在しても、容易にRAM内の修正プログラムに変更でき、また開始アドレス格納手段においてRAM上の唯一のアドレスを設定すればよく、開始アドレス格納手段の構成が簡単にすることができるという効果を奏する。
【0033】
また、この発明の請求項2に係るROMプログラム変更装置によると、開始アドレス格納手段およびコード格納手段はROMのメモリにより構成するようにしたので、装置をコンパクトに設計できるという効果を奏する。
【図面の簡単な説明】
【図1】この発明の実施例1に示すROMプログラム変更装置の構成図である。
【図2】実施例1におけるROMおよびRAMの構成図である。
【図3】実例1におけるアドレスおよびデータのタイミングチャート図である。
【図4】実施例1における別のROMプログラム変更装置の構成図である。
【図5】この発明の実施例2に示すROMプログラム変更装置の構成図である。
【図6】この発明の実施例3に示すROMプログラム変更装置の構成図である。
【図7】この発明の実施例4に示すROMプログラム変更装置の構成図である。
【図8】実施例4におけるRAMの構成図である。
【図9】この発明の実施例5に示すROMプログラム変更装置の構成図である。
【図10】従来技術によるROMプログラムを実行するマイクロコンピュータの構成図である。
【符号の説明】
1 CPU、2 ROM、3 RAM、4 アドレスバス、5 データバス、6a、6b、6c 変更アドレスレジスタ、7 命令コード出力回路、8a、8b、8c 開始アドレス出力回路、9a、9b、9c 一致回路、10 接続制御手段、11 許可フラグ、12 入力ポート、13 シリアル通信回路、14 3入力OR回路、15a、15b、15c 開始アドレスレジスタ、22 タイミング制御回路、23 要因フラグ

Claims (2)

  1. プログラムの記録されたROM、上記プログラムを読み出して実行するCPU、アドレスバス、データバスを備えたマイクロコンピュータで、上記ROM内のプログラムの修正すべき部分が生じた場合にその修正部分からジャンプして修正プログラムを実行させるROMプログラム変更装置において、上記プログラムの第一の修正部分を変更して実行される第一の修正プログラムと第二の修正部分を変更して実行される第二の修正プログラム、さらにフラグリード命令コードが格納されたRAM、上記第一と第二の修正部分のアドレスである第一の変更アドレスと第二の変更アドレスが格納された変更アドレスレジスタ、上記アドレスバス上のアドレスと、上記変更アドレスレジスタの出力する第一の変更アドレスおよび第二の変更アドレスを比較し、いずれかが一致した場合に一致信号を出力する一致回路(以下、第一と第二の変更アドレスで上記アドレスと一致した方の変更アドレスを一致変更アドレスと称す)、上記一致信号により上記一致変更アドレスを決定するフラグを形成する要因フラグ、上記RAM内に格納されたフラグリード命令コードの開始アドレスが格納された開始アドレス格納手段、上記プログラムから上記RAM内のプログラムへの実行変更を命令するジャンプ命令コードが格納されたコード格納手段、上記一致信号を入力することにより、上記コード格納手段と開始アドレス格納手段をデータバスに接続し、上記ジャンプ命令コード及び開始アドレスをデータバスに出力するようにした接続手段を備え、上記CPUはデータバスに出力されたジャンプ命令コードと開始アドレスを読み取ることにより、上記開始アドレスの上記RAMのフラグリード命令コードを実行して上記要因フラグのフラグを読み、このフラグに応じて上記一致変更アドレスの修正部分変更するRAM内の修正プログラムを実行するようにしたことを特徴とするROMプログラム変更装置。
  2. 開始アドレス格納手段およびコード格納手段はROMのメモリにより構成するようにしたことを特徴とする請求項1記載のROMプログラム変更装置。
JP11825094A 1994-05-31 1994-05-31 Romプログラム変更装置 Expired - Fee Related JP3563768B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP11825094A JP3563768B2 (ja) 1994-05-31 1994-05-31 Romプログラム変更装置
US08/452,612 US5701506A (en) 1994-05-31 1995-05-25 Microcomputer having ROM program which can be altered
KR1019950014288A KR0184346B1 (ko) 1994-05-31 1995-05-31 롬 프로그램 변경기능을 가진 마이크로컴퓨터

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11825094A JP3563768B2 (ja) 1994-05-31 1994-05-31 Romプログラム変更装置

Publications (2)

Publication Number Publication Date
JPH07325711A JPH07325711A (ja) 1995-12-12
JP3563768B2 true JP3563768B2 (ja) 2004-09-08

Family

ID=14731962

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11825094A Expired - Fee Related JP3563768B2 (ja) 1994-05-31 1994-05-31 Romプログラム変更装置

Country Status (3)

Country Link
US (1) US5701506A (ja)
JP (1) JP3563768B2 (ja)
KR (1) KR0184346B1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870601A (en) * 1995-08-29 1999-02-09 International Business Machines Corporation Data processing apparatus and method for correcting faulty microcode in a ROM device via a flag microinstruction in a RAM device including corrected microcode
JP2867965B2 (ja) * 1996-06-28 1999-03-10 日本電気株式会社 データ処理装置及びデータ処理方法
GB2330428B (en) * 1997-09-23 2000-05-24 Winbond Electronics Corp Apparatus for repairing faulty program segments in embedded microprocessor systems
US6412081B1 (en) 1999-01-15 2002-06-25 Conexant Systems, Inc. System and method for providing a trap and patch function to low power, cost conscious, and space constrained applications
JP3056732B1 (ja) * 1999-04-09 2000-06-26 コナミ株式会社 コンピュ―タシステム、コンピュ―タプログラムの実行方法及びコンピュ―タプログラム記録媒体
JP2001056760A (ja) * 1999-08-19 2001-02-27 Murata Mfg Co Ltd データ処理装置
JP3750494B2 (ja) * 1999-08-31 2006-03-01 松下電器産業株式会社 半導体装置
US6546477B1 (en) 1999-09-20 2003-04-08 Texas Instruments Incorporated Memory management in embedded systems with dynamic object instantiation
US6968438B1 (en) * 1999-09-20 2005-11-22 Texas Instruments Incorporated Application programming interface with inverted memory protocol for embedded software systems
JP2001256044A (ja) * 2000-03-14 2001-09-21 Sony Corp データ処理装置
JP3482185B2 (ja) * 2000-12-11 2003-12-22 松下電器産業株式会社 コンピュータ装置
JP2002269065A (ja) * 2001-03-08 2002-09-20 Mitsubishi Electric Corp プログラム可能な不揮発性メモリを内蔵したマイクロコンピュータ
US7051231B2 (en) * 2002-08-05 2006-05-23 Faraday Technology Corp. Microprocessor system architecture to correct built-in ROM code
EP1408406B1 (en) * 2002-10-09 2007-03-14 Matsushita Electric Industrial Co., Ltd. Arithmetic unit with reduced startup time and method of loading data
US7249279B2 (en) * 2003-12-04 2007-07-24 International Business Machines Corporation Multiprocessor code fix using a local cache
US20150242213A1 (en) * 2014-02-23 2015-08-27 Qualcomm Incorporated System and method for modification of coded instructions in read-only memory using one-time programmable memory
KR20210046418A (ko) 2019-10-18 2021-04-28 삼성전자주식회사 보안 패치가 가능한 롬을 갖는 반도체 장치 및 그것의 패치 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56140452A (en) * 1980-04-01 1981-11-02 Hitachi Ltd Memory protection system
US4573119A (en) * 1983-07-11 1986-02-25 Westheimer Thomas O Computer software protection system
JPH0642263B2 (ja) * 1984-11-26 1994-06-01 株式会社日立製作所 デ−タ処理装置
US5155829A (en) * 1986-01-21 1992-10-13 Harry M. Weiss Memory system and method for protecting the contents of a ROM type memory
JP3023425B2 (ja) * 1987-10-09 2000-03-21 株式会社日立製作所 データ処理装置
US5448744A (en) * 1989-11-06 1995-09-05 Motorola, Inc. Integrated circuit microprocessor with programmable chip select logic
US5325499A (en) * 1990-09-28 1994-06-28 Tandon Corporation Computer system including a write protection circuit for preventing illegal write operations and a write poster with improved memory
JPH06318261A (ja) * 1992-09-18 1994-11-15 Sony Corp 電子装置

Also Published As

Publication number Publication date
JPH07325711A (ja) 1995-12-12
KR950033761A (ko) 1995-12-26
KR0184346B1 (ko) 1999-05-15
US5701506A (en) 1997-12-23

Similar Documents

Publication Publication Date Title
JP3563768B2 (ja) Romプログラム変更装置
EP0554917B1 (en) Digital signal processing system having two instruction memories accessed by a processor under control of host
KR100272937B1 (ko) 마이크로프로세서및멀티프로세서시스템
EP0267613B1 (en) Micro processor capable of being connected with coprocessor
JP2875842B2 (ja) プログラマブルコントローラ
US5799144A (en) Microcomputer for resolving problems found in a program stored in a ROM
JPH0764784A (ja) マイクロコンピュータ
US6925522B2 (en) Device and method capable of changing codes of micro-controller
JPH03186927A (ja) マイクロコンピュータのプログラム変更装置
JP3810805B2 (ja) 情報修正システム
JP3055999B2 (ja) マイクロプログラム制御装置群
JP3335620B2 (ja) マイクロコンピュータ装置
US20050251640A1 (en) System and method for configuring a computer system
JP2004126658A (ja) プロセッサシステム
JP2005025599A (ja) 画像処理装置
JP3097602B2 (ja) データ処理装置
JP2003177934A (ja) ディジタル信号処理装置
JPH06314190A (ja) 電子装置
JPH0630056B2 (ja) 信号処理装置
JP2000010772A (ja) マイクロコンピュータ
JPH06222917A (ja) 電子装置
US7003543B2 (en) Sticky z bit
JPH0876990A (ja) カメラ用制御回路
JP2850377B2 (ja) マイクロコンピュータ
JPS62163142A (ja) コンピユ−タプログラムを修正するための装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040415

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040604

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080611

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080611

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090611

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees