JPH06187140A - Processor - Google Patents
ProcessorInfo
- Publication number
- JPH06187140A JPH06187140A JP33587492A JP33587492A JPH06187140A JP H06187140 A JPH06187140 A JP H06187140A JP 33587492 A JP33587492 A JP 33587492A JP 33587492 A JP33587492 A JP 33587492A JP H06187140 A JPH06187140 A JP H06187140A
- Authority
- JP
- Japan
- Prior art keywords
- address
- program
- interrupt
- rom
- data
- 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
Links
Landscapes
- Stored Programmes (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、プログラムを格納した
ROMを有する処理装置に関し、具体的にはROMに格
納したプログラムを部分的に修正することが可能なよう
に構成された処理装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a processing device having a ROM storing a program, and more particularly to a processing device constructed so that a program stored in the ROM can be partially modified.
【0002】[0002]
【従来の技術】近年、あらゆる装置が電化され、しかも
より高機能が求められるようになるにしたがって、CP
Uに代表される制御部を持ち、ROMに記録されたプロ
グラムに従って動作されるような構成を持つものがます
ます増加している。これは、ワンチップマイコンと呼ば
れるCPUが比較的安価に入手できることから、ますま
す増加している。2. Description of the Related Art In recent years, as all devices have been electrified and higher performance is required, CP
The number of control units represented by U, which are configured to operate according to a program recorded in ROM, is increasing more and more. This is increasing more and more because a CPU called a one-chip microcomputer is available at a relatively low cost.
【0003】図2は、一例としてのワンチップマイコン
のブロック図である。図において、ワンチップマイコン
は、CPU1と、ROM2と、RAM3とを有し、これ
らがアドレスバス4とデータバス5とにより相互に接続
されている。FIG. 2 is a block diagram of a one-chip microcomputer as an example. In the figure, the one-chip microcomputer has a CPU 1, a ROM 2, and a RAM 3, which are interconnected by an address bus 4 and a data bus 5.
【0004】CPU1はROM2から読み出したプログ
ラムに従って処理を行なう。ROM2はアプリケーショ
ンプログラムすなわち実際に処理をさせたいプログラム
をデータとして格納している。このROM2にはアプリ
ケーションプログラムに加えて装置自体の初期設定プロ
グラムなどその他必要なプログラムを格納している。R
AM3はプログラム動作時に一時的に発生したデータ
や、外部から入力されたデータを一時的に格納しておく
ために用いる。The CPU 1 performs processing according to the program read from the ROM 2. The ROM 2 stores an application program, that is, a program to be actually processed as data. In addition to application programs, this ROM 2 stores other necessary programs such as an initial setting program for the apparatus itself. R
The AM3 is used to temporarily store data temporarily generated during program operation and data input from the outside.
【0005】例えば、RAM3の1000番地に格納さ
れたデータに1を加算する命令がデータとしてROM2
に格納されている場合、CPU1はこの命令コードから
なるデータを上記のようにしてROM2から読み出し、
プログラム命令として解読する。その結果、CPU1は
RAM3の1000番地に格納されたデータに1を加算
する命令であると判断し、アドレスバス4に1000を
出力することによってRAM3の1000番地に格納さ
れた値をデータバス5を介して読み出し、この値に1を
加算し、再びアドレスバスに1000を出力することに
よってRAM3の1000番地に加算後のデータを書き
込む。For example, an instruction to add 1 to the data stored at the address 1000 of the RAM 3 is the ROM 2 as data.
Stored in the memory, the CPU 1 reads the data consisting of this instruction code from the ROM 2 as described above,
Decode as a program instruction. As a result, the CPU 1 determines that the instruction is to add 1 to the data stored in the address 1000 of the RAM 3, and outputs 1000 to the address bus 4 to transfer the value stored in the address 1000 of the RAM 3 to the data bus 5. Data is added to the address 1000 of the RAM 3 by reading out via the address, adding 1 to this value, and outputting 1000 to the address bus again.
【0006】このように、CPU1は実行する命令をR
OM2により読み出すためにアドレスバス4に実行アド
レスデータを出力すると、ROM2は選択されたアドレ
スにデータとして格納されているプログラムの一命令を
データとしてデータバス5に出力する。CPU1はこの
データを命令として取り込み、解読し、実行する。In this way, the CPU 1 executes the instruction to be executed by R
When the execution address data is output to the address bus 4 for reading by the OM 2, the ROM 2 outputs one instruction of the program stored as data at the selected address to the data bus 5 as data. The CPU 1 takes in this data as an instruction, decodes it, and executes it.
【0007】[0007]
【発明が解決しようとする課題】しかしながら以上述べ
た処理装置においては、ROM2の内容すなわちプログ
ラムの内容に変更が生じた場合、上記例において例えば
RAM2の1000番地ではなく2000番地に格納さ
れた値に1を加算するようにプログラムを変更したい場
合は、2000番地に格納された値に1を加えるという
プログラムに変更したROMと現状のROMとを交換し
なければならないという課題があった。又、これがワン
チップマイコンである場合には、ROMだけの取り替え
は不可能であり、マイコン全部を取り換える必要があ
る。However, in the above-described processing device, when the contents of the ROM 2, that is, the contents of the program, are changed, the values stored in the address 2000 of the RAM 2 instead of the address 1000 are changed in the above example. When it is desired to change the program so that 1 is added, there has been a problem that the ROM changed to the program in which 1 is added to the value stored at the address 2000 must be replaced with the current ROM. Also, if this is a one-chip microcomputer, it is impossible to replace only the ROM, and it is necessary to replace all the microcomputers.
【0008】[0008]
【課題を解決するための手段】この発明は、以上のよう
な課題を解決するためになされたもので、プログラムを
格納したROMと、アドレスバスに該ROMのアドレス
を出力することにより順次該ROMに格納されたプログ
ラムを動作させるCPUを有する処理装置において、書
き込み及び読み出しの可能な不揮発性メモリと、上記R
OMに格納されたプログラム実行中に上記アドレスバス
の値と所定の割込アドレス値を常時比較し一致したとき
に割込コードを前記データバスに出力する割込信号発生
部と、該割込コードを解読して前記不揮発性メモリに格
納されたプログラムを実行する制御手段とから構成され
るものである。SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and a ROM storing a program and the ROM are sequentially output by outputting the address of the ROM to an address bus. In a processing device having a CPU for operating a program stored in, a writable and readable non-volatile memory;
An interrupt signal generator that constantly compares the value of the address bus with a predetermined interrupt address value during execution of the program stored in the OM and outputs an interrupt code to the data bus, and the interrupt code. And a control means for executing the program stored in the non-volatile memory.
【0009】[0009]
【作用】本発明は以上のように構成されているので、以
下の様な作用をする。まず、あらかじめBBM等の不揮
発性メモリに変更すべき元プログラムのアドレスと、変
更ルーチンを格納しておき、元のプログラムを動作させ
るとCPUは順次アドレスをアドレスバスに発生し、R
OMに格納されたプログラムからなるデータを読み出
し、プログラム命令として解読し、実行する。このとき
に、例えばこの不揮発性メモリにあらかじめ格納された
割込アドレスを読み出しておき、元プログラム動作中、
常時元プログラムのアドレスと比較する。これらが一致
した場合には割込コードをデータバスに出力する。CP
Uは、割込信号発生部が発生した割込コードをを検出す
ると制御プログラムによって、不揮発性メモリに格納さ
れた変更ルーチンからなるデータを読み出し、プログラ
ム命令として解読し、実行する。このように作用するこ
とにより、元のプログラムを変更ルーチンからなるプロ
グラムによって修正し、修正したプログラムとして連続
的に動作させることができる。Since the present invention is constructed as described above, it operates as follows. First, an address of an original program to be changed and a change routine are stored in advance in a non-volatile memory such as a BBM, and when the original program is operated, the CPU sequentially generates addresses on the address bus and R
The data consisting of the program stored in the OM is read, decoded as a program instruction, and executed. At this time, for example, the interrupt address previously stored in this non-volatile memory is read out, and during the original program operation,
Always compare with the address of the original program. When they match, the interrupt code is output to the data bus. CP
When U detects the interrupt code generated by the interrupt signal generator, the control program reads the data consisting of the change routine stored in the non-volatile memory, decodes it as a program command, and executes it. By operating in this manner, the original program can be modified by the program including the change routine, and the modified program can be continuously operated.
【0010】[0010]
【実施例】以下本発明の一実施例を図面を用いて説明す
る。図1は本発明にかかる処理装置のブロック図、図3
は本発明に用いるバッテリバックアップメモリのメモリ
マップ、図4はアプリケーションプログラムを動作させ
る前に動作させる初期設定プログラムのフローチャー
ト、図5は割込処理のフローチャート、図6は割込処理
を説明するためのメモリマップである。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram of a processing device according to the present invention, and FIG.
Is a memory map of the battery backup memory used in the present invention, FIG. 4 is a flowchart of an initialization program that is operated before operating the application program, FIG. 5 is a flowchart of interrupt processing, and FIG. 6 is a flowchart for explaining interrupt processing. It is a memory map.
【0011】図1において、処理装置はCPU1、RO
M2、RAM3、アドレスバス4及びデータバス5を有
する。これらの構成は従来の処理装置の構成とほぼ同様
であるが、ROM2は、初期設定プログラムやアプリケ
ーションプログラム(以下、元プログラムという)に加
えて、プログラムの修正があるときの割込処理の機能を
設定するプログラムルーチンを有する。In FIG. 1, the processing device is a CPU 1, RO
It has an M2, a RAM 3, an address bus 4 and a data bus 5. Although these configurations are almost the same as the configurations of the conventional processing device, the ROM 2 has a function of an interrupt process when a program is modified, in addition to an initialization program and an application program (hereinafter referred to as an original program). It has a program routine for setting.
【0012】処理装置は更に、変更するプログラムルー
チン(以下、変更ルーチンという)を格納した不揮発性
メモリ、例えばバッテリバックアップメモリ(以下、B
BMという)101、BBM101に割込プログラムを
書き込んだり、あるいはBBM101に格納されたプロ
グラムを動作させるかさせないか等の設定を行うスイッ
チ群を有する割込プログラム設定部110、元プログラ
ム動作中に設定された番地で割込信号を発生させるため
の割込信号発生部120を有する。The processing device further includes a non-volatile memory, for example, a battery backup memory (hereinafter, referred to as B), which stores a program routine for changing (hereinafter, referred to as change routine).
(Referred to as BM) 101, an interrupt program setting unit 110 having a switch group for setting whether or not to write an interrupt program to the BBM 101 or to operate a program stored in the BBM 101, which is set during operation of the original program. It has an interrupt signal generating unit 120 for generating an interrupt signal at the address.
【0013】ここで、本発明の動作の概要を説明すると
以下のようになる。まず、あらかじめBBM2に変更す
べき元プログラムのアドレス(以下、割込アドレスとい
う)と、変更ルーチンを格納しておく。元プログラムを
動作させるとCPU1は順次アドレスをアドレスバス4
に発生し、ROM3に格納されたプログラムからなるデ
ータをデータバス5を通して読み出し、プログラム命令
として解読し、実行する。割込信号発生部120はあら
かじめBBM101に格納された割込アドレスをデータ
バス5を通して読み出しておき、元プログラム動作中、
常時元プログラムのアドレスと比較する。これらが一致
した場合には割込コードをデータバス5に出力するとと
もに、ROM2からのデータバス5へのデータ出力を禁
止する。CPU1は、割込信号発生部が発生した割込コ
ードをを検出すると、BBM101に格納された変更ル
ーチンからなるデータを読み出し、プログラム命令とし
て解読し、実行する。BBM101に格納された変更ル
ーチンが終了すると元プログラムの所定のアドレスに戻
り、元プログラムによる処理を再開する。The outline of the operation of the present invention will be described below. First, the address of the original program to be changed to the BBM 2 (hereinafter referred to as an interrupt address) and the change routine are stored in advance. When the original program is operated, the CPU 1 sequentially outputs addresses to the address bus 4
Data that is generated in the ROM 3 and stored in the ROM 3 is read through the data bus 5, decoded as a program command, and executed. The interrupt signal generator 120 reads out the interrupt address stored in the BBM 101 in advance through the data bus 5, and during the operation of the original program,
Always compare with the address of the original program. If they match, the interrupt code is output to the data bus 5 and the data output from the ROM 2 to the data bus 5 is prohibited. When the CPU 1 detects the interrupt code generated by the interrupt signal generator, the CPU 1 reads the data consisting of the change routine stored in the BBM 101, decodes it as a program command, and executes it. When the change routine stored in the BBM 101 is completed, the processing returns to the predetermined address of the original program and the processing by the original program is restarted.
【0014】次に各構成の詳細を説明する。BBM10
1は、図3に示す構成からなる。図において、BBM1
01は、所定の番地であるn番地から割り当てられてお
り、そのn番地にはデータライトポインタ301、n+
1番地には割込アドレス302及びn+2番地以降には
変更ルーチンが格納される。そして、変更ルーチンの最
後にはこの変更ルーチンの処理が終了したときの元プロ
グラムへの戻りアドレスからなるジャンプ命令304が
格納されている。尚、BBM101に限らず、書き込み
ができる不揮発性メモリなら、他のものを用いてもよ
い。例えば、EEPROMを用いてもよい。このように
不揮発性メモリとして、EEPROMを用いると後程の
プログラム修正が容易なワンチップマイコンを得ること
ができる。これに対して本実施例のごとくBBMを用い
と、読み出し速度が速いので、プログラムの処理速度を
変えることなく動作する処理装置が得られる。このとき
は、CPU1、ROM2、RAM3、バス4及び5、割
込信号発生回路120をワンチップで構成し、その他の
部分をその外部に設けるよう構成するとよい。Next, the details of each component will be described. BBM10
1 has the configuration shown in FIG. In the figure, BBM1
01 is assigned from the predetermined address n, and the data write pointer 301, n + is assigned to the n address.
An interrupt address 302 is stored in the first address, and a change routine is stored in the n + 2 and subsequent addresses. Then, at the end of the change routine, a jump instruction 304 composed of a return address to the original program when the processing of the change routine is completed is stored. Note that not limited to the BBM 101, any writable non-volatile memory may be used. For example, an EEPROM may be used. As described above, when the EEPROM is used as the non-volatile memory, it is possible to obtain a one-chip microcomputer whose program can be easily modified later. On the other hand, when the BBM is used as in the present embodiment, the reading speed is high, so that a processing device that operates without changing the processing speed of the program can be obtained. At this time, the CPU 1, the ROM 2, the RAM 3, the buses 4 and 5, and the interrupt signal generating circuit 120 may be configured in one chip, and the other parts may be provided outside the chip.
【0015】割込プログラム設定部110は、図1に示
すようにデータスイッチ部111と、割込アドレス設定
スイッチ112と、割込アドレス有効スイッチ113
と、データライトスイッチ114と、これらのスイッチ
の状態を検出するスイッチ検出回路115とから構成さ
れる。データスイッチ部111は、BBM101の所定
のアドレスにデータを書き込むためのデータ値を設定す
るもので、BBM101の各アドレスのビット数に対応
した数設ける。割込アドレス設定スイッチ112は、B
BM101へのデータの書き込みを許可する/しないを
設定する。割込アドレス有効スイッチ113は、BBM
101へ格納された変更ルーチンによるプログラム動作
を行う/行わないを設定する。データライトスイッチ1
14は、データスイッチ部111により設定したデータ
をBBM101へ書き込む/書き込まないを設定する。The interrupt program setting section 110, as shown in FIG. 1, has a data switch section 111, an interrupt address setting switch 112, and an interrupt address valid switch 113.
, A data write switch 114, and a switch detection circuit 115 for detecting the states of these switches. The data switch unit 111 sets a data value for writing data to a predetermined address of the BBM 101, and is provided in a number corresponding to the number of bits of each address of the BBM 101. The interrupt address setting switch 112 is B
Set whether or not to allow writing of data to the BM 101. The interrupt address enable switch 113 is a BBM.
Set whether or not to execute the program operation by the change routine stored in 101. Data write switch 1
14 sets writing / not writing of the data set by the data switch unit 111 to the BBM 101.
【0016】割込信号発生部120は、図1に示すよう
に割込アドレスを格納する検出レジスタ121、検出レ
ジスタ121の割込アドレスのアドレスデータとアドレ
スバス4に出力されたアドレスを比較する比較器122
と、この比較器122の出力とCPU1のメモリリード
端子Rからの出力を組み合せて所定の論理を発生するイ
ンバータ回路123、AND回路124及び125の各
論理回路と、割込コード発生回路126とから構成され
る。検出レジスタ121は、BBM101に格納された
割込アドレス302を読み出し格納するものであり、少
なくともアドレスデータと同じビット数を必要とする。
比較器122は、検出レジスタ121に格納された割込
アドレスの値と、CPU1がROM2に格納された元プ
ログラムを読み出すために出力するアドレス値を比較し
一致した場合に出力Oから論理”1”を出力し、不一致
の場合は論理”0”を出力する。AND回路124は、
CPU1のメモリーリード信号Rと比較器122の出力
信号を入力し、ともに論理”1”の場合のみ割込コード
発生回路126に論理”1”を出力する。割込コード発
生回路126は、入力Eに論理”1”を入力すると割込
コードをデータバス5に出力する。すなわち、CPU1
がROM2の読み取り命令を発生し、かつ、割込アドレ
ス302と実行しようとする元プログラムのROM2内
のアドレスが一致したときに割込コードを発生する。A
ND回路125は、CPU1のメモリーリード信号Rと
比較器122の反転出力信号を入力し、ともに論理”
1”の場合のみROM2に論理”1”を出力する。RO
M2は入力Eに論理”1”が入力したときにアドレスバ
ス4で指定されたアドレスのデータをデータバス5に出
力する。そのため、CPU1がROM2の読み取り命令
を発生したときでも、割込アドレス302と実行しよう
とする元プログラムのROM2内のアドレスが一致した
ときにはROM2のデータはデータバス5に出力されな
いようになる。As shown in FIG. 1, the interrupt signal generator 120 compares a detection register 121 that stores an interrupt address, and the address data of the interrupt address of the detection register 121 with the address output to the address bus 4. Bowl 122
From the logic circuits of the inverter circuit 123, AND circuits 124 and 125, which generate a predetermined logic by combining the output of the comparator 122 and the output from the memory read terminal R of the CPU 1, and the interrupt code generation circuit 126. Composed. The detection register 121 reads out and stores the interrupt address 302 stored in the BBM 101, and requires at least the same number of bits as the address data.
The comparator 122 compares the value of the interrupt address stored in the detection register 121 with the address value output by the CPU 1 for reading the original program stored in the ROM 2, and if they match, a logic "1" is output from the output O. Is output, and if they do not match, a logical "0" is output. The AND circuit 124
The memory read signal R of the CPU 1 and the output signal of the comparator 122 are input, and only when both are logic "1", the logic "1" is output to the interrupt code generation circuit 126. The interrupt code generation circuit 126 outputs an interrupt code to the data bus 5 when a logic “1” is input to the input E. That is, CPU1
Generates a read command for the ROM 2 and generates an interrupt code when the interrupt address 302 matches the address in the ROM 2 of the original program to be executed. A
The ND circuit 125 inputs the memory read signal R of the CPU 1 and the inverted output signal of the comparator 122, and both are logic "
Only in the case of 1 ", the logic" 1 "is output to the ROM 2. RO
M2 outputs the data of the address designated by the address bus 4 to the data bus 5 when the logic "1" is input to the input E. Therefore, even when the CPU 1 issues a read command for the ROM 2, when the interrupt address 302 matches the address in the ROM 2 of the original program to be executed, the data in the ROM 2 is not output to the data bus 5.
【0017】以下、動作をより詳細に説明する。まず、
BBM101への変更ルーチン等の設定について説明す
る。この設定はいくつかの方法がある。最も簡単な設定
方法は、BBM101そのものを取り換えることにより
達成できる。このような場合は、BBM101として、
バッテリバックアップ電源付きのメモリーカードにする
か、これに換えてEEPROMからなるメモリーカード
にすると取り換え作業そのものが容易となる。処理装置
が通信ターミナルや、ディスク装置などと接続可能であ
るときはここを通して変更プログラム等をBBMに設定
することができる。又、キーボード装置と接続可能であ
る機種にあってはキーボード装置から入力することも可
能である。The operation will be described in more detail below. First,
The setting of the changing routine to the BBM 101 will be described. There are several ways to set this. The simplest setting method can be achieved by replacing the BBM 101 itself. In such a case, as BBM101,
If a memory card with a battery backup power source is used, or if a memory card made of an EEPROM is used instead of the memory card, the replacement operation itself becomes easy. When the processing device can be connected to a communication terminal or a disk device, a change program or the like can be set in the BBM through this. Further, in the case of a model that can be connected to the keyboard device, it is possible to input from the keyboard device.
【0018】しかしながら、以上のような便利な構成を
持たない処理装置にあって図1に示す割込プログラム設
定部110に示すようないくつかのスイッチ群を用意し
ておき、ここから入力、設定することも可能である。こ
れらのスイッチ群はディップスイッチを用いることがで
きる。割込プログラム設定部110は、データスイッチ
部111と、割込アドレス設定スイッチ112と、割込
アドレス有効スイッチ113と、データライトスイッチ
114と、これらのスイッチの状態を検出するスイッチ
検出回路115とから構成される。However, in the processing device that does not have the convenient structure as described above, some switch groups as shown in the interrupt program setting unit 110 shown in FIG. 1 are prepared, and input and setting are performed from here. It is also possible to do so. A dip switch can be used for these switch groups. The interrupt program setting unit 110 includes a data switch unit 111, an interrupt address setting switch 112, an interrupt address valid switch 113, a data write switch 114, and a switch detection circuit 115 that detects the states of these switches. Composed.
【0019】この様な割込プログラム設定部110を用
いた割込プログラムの設定は図4に示す変更設定処理ル
ーチン409により設定される。まず、電源をオンする
と図3に示すBBM101のデータライトポインタ30
1をn+1番地に設定する(ステップ401)。これに
より、n+1番地の読み出し、書き込みのいずれも可能
となる。The setting of the interrupt program using the interrupt program setting unit 110 is set by the change setting processing routine 409 shown in FIG. First, when the power is turned on, the data write pointer 30 of the BBM 101 shown in FIG.
1 is set to the address n + 1 (step 401). As a result, both reading and writing of the address n + 1 are possible.
【0020】図1に示す割込アドレス設定スイッチ11
2の状態をスイッチ検出回路115から読み取り、オン
であれば割込アドレス302及び変更ルーチンをデータ
スイッチ部111から入力するルーチンへ進む(ステッ
プ402)。Interrupt address setting switch 11 shown in FIG.
The state of No. 2 is read from the switch detection circuit 115, and if it is on, the routine proceeds to the routine for inputting the interrupt address 302 and the change routine from the data switch unit 111 (step 402).
【0021】データライトスイッチ114の状態を読み
取り、オフであればこのスイッチ114の状態を検出し
続けることによりBBM101へのアクセスが禁止され
る(ステップ403)。これにより、データスイッチ部
111の設定を行ってもBBM101へ誤ったデータを
書き込むなどの悪影響がない。一方、オンであればこの
スイッチ114がオフであった間に設定したデータスイ
ッチ部111の設定値をBBM101の値を図3に示す
データライトポインタ301の示すアドレスへ書き込む
(ステップ404)。最初は、データライトポインタ3
01の値がn+1番地に設定されているので、割込アド
レスの値を設定することになる。Access to the BBM 101 is prohibited by reading the state of the data write switch 114, and if the state is off, the state of the switch 114 is continuously detected (step 403). As a result, even if the data switch unit 111 is set, there is no adverse effect such as writing wrong data to the BBM 101. On the other hand, if it is on, the set value of the data switch unit 111 set while the switch 114 is off is written to the address indicated by the data write pointer 301 shown in FIG. 3 at the value of the BBM 101 (step 404). First, data write pointer 3
Since the value of 01 is set to the address n + 1, the value of the interrupt address is set.
【0022】データポインタを次のアドレスに更新し
(ステップ405)、順次変更ルーチンのプログラムコ
ードを入力していき、設定を終了する。The data pointer is updated to the next address (step 405), the program code of the sequential change routine is input, and the setting is completed.
【0023】以上のようにして設定された変更ルーチン
を有する処理装置を動作させるには以下のように行う。
まず、図4に示すように、電源をオンし、上述したステ
ップ401によりデータポインタを設定する。この処理
は、BBM101にデータ書き込みを行わない処理装置
の動作実行時は重要でない。The operation of the processing apparatus having the change routine set as described above is performed as follows.
First, as shown in FIG. 4, the power is turned on and the data pointer is set in step 401 described above. This processing is not important when the operation of the processing device that does not write data to the BBM 101 is executed.
【0024】ステップ402において図1に示す割込ア
ドレス設定スイッチ112がオフの場合は、割込設定ル
ーチン410により割込処理を行うための初期設定が行
われる。割込アドレス有効スイッチ113の状態をスイ
ッチ検出回路115から読み取り(ステップ406)、
オフであれば検出レジスタ121のデータをクリアする
(ステップ407)。これにより検出レジスタ121の
値とアドレスバス4のデータとが一致することはなくな
るので、BBM101によるプログラム変更がないもの
として処理を行うようになる。一方、オンであればBB
M101に格納されている割込アドレス408読み出
し、検出レジスタ121に設定する。When the interrupt address setting switch 112 shown in FIG. 1 is turned off in step 402, the interrupt setting routine 410 initializes the interrupt processing. The state of the interrupt address valid switch 113 is read from the switch detection circuit 115 (step 406),
If it is off, the data in the detection register 121 is cleared (step 407). As a result, the value of the detection register 121 and the data of the address bus 4 do not coincide with each other, and the processing is performed assuming that the program is not changed by the BBM 101. On the other hand, if it is on, BB
The interrupt address 408 stored in M101 is read and set in the detection register 121.
【0025】その後、ROM2に格納された元プログラ
ムを起動し、処理を開始する。After that, the original program stored in the ROM 2 is activated to start the processing.
【0026】以上説明した処理は、プログラムとして例
えばROM2に格納され、アプリケーションプログラム
(元プログラム)起動前に動作する様設定するとよい。
又、OSの一機能として起動するよう構成してもよい。
元プログラム起動前に以上の処理を行うことで、元プロ
グラムへの割込アドレスの設定を行い、このアドレスで
の割込が可能となる。The above-described processing may be stored as a program in the ROM 2, for example, and may be set to operate before the application program (original program) is started.
Further, it may be configured to be activated as one function of the OS.
By performing the above processing before starting the original program, it is possible to set an interrupt address to the original program and interrupt at this address.
【0027】次に、元プログラム実行中の変更ルーチン
への割込を説明する。図5はこの割込処理を説明するた
めのフローチャート、図6は割込処理時のスタックエリ
アの内容とそのときのROM番地との対応マップであ
る。Next, an interrupt to the change routine during execution of the original program will be described. FIG. 5 is a flow chart for explaining the interrupt processing, and FIG. 6 is a correspondence map of the contents of the stack area at the time of the interrupt processing and the ROM address at that time.
【0028】元プログラム動作中に図1に示す検出レジ
スタ121に格納された割込アドレス302の値と、ア
ドレスバス4に出力されたROM2の読み出しアドレス
が一致すると、割込コード発生回路126は割込コード
を発生するとともに、ROM2からのデータ読み出しを
禁止する。When the value of the interrupt address 302 stored in the detection register 121 shown in FIG. 1 and the read address of the ROM 2 output to the address bus 4 match during the original program operation, the interrupt code generation circuit 126 interrupts. It generates an embedded code and prohibits reading of data from the ROM 2.
【0029】CPU1がこの割込コードを検出すると、
図5に示すようにソフトウェア割込処理に移行し、図6
に示すスタックポインタ601で指し示すアドレスをR
OM2の割込番地aの次の番地a+1番地からBBM1
01に格納された変更ルーチンの先頭番地n+2(図3
参照)に変更する。これ以降、変更ルーチン305が実
行される。変更ルーチン305の処理が終了すると、n
+l番地の元プログラムへの戻り命令304が実行され
る。この元プログラムへの戻り命令305は図6に示す
a+n番地へのジャンプ命令であり、これにより元プロ
グラムの変更エリア602の実行は行われなくなる。When the CPU 1 detects this interrupt code,
As shown in FIG. 5, the process shifts to software interrupt processing, and FIG.
The address indicated by the stack pointer 601 shown in
BBM1 from address a + 1 next to interrupt address a of OM2
The start address n + 2 of the change routine stored in 01 (see FIG.
Refer to). After that, the change routine 305 is executed. When the processing of the change routine 305 ends, n
The return instruction 304 to the original program at the address +1 is executed. The return instruction 305 to the original program is a jump instruction to the address a + n shown in FIG. 6, and thus the change area 602 of the original program is not executed.
【0030】以上、割込が1箇所の場合を例にとったが
以下のようにこの処理装置を変更することにより複数の
割込が可能となる。Although the case where there is one interrupt has been described above as an example, a plurality of interrupts can be made by changing this processing device as follows.
【0031】図1に示す検出レジスタ及び比較器を割込
回数分設け、その出力を同様にインバータ回路123及
びAND回路124に入力するよう構成する。BBM1
01の番地構成は、所定番地毎例えば1000番地毎に
割込アドレス、変更ルーチンを配置する。元プログラム
が実行され所定アドレスと設定した割込アドレスが一致
したら割込コードを発生するとともにどの比較器が出力
を出したかを判定し、一致した割込アドレスに続く変更
ルーチンを同様に実行するようにする。変更ルーチンを
上記のような固定長でBBM101に格納するのではな
く、可変長で格納するときは、変更ルーチンの最初のア
ドレスと比較器番号を対応させるテーブルを用意すると
よい。The detection register and the comparator shown in FIG. 1 are provided for the number of interrupts, and the outputs thereof are similarly input to the inverter circuit 123 and the AND circuit 124. BBM1
In the address configuration of 01, an interrupt address and a changing routine are arranged for every predetermined address, for example, every 1000 addresses. When the original program is executed and the specified address and the set interrupt address match, an interrupt code is generated and it is determined which comparator has output, and the change routine following the matched interrupt address is executed in the same manner. To When the change routine is not stored in the BBM 101 in the fixed length as described above but is stored in the variable length, it is preferable to prepare a table that associates the first address of the change routine with the comparator number.
【0032】[0032]
【発明の効果】以上説明したように本発明によれば、R
OMに格納された元プログラムを部分的に変更したい場
合に、割込回路を設けるとともに、書換え可能な不揮発
性メモリに変更するプログラムの変更ルーチンを格納す
る。そして、元プログラムの実行中に所定のアドレスを
検知したら不揮発性メモリに格納された変更ルーチンを
実行するように構成したので、ROMを取り替えること
なく、修正されたプログラムの実行をすることが可能と
なる。As described above, according to the present invention, R
When it is desired to partially change the original program stored in the OM, an interrupt circuit is provided and a program change routine for changing to a rewritable nonvolatile memory is stored. Since the modification routine stored in the non-volatile memory is executed when a predetermined address is detected during execution of the original program, it is possible to execute the modified program without replacing the ROM. Become.
【図1】本発明にかかる処理装置の一実施例のブロック
図。FIG. 1 is a block diagram of an embodiment of a processing device according to the present invention.
【図2】従来の処理装置のブロック図。FIG. 2 is a block diagram of a conventional processing device.
【図3】BBMの内容を説明するためのメモリマップFIG. 3 is a memory map for explaining the contents of BBM
【図4】処理装置を動作させるための初期設定ルーチン
を示すフローチャートFIG. 4 is a flowchart showing an initialization routine for operating the processing device.
【図5】割込処理のフローチャートFIG. 5 is a flowchart of interrupt processing.
【図6】ROM及びスタックエリアのメモリマップFIG. 6 is a memory map of ROM and stack area.
1 CPU 2 ROM 3 RAM 4 アドレスバス 5 データバス 101 バッテリバックアップメモリ(BBM) 110 割込プログラム設定部 111 データスイッチ部 112 割込アドレス設定スイッチ 113 割込アドレス有効スイッチ 114 データライトスイッチ 115 スイッチ検出回路 120 割込信号発生部 121 検出レジスタ 122 比較器 123 インバータ回路 124 AND回路 125 AND回路 126 割込コード発生回路 1 CPU 2 ROM 3 RAM 4 Address Bus 5 Data Bus 101 Battery Backup Memory (BBM) 110 Interrupt Program Setting Unit 111 Data Switch Unit 112 Interrupt Address Setting Switch 113 Interrupt Address Effective Switch 114 Data Write Switch 115 Switch Detection Circuit 120 Interrupt signal generation unit 121 Detection register 122 Comparator 123 Inverter circuit 124 AND circuit 125 AND circuit 126 Interrupt code generation circuit
Claims (1)
スバスに該ROMのアドレスを出力することにより順次
該ROMに格納されたプログラムを動作させるCPUを
有する処理装置において、 書き込み及び読み出しの可能な不揮発性メモリと、 前記ROMに格納されたプログラム実行中に前記アドレ
スバスの値と所定の割込アドレスの値を常時比較し一致
したときに割込コードを前記データバスに出力する割込
信号発生部と、 該割込コードを解読して前記不揮発性メモリに格納され
たプログラムを実行する制御手段とから構成される処理
装置。1. A non-volatile processor capable of writing and reading, in a processing device having a ROM storing a program and a CPU for sequentially operating the programs stored in the ROM by outputting an address of the ROM to an address bus. A memory and an interrupt signal generator for constantly comparing the value of the address bus and the value of a predetermined interrupt address during execution of the program stored in the ROM and outputting an interrupt code to the data bus when they match. A processing device configured to decode the interrupt code and execute a program stored in the nonvolatile memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33587492A JPH06187140A (en) | 1992-12-16 | 1992-12-16 | Processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33587492A JPH06187140A (en) | 1992-12-16 | 1992-12-16 | Processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06187140A true JPH06187140A (en) | 1994-07-08 |
Family
ID=18293349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33587492A Pending JPH06187140A (en) | 1992-12-16 | 1992-12-16 | Processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06187140A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003529842A (en) * | 2000-04-04 | 2003-10-07 | モトローラ・インコーポレイテッド | Method and apparatus for overlay storage in a data processing system |
JP2011088292A (en) * | 2009-10-20 | 2011-05-06 | Fuji Xerox Co Ltd | Image forming apparatus, control device, and program |
CN113010343A (en) * | 2021-02-25 | 2021-06-22 | 中车株洲电力机车有限公司 | High-safety equipment encoding method and system and train |
-
1992
- 1992-12-16 JP JP33587492A patent/JPH06187140A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003529842A (en) * | 2000-04-04 | 2003-10-07 | モトローラ・インコーポレイテッド | Method and apparatus for overlay storage in a data processing system |
JP2011088292A (en) * | 2009-10-20 | 2011-05-06 | Fuji Xerox Co Ltd | Image forming apparatus, control device, and program |
CN113010343A (en) * | 2021-02-25 | 2021-06-22 | 中车株洲电力机车有限公司 | High-safety equipment encoding method and system and train |
CN113010343B (en) * | 2021-02-25 | 2023-07-07 | 中车株洲电力机车有限公司 | High-safety equipment coding method and system and train |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4404625B2 (en) | Information processing apparatus and ROM image generation apparatus for the apparatus | |
JPH0799498B2 (en) | Device for correcting erroneous microinstructions | |
JP2004046453A (en) | Single chip microcomputer and boot sector switching method | |
JPS61221936A (en) | Data processor | |
JPH06187140A (en) | Processor | |
JPH07248978A (en) | Nonvolatile memory | |
JP2001256044A (en) | Data processor | |
JP2008140124A (en) | Data processor | |
JP5195690B2 (en) | Information processing apparatus, ROM image generation apparatus for the apparatus, and transfer apparatus | |
JP2004126658A (en) | Processor system | |
US11650738B2 (en) | Integrity check of a memory | |
RU2272317C1 (en) | Electronic computer | |
JP3074238B2 (en) | camera | |
KR20020067144A (en) | Apparatus and method for reset confirmation of computer system | |
JP2001256061A (en) | Information storage device | |
JPH0683986A (en) | Single chip microcomputer | |
JPS582943A (en) | Memory extending substitution system | |
JP2000010772A (en) | Microcomputer | |
JPH0423147A (en) | Bank switching system | |
JPH04293139A (en) | Data holding method | |
JPH01114940A (en) | Signal processor | |
JPH0490032A (en) | Microcomputer | |
JPH056280A (en) | Interruption control system | |
JPS63123137A (en) | Address coincidence signal generating system | |
JPH06348478A (en) | Information processor |