JP3341692B2 - Processor, electronic device equipped with the processor, program inspection method, and program inspection device - Google Patents
Processor, electronic device equipped with the processor, program inspection method, and program inspection deviceInfo
- Publication number
- JP3341692B2 JP3341692B2 JP35056698A JP35056698A JP3341692B2 JP 3341692 B2 JP3341692 B2 JP 3341692B2 JP 35056698 A JP35056698 A JP 35056698A JP 35056698 A JP35056698 A JP 35056698A JP 3341692 B2 JP3341692 B2 JP 3341692B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- program
- information
- storage medium
- control means
- 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
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
【0001】[0001]
【発明の属する技術分野】この発明は、プロセッサ、該
プロセッサを搭載した電子機器、プログラム検査方法及
びプログラム検査装置に関し、詳しくは、実装状態でプ
ログラムの検査が可能なプロセッサ、該プロセッサを搭
載した電子機器、電子機器に搭載されたプロセッサが実
行するプログラムを検査するプログラム検査方法及びプ
ログラム検査装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a processor, an electronic device equipped with the processor, a program inspection method and a program inspection device, and more particularly, to a processor capable of inspecting a program in a mounted state, and an electronic device equipped with the processor. The present invention relates to an apparatus, a program inspection method for inspecting a program executed by a processor mounted on an electronic apparatus, and a program inspection apparatus.
【0002】[0002]
【従来の技術】ファクシミリ装置や通信機器等の電子機
器に搭載されるプロセッサに組み込まれるプログラム
は、完成当初から正常に動作することはまれである。そ
こで、通常は、例えば、以下に示す手法により、プログ
ラムの問題点(バグ等)を除去するようにしている。 (1) 電子機器に搭載され、上記プログラムが書き込
まれるROMに代えて、検査用のプログラムや検査時に
各種データが書き込まれるメモリ(ROMエミュレー
タ)を電子機器の基板に取り付けられた、本来上記RO
Mが挿入されるべきソケットに挿入すると共に、ROM
エミュレータにプローブを介してデバッグ制御端末を接
続する。そして、電子機器に搭載されたプロセッサに上
記ROMエミュレータに書き込まれた検査用のプログラ
ムを実行させた後、プログラム実行時に得られ、ROM
エミュレータに書き込まれた各種データに基づいて、デ
バッグ制御端末を操作してプログラムの問題点(バグ
等)を除去する。 (2) (1)のROMとパラレルにROMエミュレー
タを接続すると共に、プロセッサからのアクセスは切替
スイッチにより切り替え、ROMエミュレータにプロー
ブを介してデバッグ制御端末を接続する。そして、検査
時には、切替スイッチをROMエミュレータ側に切り替
えてプロセッサにROMエミュレータに書き込まれた検
査用のプログラムを実行させた後、プログラム実行時に
得られ、ROMエミュレータに書き込まれた各種データ
に基づいて、デバッグ制御端末を操作してプログラムの
問題点(バグ等)を除去する。なお、上記(1)及び
(2)の手法のいずれの場合であっても、ROMエミュ
レータには、ROMと同一のメモリ空間が割り当てられ
ている。2. Description of the Related Art A program installed in a processor mounted on an electronic device such as a facsimile machine or a communication device rarely normally operates normally from the beginning. Therefore, usually, for example, problems (bugs and the like) of the program are removed by the following method. (1) In place of the ROM that is mounted on the electronic device and in which the above-described program is written, a memory (ROM emulator) to which an inspection program and various data are written at the time of the inspection is attached to the substrate of the electronic device.
M is inserted into the socket to be inserted, and ROM
Connect the debug control terminal to the emulator via the probe. Then, after causing the processor mounted on the electronic device to execute the inspection program written in the ROM emulator, the program is obtained at the time of execution of the program.
Based on various data written in the emulator, the debug control terminal is operated to eliminate problems (bugs, etc.) in the program. (2) A ROM emulator is connected in parallel with the ROM of (1), access from the processor is switched by a changeover switch, and a debug control terminal is connected to the ROM emulator via a probe. Then, at the time of inspection, the changeover switch is switched to the ROM emulator side to cause the processor to execute the inspection program written in the ROM emulator. Operate the debug control terminal to eliminate problems (bugs, etc.) in the program. In either case of the above methods (1) and (2), the same memory space as that of the ROM is allocated to the ROM emulator.
【0003】ここで、図11に、上記(2)の手法によ
る従来のプログラム検査装置の電気的構成例を示すブロ
ック図である。この例のプログラム検査装置は、プロセ
ッサ1と、表示器2と、ディップ・スイッチ3と、外部
バス4と、切替スイッチ5と、ROM6と、ROMエミ
ュレータ7と、プローブ8と、デバッグ制御端末9と、
RAM10とから概略構成されており、プロセッサ1、
表示器2、ディップ・スイッチ3、外部バス4、ROM
6及びRAM10は検査対象の電子機器を構成してい
る。Here, FIG. 11 is a block diagram showing an example of the electrical configuration of a conventional program inspection apparatus according to the above-mentioned method (2). The program inspection apparatus of this example includes a processor 1, a display 2, a dip switch 3, an external bus 4, a changeover switch 5, a ROM 6, a ROM emulator 7, a probe 8, a debug control terminal 9, ,
And a RAM 10, and a processor 1,
Display 2, DIP switch 3, External bus 4, ROM
The RAM 6 and the RAM 10 constitute an electronic device to be inspected.
【0004】プロセッサ1は、CPUコア(中央処理装
置)11と、内部バス12と、表示ドライバ13と、入
出力ポート14と、バス・コントロール・ユニット(B
CU)15とから概略構成されている。CPUコア11
は、レジスタ161〜165を有し、内部バス12、B
CU15、外部バス4及び切替スイッチ5を介して、R
OM6又はROMエミュレータ7からプログラムを構成
する各命令を読み出し、レジスタ161〜165や、内
部バス12、BCU15及び外部バス4を介してアクセ
スしたRAM10を用いて、読み出した各命令を順次実
行し、電子機器の各部を制御する。また、CPUコア1
1には、外部から割込信号INTが供給される。表示ド
ライバ13は、CPUコア11から内部バス12を介し
て供給された表示データに基づいて表示器2を駆動す
る。入出力ポート14は、ディップ・スイッチ3によっ
て設定されたデータを内部バス12を介してCPUコア
11に供給する。BCU15は、CPUコア11から内
部バス12を介して供給されたアドレスを外部バス4を
介してROM6、ROMエミュレータ7又はRAM10
に供給することにより、ROM6、ROMエミュレータ
7又はRAM10から読み出され、外部バス4を介して
供給された命令やデータを内部バス12を介してCPU
コア11に供給すると共に、CPUコア11から内部バ
ス12を介して供給されたデータを外部バス4を介して
RAM10やROMエミュレータ7の所定の領域に書き
込む。The processor 1 includes a CPU core (central processing unit) 11, an internal bus 12, a display driver 13, an input / output port 14, and a bus control unit (B
CU) 15. CPU core 11
Has a register 16 1 to 16 5, the internal bus 12, B
R via the CU 15, the external bus 4 and the switch 5
OM6 or reads each instruction of the program from the ROM emulator 7, and registers 16 1 to 16 5, using the RAM10 accessed via the internal bus 12, BCU15 the external bus 4, sequentially executes each instruction read And controls each part of the electronic device. CPU core 1
1 is supplied with an interrupt signal INT from outside. The display driver 13 drives the display 2 based on display data supplied from the CPU core 11 via the internal bus 12. The input / output port 14 supplies the data set by the dip switch 3 to the CPU core 11 via the internal bus 12. The BCU 15 converts the address supplied from the CPU core 11 via the internal bus 12 into the ROM 6, the ROM emulator 7 or the RAM 10 via the external bus 4.
To the ROM 6, the ROM emulator 7 or the RAM 10, and supplies the instructions and data supplied via the external bus 4 to the CPU via the internal bus 12.
While being supplied to the core 11, the data supplied from the CPU core 11 via the internal bus 12 is written to a predetermined area of the RAM 10 or the ROM emulator 7 via the external bus 4.
【0005】表示器2は、液晶ディスプレイやプラズマ
・ディスプレイ等からなり、表示ドライバ13によって
駆動され、表示画面に数字や文字等を表示する。ディッ
プスイッチ3は、4個のスイッチが並列接続されてな
り、各種モード設定やデータの入力等に用いられ、各ス
イッチがオンされた場合に"L"レベルの信号が出力さ
れ、オフされた場合に"H"レベルの信号が出力される。
切替スイッチ5は、このプログラム検査装置の操作者に
よって切り替えられ、外部バス4を、ROM6又はRO
Mエミュレータ7のいずれか一方と接続させる。ROM
6には、検査すべきプログラムが予め記憶されている。
ROMエミュレータ7には、検査用のプログラムが予め
記憶されていると共に、検査結果であるデータが記憶さ
れる記憶領域が設けられている。プローブ8は、ROM
エミュレータ7とデバッグ制御端末9とを接続する。デ
バッグ制御端末9は、ROMエミュレータ7の所定の記
憶領域に記憶された検査結果であるデータをプローブ8
を介して読み出して、検査すべきプログラムの問題点を
解析する。RAM10には、CPUコア11がプログラ
ムの各命令実行する時に各種のデータが記憶される。こ
こで、図12に検査対象である電子機器の外部メモリを
構成するROM6及びRAM10のメモリ空間の一例を
示す。この例においては、図12に示すように、アドレ
ス番地「0000」(4ビットの16進数、以下同様)
からアドレス番地「1FFF」まではプログラム領域で
あり、ROM6に割り当てられ、アドレス番地「1FF
F」からアドレス番地「3FFF」まではデータ領域で
あり、RAM10に割り当てられている。なお、ROM
エミュレータ7は、ROM6と同一のメモリ空間が割り
当てられている。The display 2 is composed of a liquid crystal display, a plasma display or the like, is driven by a display driver 13, and displays numbers, characters, and the like on a display screen. The DIP switch 3 includes four switches connected in parallel, and is used for various mode settings and data input. When each switch is turned on, an "L" level signal is output and when the switch is turned off. Output an "H" level signal.
The changeover switch 5 is switched by an operator of the program inspection apparatus, and connects the external bus 4 to the ROM 6 or the RO.
Connect to one of the M emulators 7. ROM
6, a program to be checked is stored in advance.
The ROM emulator 7 stores a test program in advance and has a storage area in which data as a test result is stored. Probe 8 is a ROM
The emulator 7 and the debug control terminal 9 are connected. The debug control terminal 9 transmits the inspection result data stored in a predetermined storage area of the ROM emulator 7 to the probe 8.
And analyze the problem of the program to be inspected. The RAM 10 stores various data when the CPU core 11 executes each instruction of the program. Here, FIG. 12 shows an example of a memory space of the ROM 6 and the RAM 10 constituting an external memory of the electronic device to be inspected. In this example, as shown in FIG. 12, an address “0000” (4-bit hexadecimal number, the same applies hereinafter)
To the address “1FFF” is a program area, which is allocated to the ROM 6 and has the address “1FF”.
The area from “F” to the address “3FFF” is a data area, which is allocated to the RAM 10. In addition, ROM
The emulator 7 is assigned the same memory space as the ROM 6.
【0006】次に、上記構成のプログラム検査装置の動
作について説明する。この例では、切り替えスイッチ5
をROM6側に切り替えてROM6に書き込まれたプロ
グラムをCPUコア11が実行した結果、表示器2に
「5」(10進数)を表示させるために、ディップ・ス
イッチ3の各スイッチを操作して「0101」(4ビッ
トの2進数)を設定したにもかかわらず、表示器2に
「3」(10進数)が表示されてしまった場合のプログ
ラム上のバグを除去することを目的とする。なお、ハー
ドウェア上は何等問題がないものとする。ここで、RO
M6に書き込まれたプログラムにバグがない場合には、
CPUコア11が以下に示す順序で処理(以下、表示処
理と呼ぶ)を実行するものとする。まず、ディップ・ス
イッチ3の各スイッチが操作されて数字「0101」が
設定されると、その数字のデータ「0101」をCPU
コア11が入出力ポート14及び内部バス12を介して
一旦レジスタ161に書き込んだ後、内部バス12、B
CU15及び外部バス4を介してRAM10のアドレス
番地「2111」(図12参照)に書き込む。次に、C
PUコア11は、RAM10のアドレス番地「211
1」に書き込まれたデータ「0101」を読み出した
後、外部バス4、BCU15及び内部バス12を介して
表示ドライバ13に転送し、そのデータ「0101」に
基づいて、表示ドライバ13が表示器2を駆動して表示
器2に数字「5」を表示する。Next, the operation of the above-described program inspection apparatus will be described. In this example, the changeover switch 5
Is switched to the ROM 6 side, and as a result of the CPU core 11 executing the program written in the ROM 6, in order to display “5” (decimal number) on the display 2, each switch of the DIP switch 3 is operated to “ An object of the present invention is to eliminate a bug in a program when "3" (decimal number) is displayed on the display 2 despite setting "0101" (4-bit binary number). It is assumed that there is no problem on hardware. Where RO
If there is no bug in the program written in M6,
It is assumed that the CPU core 11 executes processing (hereinafter, referred to as display processing) in the following order. First, when each switch of the DIP switch 3 is operated to set a number “0101”, the data “0101” of the number is stored in the CPU.
After the core 11 is written to once register 16 1 via the input and output ports 14 and the internal bus 12, internal bus 12, B
The data is written to the address "2111" (see FIG. 12) of the RAM 10 via the CU 15 and the external bus 4. Next, C
The PU core 11 stores the address “211” of the RAM 10.
After reading the data “0101” written in “1”, the data is transferred to the display driver 13 via the external bus 4, the BCU 15, and the internal bus 12, and based on the data “0101”, the display driver 13 To display the number “5” on the display 2.
【0007】この表示処理において、バグが発生する可
能性のあるルートとしては、通常、以下の4つが考えら
れる。 (a) ディップ・スイッチ3に設定されたデータ「0
101」が入出力ポート14及び内部バス12を介して
CPUコア11内部に転送される。 (b) CPUコア11内部に転送されたデータ「01
01」がCPUコア11内部のレジスタ161に書き込
まれる。 (c) レジスタ161に書き込まれたデータ「010
1」が内部バス12、BCU15及び外部バス4を介し
てRAM10のアドレス番地「2111」に書き込まれ
る。 (d) RAM10のアドレス番地「2111」に書き
込まれたデータ「0101」が外部バス4、BCU15
及び内部バス12を介して表示ドライバ13に転送さ
れ、表示器2に表示される。そこで、(a)〜(d)の
各ルートのいずれでバグが発生しているかを確認するた
めに、以下の手順によりプログラム検査を行う。In this display processing, the following four routes are usually considered as a route where a bug may occur. (A) The data “0” set in the DIP switch 3
101 ”is transferred into the CPU core 11 via the input / output port 14 and the internal bus 12. (B) The data “01” transferred inside the CPU core 11
01 "is written to the register 16 of the internal CPU core 11. (C) the data written in the register 16 1 "010
"1" is written to the address "2111" of the RAM 10 via the internal bus 12, the BCU 15, and the external bus 4. (D) The data “0101” written to the address “2111” of the RAM 10 is transferred to the external bus 4 and the BCU 15
The data is transferred to the display driver 13 via the internal bus 12 and is displayed on the display 2. Therefore, in order to confirm which of the routes (a) to (d) has a bug, a program check is performed according to the following procedure.
【0008】まず、(a)のルートでバグが発生してい
るか否かを確認するためには、例えば、CPUコア11
に、ディップ・スイッチ3に設定されたデータを入出力
ポート14から読み出してCPUコア11内部のレジス
タ161に書き込むという処理(以下、旧処理aと呼
ぶ)を実行させる代わりに、ディップ・スイッチ3に設
定されたデータを入出力ポート14から読み出してレジ
スタ162に書き込んだ後、レジスタ162に書き込ま
れたデータを読み出してROMエミュレータ7の所定の
記憶領域に書き込むという処理(以下、新処理aと呼
ぶ)を実行させ、デバッグ制御端末9を操作して、RO
Mエミュレータ7の所定の記憶領域にデータ「010
1」が正しく書き込まれているか否かを確認すれば良
い。そこで、操作者は、高級言語で作成された旧処理a
に関するサブルーチンを修正して新処理aに関するサブ
ルーチンを作成した後、機械語にコンパイルし、その機
械語のサブルーチンを、ROM6に書き込まれたプログ
ラムのうち、コードサイズが等しくて上記表示処理とは
無関係なサブルーチンと交換したプログラムを検査用の
プログラムとしてROMエミュレータ7に書き込むと共
に、ROMエミュレータ7にデータを書き込むべき記憶
領域を確保する。次に、操作者は、このようなROMエ
ミュレータ7をプログラム検査装置に取り付けた後、切
替スイッチ5を切り替えてROMエミュレータ7を外部
バス4と接続する。そして、操作者は、CPUコア11
にROMエミュレータ7に書き込まれたプログラムを実
行させる。この場合、旧処理aに関するサブルーチンの
直前の命令が実行された後に割込信号INTを供給して
処理を一時中断させた後、新処理aに関するサブルーチ
ンに分岐するように設定する。これにより、CPUコア
11は、割込信号INTが供給されると、処理を一時中
断した後、新処理aに関するサブルーチンに分岐して、
入出力ポート14からディップ・スイッチ3に設定され
たデータを読み出してレジスタ162に書き込んだ後、
ROMエミュレータ7の所定の記憶領域に書き込むの
で、操作者は、デバッグ制御端末9を操作して、ROM
エミュレータ7の所定の記憶領域にデータ「0101」
が書き込まれているか否かを確認する。そして、ROM
エミュレータ7の所定の記憶領域にデータ「0101」
が書き込まれている場合には、(a)のルートではバグ
が発生していないので、次の(b)のルートでバグが発
生しているか否かを確認する手順に移行する。これに対
し、ROMエミュレータ7の所定の記憶領域にデータ
「0101」が書き込まれていない場合には、(a)の
ルートでバグが発生しているので、高級言語で作成され
た新処理aに関するサブルーチンを修正した後、機械語
にコンパイルし、その機械語のサブルーチンを再びRO
Mエミュレータ7に書き込み、上記した処理を繰り返
す。First, in order to check whether a bug has occurred in the route (a), for example, the CPU core 11
To, and reads out the set dip switch 3 data from the input-output port 14 the process of writing to the register 16 of the internal CPU core 11 (hereinafter, referred to as the old process a) Instead of executing the dip switches 3 after writing to the register 16 2 data input-output port is read from the 14 set in the process of writing in a predetermined storage area of the ROM emulator 7 reads the data written to the register 16 2 (hereinafter, new process a ), And operates the debug control terminal 9 to execute RO
The data “010” is stored in a predetermined storage area of the M emulator 7.
It is sufficient to confirm whether "1" is correctly written. Therefore, the operator may use the old process a created in the high-level language.
After the subroutine for the new process a is created by modifying the subroutine for the new process a, the subroutine for the machine language is compiled into a machine language. The program exchanged with the subroutine is written into the ROM emulator 7 as a test program, and a storage area for writing data to the ROM emulator 7 is secured. Next, the operator attaches such a ROM emulator 7 to the program inspection apparatus and then switches the changeover switch 5 to connect the ROM emulator 7 to the external bus 4. Then, the operator sets the CPU core 11
To execute the program written in the ROM emulator 7. In this case, after the instruction immediately before the subroutine for the old process a is executed, the interrupt signal INT is supplied to temporarily suspend the process, and then the process is set to branch to the subroutine for the new process a. Thereby, when the interrupt signal INT is supplied, the CPU core 11 temporarily suspends the processing, and then branches to a subroutine relating to the new processing a.
After writing to the register 16 2 reads the set from the input-output port 14 to the DIP switch 3 data,
Since the data is written into a predetermined storage area of the ROM emulator 7, the operator operates the debug control terminal 9 to
The data "0101" is stored in a predetermined storage area of the emulator 7.
Check if is written. And ROM
The data "0101" is stored in a predetermined storage area of the emulator 7.
Is written, since a bug has not occurred in the route (a), the process proceeds to a procedure for checking whether or not a bug has occurred in the next route (b). On the other hand, if the data “0101” is not written in the predetermined storage area of the ROM emulator 7, a bug has occurred in the route of (a), and the new process a created in the high-level language After modifying the subroutine, compile it into a machine language, and then execute the
The data is written into the M emulator 7 and the above processing is repeated.
【0009】次に、(b)のルートでバグが発生してい
るかを確認するためには、例えば、CPUコア11に、
レジスタ161に書き込まれたデータを読み出してRA
M10のアドレス番地「2111」に書き込むという処
理(以下、旧処理bと呼ぶ)を実行させる代わりに、レ
ジスタ161に書き込まれたデータを読み出してROM
エミュレータ7の所定の記憶領域に書き込むという処理
(以下、新処理bと呼ぶ)を実行させ、デバッグ制御端
末9を操作して、ROMエミュレータ7の所定の記憶領
域にデータ「0101」が正しく書き込まれているか否
かを確認すれば良い。そこで、操作者は、高級言語で作
成された旧処理bに関するサブルーチンを修正して新処
理bに関するサブルーチンを作成した後、機械語にコン
パイルし、その機械語のサブルーチンを、ROM6に書
き込まれたプログラムのうち、コードサイズが等しくて
上記表示処理とは無関係なサブルーチンと交換したプロ
グラムを検査用のプログラムとしてROMエミュレータ
7に書き込むと共に、ROMエミュレータ7にデータを
書き込むべき記憶領域を確保する。次に、操作者は、こ
のようなROMエミュレータ7をプログラム検査装置に
取り付けた後、切替スイッチ5を切り替えてROMエミ
ュレータ7を外部バス4と接続する。そして、操作者
は、CPUコア11にROMエミュレータ7に書き込ま
れたプログラムを実行させる。この場合、旧処理bに関
するサブルーチンの直前の命令が実行された後に割込信
号INTを供給して処理を一時中断させた後、新処理b
に関するサブルーチンに分岐するように設定する。これ
により、CPUコア11は、割込信号INTが供給され
ると、処理を一時中断した後、新処理bに関するサブル
ーチンに分岐して、レジスタ161に書き込まれたデー
タを読み出してROMエミュレータ7の所定の記憶領域
に書き込むので、操作者は、デバッグ制御端末9を操作
して、ROMエミュレータ7の所定の記憶領域にデータ
「0101」が書き込まれているか否かを確認する。そ
して、ROMエミュレータ7の所定の記憶領域にデータ
「0101」が書き込まれている場合には、(b)のル
ートではバグが発生していないので、次の(c)のルー
トでバグが発生しているか否かを確認する手順に移行す
る。これに対し、ROMエミュレータ7の所定の記憶領
域にデータ「0101」が書き込まれていない場合に
は、(b)のルートでバグが発生しているので、高級言
語で作成された新処理bに関するサブルーチンを修正し
た後、機械語にコンパイルし、その機械語のサブルーチ
ンを再びROMエミュレータ7に書き込み、上記した処
理を繰り返す。Next, in order to confirm whether a bug has occurred in the route (b), for example, the CPU core 11
RA reads the data written in the register 16 1
Processing of writing to the M10 address address "2111" (hereinafter referred to as the old process b) Instead of executing the, ROM reads the data written in the register 16 1
A process of writing to a predetermined storage area of the emulator 7 (hereinafter referred to as a new process b) is executed, and the debug control terminal 9 is operated to correctly write the data “0101” to the predetermined storage area of the ROM emulator 7. What is necessary is just to confirm whether it is. Therefore, the operator modifies the subroutine for the old process b created in the high-level language to create a subroutine for the new process b, compiles the machine language, and stores the subroutine of the machine language in the program written in the ROM 6. Among them, a program exchanged with a subroutine irrelevant to the above display processing having the same code size is written in the ROM emulator 7 as a test program, and a storage area for writing data in the ROM emulator 7 is secured. Next, the operator attaches such a ROM emulator 7 to the program inspection apparatus and then switches the changeover switch 5 to connect the ROM emulator 7 to the external bus 4. Then, the operator causes the CPU core 11 to execute the program written in the ROM emulator 7. In this case, after the instruction immediately before the subroutine relating to the old process b is executed, the interrupt signal INT is supplied to temporarily suspend the process, and then the new process b
Set to branch to the subroutine for Thus, CPU core 11, an interrupt signal INT is supplied, after temporarily suspended process branches to the subroutine regarding the new process b, the ROM emulator 7 reads the data written in the register 16 1 Since the data is written in the predetermined storage area, the operator operates the debug control terminal 9 to check whether the data “0101” is written in the predetermined storage area of the ROM emulator 7. If the data "0101" is written in a predetermined storage area of the ROM emulator 7, no bug has occurred in the route (b), and a bug has occurred in the route (c). Move to the procedure to check whether On the other hand, if the data “0101” is not written in the predetermined storage area of the ROM emulator 7, a bug has occurred in the route (b), and the new process b created in the high-level language After the subroutine is corrected, it is compiled into a machine language, the subroutine of the machine language is written into the ROM emulator 7 again, and the above-described processing is repeated.
【0010】次に、(c)のルートでバグが発生してい
るかを確認するためには、例えば、CPUコア11に、
RAM10のアドレス番地「2111」に書き込まれた
データを読み出して表示ドライバ13に転送するという
処理(以下、旧処理cと呼ぶ)を実行させる代わりに、
RAM10のアドレス番地「2111」に書き込まれた
データを読み出してレジスタ162に書き込んだ後、レ
ジスタ162に書き込まれたデータを読み出してROM
エミュレータ7の所定の記憶領域に書き込むという処理
(以下、新処理cと呼ぶ)を実行させ、デバッグ制御端
末9を操作して、ROMエミュレータ7の所定の記憶領
域にデータ「0101」が正しく書き込まれているか否
かを確認すれば良い。そこで、操作者は、高級言語で作
成された旧処理cに関するサブルーチンを修正して新処
理cに関するサブルーチンを作成した後、機械語にコン
パイルし、その機械語のサブルーチンを、ROM6に書
き込まれたプログラムのうち、コードサイズが等しくて
上記表示処理とは無関係なサブルーチンと交換したプロ
グラムを検査用のプログラムとしてROMエミュレータ
7に書き込むと共に、ROMエミュレータ7にデータを
書き込むべき記憶領域を確保する。次に、操作者は、こ
のようなROMエミュレータ7をプログラム検査装置に
取り付けた後、切替スイッチ5を切り替えてROMエミ
ュレータ7を外部バス4と接続する。そして、操作者
は、CPUコア11にROMエミュレータ7に書き込ま
れたプログラムを実行させる。この場合、旧処理cに関
するサブルーチンの直前の命令が実行された後に割込信
号INTを供給して処理を一時中断させた後、新処理c
に関するサブルーチンに分岐するように設定する。これ
により、CPUコア11は、割込信号INTが供給され
ると、処理を一時中断した後、新処理cに関するサブル
ーチンに分岐して、RAM10のアドレス番地「211
1」に書き込まれたデータを読み出してレジスタ162
に書き込んだ後、レジスタ162に書き込まれたデータ
を読み出してROMエミュレータ7の所定の記憶領域に
書き込むので、操作者は、デバッグ制御端末9を操作し
て、ROMエミュレータ7の所定の記憶領域にデータ
「0101」が書き込まれているか否かを確認する。そ
して、ROMエミュレータ7の所定の記憶領域にデータ
「0101」が書き込まれている場合には、(c)のル
ートではバグが発生していないので、次の(d)のルー
トでバグが発生しているか否かを確認する手順に移行す
る。これに対し、ROMエミュレータ7の所定の記憶領
域にデータ「0101」が書き込まれていない場合に
は、(c)のルートでバグが発生しているので、高級言
語で作成された新処理cに関するサブルーチンを修正し
た後、機械語にコンパイルし、その機械語のサブルーチ
ンを再びROMエミュレータ7に書き込み、上記した処
理を繰り返す。Next, in order to check whether a bug has occurred in the route (c), for example, the CPU core 11
Instead of executing a process of reading data written at the address “2111” of the RAM 10 and transferring the data to the display driver 13 (hereinafter, referred to as an old process c),
After writing to the register 16 2 reads the data written in the RAM10 address address "2111", ROM reads the data written to the register 16 2
A process of writing to a predetermined storage area of the emulator 7 (hereinafter referred to as a new process c) is executed, and the debug control terminal 9 is operated to correctly write the data “0101” to the predetermined storage area of the ROM emulator 7. What is necessary is just to confirm whether it is. Therefore, the operator modifies the subroutine for the old process c created in the high-level language to create a subroutine for the new process c, compiles it into machine language, and stores the machine language subroutine in the program written in the ROM 6. Of these, a program exchanged with a subroutine irrelevant to the display processing, having the same code size, is written into the ROM emulator 7 as a test program, and a storage area for writing data to the ROM emulator 7 is secured. Next, the operator attaches such a ROM emulator 7 to the program inspection apparatus and then switches the changeover switch 5 to connect the ROM emulator 7 to the external bus 4. Then, the operator causes the CPU core 11 to execute the program written in the ROM emulator 7. In this case, after the instruction immediately before the subroutine related to the old process c is executed, the interrupt signal INT is supplied to temporarily suspend the process, and then the new process c is executed.
Set to branch to the subroutine for Accordingly, when the interrupt signal INT is supplied, the CPU core 11 temporarily suspends the processing, branches to a subroutine relating to the new processing c, and executes the address “211” of the RAM 10.
The data written in “1” is read and the register 16 2
After writing, since writing in a predetermined storage area of the ROM emulator 7 reads the data written to the register 16 2, the operator operates the debug control terminal 9, in a predetermined storage area of the ROM emulator 7 It is checked whether data “0101” has been written. If the data "0101" is written in a predetermined storage area of the ROM emulator 7, no bug has occurred in the route (c), and a bug has occurred in the route (d). Move to the procedure to check whether On the other hand, if the data "0101" is not written in the predetermined storage area of the ROM emulator 7, a bug has occurred in the route of (c), and the new process c created in the high-level language is involved. After the subroutine is corrected, it is compiled into a machine language, the subroutine of the machine language is written into the ROM emulator 7 again, and the above-described processing is repeated.
【0011】次に、(d)のルートでバグが発生してい
るかを確認するためには、例えば、CPUコア11に、
RAM10のアドレス番地「2111」に書き込まれた
データを読み出して表示ドライバ13に転送し、そのデ
ータに基づいて、表示ドライバ13に表示器2を駆動さ
せて表示器2に数字を表示するという処理(以下、旧処
理dと呼ぶ)を実行させる代わりに、予めROMエミュ
レータ7の所定の記憶領域にデータ「0101」を書き
込んでおき、ROMエミュレータ7の所定の記憶領域に
書き込まれたデータを読み出して表示ドライバ13に転
送し、そのデータに基づいて、表示ドライバ13に表示
器2を駆動させて表示器2に数字を表示するという処理
(以下、新処理dと呼ぶ)を実行させ、表示器2に数字
「5」が正しく表示されるか否かを確認すれば良い。そ
こで、操作者は、高級言語で作成された旧処理dに関す
るサブルーチンを修正して新処理dに関するサブルーチ
ンを作成した後、機械語にコンパイルし、その機械語の
サブルーチンを、ROM6に書き込まれたプログラムの
うち、コードサイズが等しくて上記表示処理とは無関係
なサブルーチンと交換したプログラムを検査用のプログ
ラムとしてROMエミュレータ7に書き込むと共に、R
OMエミュレータ7の所定の記憶領域にデータ「010
1」を書き込んでおく。次に、操作者は、このようなR
OMエミュレータ7をプログラム検査装置に取り付けた
後、切替スイッチ5を切り替えてROMエミュレータ7
を外部バス4と接続する。そして、操作者は、CPUコ
ア11にROMエミュレータ7に書き込まれたプログラ
ムを実行させる。この場合、旧処理dに関するサブルー
チンの直前の命令が実行された後に割込信号INTを供
給して処理を一時中断させた後、新処理dに関するサブ
ルーチンに分岐するように設定する。これにより、CP
Uコア11は、割込信号INTが供給されると、処理を
一時中断した後、新処理dに関するサブルーチンに分岐
して、ROMエミュレータ7の所定の記憶領域に書き込
まれたデータ「0101」を読み出して表示ドライバ1
3に転送し、そのデータに基づいて、表示ドライバ13
に表示器2を駆動させて表示器2に数字を表示させるの
で、操作者は、表示器2に数字「5」が正しく表示され
ているか否かを確認する。そして、表示器2に数字
「5」が正しく表示されている場合には、(d)のルー
トではバグが発生していないことが確認できる。これに
対し、表示器2に数字「5」が正しく表示されていない
場合には、(d)のルートでバグが発生しているので、
高級言語で作成された新処理dに関するサブルーチンを
修正した後、機械語にコンパイルし、その機械語のサブ
ルーチンを再びROMエミュレータ7に書き込み、上記
した処理を繰り返す。Next, in order to confirm whether a bug has occurred in the route (d), for example, the CPU core 11
A process of reading the data written in the address “2111” of the RAM 10 and transferring the data to the display driver 13, based on the data, causing the display driver 13 to drive the display 2 and display the numbers on the display 2 ( Instead of executing the old process d), data “0101” is written in a predetermined storage area of the ROM emulator 7 in advance, and the data written in the predetermined storage area of the ROM emulator 7 is read and displayed. The data is transferred to the driver 13, and based on the data, the display driver 13 drives the display 2 to execute a process of displaying a number on the display 2 (hereinafter referred to as a new process d). What is necessary is just to confirm whether the number "5" is displayed correctly. Then, the operator modifies the subroutine for the old process d created in the high-level language to create a subroutine for the new process d, compiles it into machine language, and stores the subroutine of the machine language in the program written in the ROM 6. Of the subroutines having the same code size and having no relation to the above-mentioned display processing, are written into the ROM emulator 7 as a test program.
The data “010” is stored in a predetermined storage area of the OM emulator 7.
Write "1". Next, the operator can use such R
After attaching the OM emulator 7 to the program inspection device, the changeover switch 5 is switched to set the ROM emulator 7
Is connected to the external bus 4. Then, the operator causes the CPU core 11 to execute the program written in the ROM emulator 7. In this case, after the instruction immediately before the subroutine related to the old process d is executed, the interrupt signal INT is supplied to temporarily suspend the process, and then the process is set to branch to the subroutine related to the new process d. Thereby, the CP
When the interrupt signal INT is supplied, the U core 11 temporarily suspends the processing, branches to a subroutine relating to the new processing d, and reads out the data “0101” written in a predetermined storage area of the ROM emulator 7. Display driver 1
3 and the display driver 13 based on the data.
Then, the operator drives the display 2 to display the number on the display 2, so that the operator checks whether or not the number “5” is correctly displayed on the display 2. If the number "5" is correctly displayed on the display 2, it can be confirmed that no bug has occurred in the route (d). On the other hand, if the number “5” is not correctly displayed on the display 2, a bug has occurred in the route of (d).
After correcting the subroutine relating to the new process d created in the high-level language, the subroutine is compiled into a machine language, the subroutine of the machine language is written into the ROM emulator 7 again, and the above process is repeated.
【0012】[0012]
【発明が解決しようとする課題】ところで、上記した従
来のプログラム検査の手法においては、上記(1)及び
(2)の手法のいずれの場合でも、電子機器の製造会社
がその電子機器の開発段階でプログラムを検査すること
には適しているが、プローブを介してROMエミュレー
タとデバッグ制御端末とを接続しなければならないた
め、電子機器が完成してプロセッサやROMが電子機器
のケースに実装された場合には、ROMを取り外してR
OMエミュレータと付け代えるということができず、プ
ログラムを検査することができないという欠点があっ
た。したがって、例えば、電子機器が販売され、使用者
から苦情が寄せられてそれに対処するために、電子機器
にプロセッサやROMを実装した状態で再びプログラム
を検査することができないという問題があった。By the way, in the above-mentioned conventional program inspection method, in any of the above-mentioned methods (1) and (2), the manufacturer of the electronic equipment is in the development stage of the electronic equipment. Although it is suitable for inspecting a program, since the ROM emulator and the debug control terminal must be connected via a probe, the electronic device is completed and the processor and the ROM are mounted on the case of the electronic device. In this case, remove the ROM and
There is a drawback that the program cannot be inspected because it cannot be replaced with an OM emulator. Therefore, for example, there has been a problem that, for example, an electronic device is sold, a complaint is received from a user, and a program cannot be inspected again with a processor or a ROM mounted on the electronic device in order to deal with the complaint.
【0013】また、上記した従来のプログラム検査の手
法においては、上記(1)及び(2)の手法のいずれの
場合でも、ROMエミュレータには、ROMと同一のメ
モリ空間が割り当てられているので、プログラム開発の
初期段階で上記した表示処理のような1つの処理だけを
検査する場合には、メモリ空間に余裕があるので、検査
用のプログラムを空いているメモリ空間に割り当てるこ
とができるが、プログラムの完成段階ではメモリ空間の
大部分が満たされており、上記したように、検査用のプ
ログラムをROMエミュレータに書き込むためには他の
サブルーチンと交換しなければならず、手間が面倒であ
る。また、電子機器の中には、例えば、通信機器などの
ように、外部からプログラムが転送され、RAMの一部
の記憶領域に記憶される場合がある。ところが、上記し
た従来のプログラム検査の手法においては、上記のよう
に、ROMに書き込まれたプログラムの検査だけでも手
間が面倒であったり、困難であるから、RAMに書き込
まれたプログラムの検査はより一層手間が面倒である
し、ほとんど不可能である。In the above-described conventional program checking method, the same memory space as that of the ROM is allocated to the ROM emulator in any of the methods (1) and (2). When only one process such as the display process described above is inspected at the initial stage of program development, there is room in the memory space, so that a program for inspection can be allocated to an empty memory space. At the stage of completion, most of the memory space is filled, and as described above, in order to write the test program into the ROM emulator, it must be exchanged with another subroutine, which is troublesome. In some electronic devices, for example, a program is externally transferred and stored in a partial storage area of a RAM, such as a communication device. However, in the above-described conventional program inspection method, as described above, it is troublesome or difficult to inspect the program written in the ROM alone, so that the inspection of the program written in the RAM is more difficult. It is even more cumbersome and almost impossible.
【0014】さらに、上記表示処理のような単純な処理
に関するサブルーチンではなく、より複雑な処理に関す
るサブルーチンを検査する場合には、検査対象のサブル
ーチンのサイズだけでなく、検査用のサブルーチンのサ
イズも大きくなるが、そのような場合、ROMエミュレ
ータとROMとに同一のメモリ空間が割り当てられてい
ると、ROMエミュレータに当該サブルーチンの直前ま
でのプログラムと検査用のサブルーチンの両方を書き込
むことができないため、上記(1)の手法ではプログラ
ムの検査自体が不可能となる。また、上記(2)の手法
ではROM6に当該サブルーチンの直前までのプログラ
ムをROMエミュレータ7に検査用のサブルーチンをそ
れぞれ書き込んでおき、検査時にまず切替スイッチ5を
ROM6側に切り替えておいて当該サブルーチンの直前
までのプログラムを実行させた後、割り込みによりプロ
グラムの実行を一時中断させる。次に、切替スイッチ5
をROMエミュレータ7側に切り替えた後、検査用のサ
ブルーチンを実行させることが考えられるが、切り替え
の手間が必要である。Further, when a subroutine relating to a more complicated process is inspected instead of a subroutine relating to a simple process such as the above-mentioned display process, not only the size of the subroutine to be inspected but also the size of the subroutine for the inspection increases. However, in such a case, if the same memory space is allocated to the ROM emulator and the ROM, both the program immediately before the subroutine and the subroutine for inspection cannot be written to the ROM emulator. The method (1) makes it impossible to check the program itself. In the method (2), the program up to immediately before the subroutine is written in the ROM 6 and the subroutine for inspection is written in the ROM emulator 7, and at the time of inspection, the changeover switch 5 is first switched to the ROM 6 side, and the subroutine of the subroutine is written. After executing the program up to immediately before, the execution of the program is temporarily interrupted by an interrupt. Next, the changeover switch 5
May be switched to the ROM emulator 7 side, and then a subroutine for inspection may be executed.
【0015】そこで、例えば、特開昭63−4346号
公報に開示されているように、ROMのメモリ空間にデ
バッグのためだけに記憶領域を確保しておくことが考え
られるが、実装状態で全く使用されることがない記憶領
域を確保することは無駄であるし、その分大容量のRO
Mが必要となり、電子機器が高価になる。また、切替ス
イッチ5を切り替える手間を省くために切替スイッチ5
を設けずに、単にROM6とROMエミュレータ7とを
パラレルに外部バス4に接続することが考えられるが、
近年ではCPUコア11の動作速度が高速化し、動作ク
ロックは数百MHzにも及ぶようになっているので、R
OM6とROMエミュレータ7とをパラレルに外部バス
4に接続すると、不要な寄生容量が外部バス4に付加さ
れることになり、出力遅延やセットアップ・タイム、ホ
ールド・タイム等の電気的特性が劣化するため、外部バ
ス4により転送される信号の波形がなまり、電子機器が
正常に動作せず、期待通りのプログラム検査ができなく
なることがある。さらに、ROM6にハードウェア上の
不具合、例えば、隣接するピン間の短絡があると、CP
Uコア11がROMエミュレータ7に書き込まれたプロ
グラムを正確に読み出すことができず、プログラムの検
査自体ができなくなるという問題がある。Therefore, for example, as disclosed in Japanese Patent Application Laid-Open No. 63-4346, it is conceivable to secure a storage area in the memory space of the ROM only for debugging, It is useless to secure a storage area that is not used, and a large-capacity RO
M is required, and electronic equipment becomes expensive. Further, in order to save the trouble of switching the changeover switch 5, the changeover switch 5
It is conceivable to simply connect the ROM 6 and the ROM emulator 7 to the external bus 4 in parallel without providing
In recent years, the operating speed of the CPU core 11 has increased, and the operating clock has reached several hundred MHz.
When the OM 6 and the ROM emulator 7 are connected to the external bus 4 in parallel, unnecessary parasitic capacitance is added to the external bus 4, and electrical characteristics such as output delay, setup time, and hold time deteriorate. As a result, the waveform of the signal transferred by the external bus 4 may be distorted, the electronic device may not operate normally, and the program test may not be performed as expected. Further, if there is a hardware defect in the ROM 6, for example, a short circuit between adjacent pins,
There is a problem that the U core 11 cannot accurately read the program written in the ROM emulator 7, and the program itself cannot be inspected.
【0016】また、上記した従来のプログラム検査の手
法においては、上記表示処理のような単純な処理に関す
るサブルーチンの検査においてさえも、バグが発生する
可能性のあるルートが4つもあり、各ルートにおけるバ
グの発生の有無を確認するためには、上記したような高
級言語での検査用サブルーチンの作成、そのコンパイ
ル、機械語のサブルーチンのROMエミュレータ7への
書き込み、その実行、サブルーチンの修正という手順を
経なければならないから、さらに複雑な処理に関するサ
ブルーチンの検査においては、膨大な手間と時間がかか
ってしまうという問題がある。In the above-described conventional program inspection method, there are four routes where a bug may occur even in the inspection of a subroutine relating to a simple process such as the above display process. In order to confirm whether or not a bug has occurred, the procedure of creating a subroutine for inspection in a high-level language as described above, compiling it, writing a subroutine of a machine language into the ROM emulator 7, executing it, and modifying the subroutine is performed. Therefore, there is a problem that it takes an enormous amount of trouble and time in the inspection of the subroutine for more complicated processing.
【0017】ところで、以上の説明では大部分はハード
ウェア上は何等問題がないことを前提としているが、R
OM6やRAM10とBCU15とを接続している外部
バス4等に結線上の不具合が発生しているために、正常
な動作がなされない場合がある。ところが、上記した従
来のプログラム検査の手法においては、ROMエミュレ
ータもROM6やRAM10と共に、BCU15に接続
されているので、上記結線上の不具合については発見で
きないという欠点があった。また、上記した従来のプロ
グラム検査の手法(1)においては、ROM6とROM
エミュレータ7とは切替スイッチ5を介して外部バス4
に接続されているので、ROM6自体にハードウェア上
の不具合があり、それによって外部バス4に何らかの悪
影響を及ぼした場合には、切替スイッチ5を切り替えて
も外部バス4にその悪影響が残っている場合がある。そ
のような場合、ROMエミュレータ7を用いてプログラ
ムの検査を行っても、同様の不具合が発生してしまうか
ら、その原因を究明できないという問題がある。By the way, most of the above description assumes that there is no problem on hardware.
There is a case where a normal operation cannot be performed due to a connection failure in the OM 6, the external bus 4 connecting the RAM 10 and the BCU 15, or the like. However, in the above-described conventional program inspection method, the ROM emulator is also connected to the BCU 15 together with the ROM 6 and the RAM 10, so that there is a drawback that the above-mentioned faulty connection cannot be found. In the above-described conventional program inspection method (1), the ROM 6 and the ROM
The emulator 7 is connected to the external bus 4 via the changeover switch 5.
Therefore, if the ROM 6 itself has a hardware defect and thus has any adverse effect on the external bus 4, even if the changeover switch 5 is switched, the external bus 4 still has the adverse effect. There are cases. In such a case, even if the program is inspected using the ROM emulator 7, the same problem occurs, and therefore, there is a problem that the cause cannot be determined.
【0018】この発明は、上述の事情に鑑みてなされた
もので、簡単かつ安価な構成であって、しかも簡単な操
作で短時間に実装状態におけるプログラムの検査を正確
に行うことができると共に、外部から供給されたプログ
ラムの検査も行うことができ、さらに、ハードウェア上
の不具合の原因も究明することができるプロセッサ、該
プロセッサを搭載した電子機器、プログラム検査方法及
びプログラム検査装置を提供することを目的としてい
る。The present invention has been made in view of the above circumstances, has a simple and inexpensive configuration, and can accurately inspect a program in a mounted state with a simple operation in a short time. Provided is a processor capable of checking a program supplied from the outside and further determining the cause of a hardware failure, an electronic device equipped with the processor, a program checking method, and a program checking device. It is an object.
【0019】[0019]
【課題を解決するための手段】上記課題を解決するため
に、請求項1記載の発明に係るプロセッサは、中央処理
装置が実行すべきプログラムや該プログラム実行時に使
用される情報が記憶される第1のメモリ空間を割り当て
られた第1の記憶媒体との間の命令や情報の転送を制御
する第1の転送制御手段と、上記第1の記憶媒体の上記
第1のメモリ空間とは異なる第2のメモリ空間を割り当
てられ、上記プログラムを検査するための検査用プログ
ラムや上記プログラムの検査時に使用される情報が記憶
される第2の記憶媒体との間の命令や情報の転送を制御
する第2の転送制御手段と、上記第1の転送制御手段
と、上記第2の転送制御手段と、上記中央処理装置とに
共通に接続された内部バスとを備え、上記第2の転送制
御手段は、上記第2のメモリ空間に対応するアドレスを
上記内部バスから供給された場合に上記第2の転送制御
手段の各部を制御する第1の制御手段を有し、上記内部
バスからのパラレルなアドレス又は情報をシリアルなア
ドレス又は情報に変換して上記第2の記憶媒体に転送
し、上記第2の記憶媒体からのシリアルなアドレス又は
情報をパラレルなアドレス又は情報に変換し、上記内部
バスに出力することを特徴としている。According to a first aspect of the present invention, there is provided a processor for storing a program to be executed by a central processing unit and information used when the program is executed. A first transfer control unit that controls the transfer of instructions and information to and from a first storage medium to which one memory space is allocated; and a first transfer control unit that is different from the first memory space of the first storage medium. A second memory space is allocated, and controls the transfer of instructions and information to and from a second storage medium in which a test program for checking the program and information used for checking the program are stored. 2 transfer control means, the first transfer control means, the second transfer control means, and an internal bus commonly connected to the central processing unit, wherein the second transfer control means , The second A first control unit for controlling each unit of the second transfer control unit when an address corresponding to a memory space is supplied from the internal bus; and a parallel address or information from the internal bus is serialized. And converting the serial address or information from the second storage medium into a parallel address or information and outputting the parallel address or information to the internal bus. I have.
【0020】請求項2記載の発明は、請求項1記載のプ
ロセッサに係り、上記第2の記憶媒体と上記第2の転送
制御手段とを接続する信号線の本数は、上記第1の記憶
媒体と上記第1の転送制御手段とを接続する信号線の本
数より少ないことを特徴としている。According to a second aspect of the present invention, there is provided the processor according to the first aspect, wherein the number of signal lines connecting the second storage medium and the second transfer control means is equal to the first storage medium. And the number of signal lines connecting the first transfer control means and the first transfer control means.
【0021】請求項3記載の発明は、請求項1又は2記
載のプロセッサに係り、上記第2の転送制御手段は、上
記プログラムの検査時に上記第1の記憶媒体に記憶され
た情報を読み出して上記第2の記憶媒体に記憶すること
を特徴としている。According to a third aspect of the present invention, there is provided the processor according to the first or second aspect, wherein the second transfer control means reads out information stored in the first storage medium at the time of checking the program. It is characterized in that it is stored in the second storage medium.
【0022】請求項4記載の発明は、請求項1乃至3の
いずれか1に記載のプロセッサに係り、上記中央処理装
置は、情報が一時記憶される複数のレジスタと、上記第
1又は第2の転送制御手段を介して、上記第1又は第2
の記憶媒体から上記プログラム又は上記検査用プログラ
ムを構成する各命令を読み出し、上記複数のレジスタや
上記第1の転送制御手段を介してアクセスした上記第1
の記憶媒体を用いて、読み出した各命令を順次実行する
第2の制御手段と、通常使用の際の割込発生時に分岐す
べき第1の分岐先を示す第1のベクタ・アドレスが予め
記憶される第1のベクタ・アドレス・レジスタと、プロ
グラム検査の際の割込発生時に分岐すべき第2の分岐先
を示す第2のベクタ・アドレスが予め記憶される第2の
ベクタ・アドレス・レジスタと、上記第2の制御手段が
次に実行すべき命令のアドレスの値が格納され、各命令
の実行毎にその値が順次カウント・アップされたり、上
記第1又は第2のベクタ・アドレス・レジスタから第1
又は第2のベクタ・アドレスが供給されたりするプログ
ラム・カウンタと、上記第2の制御手段によるプログラ
ムの動作を一時中断して割り込みを発生させるべき分岐
元のアドレス番地であるブレーク・アドレスが記憶され
ると共に、プログラム検査の際の割り込み発生時に分岐
すべき分岐先のアドレス番地である割込ベクタがそれぞ
れ予め指定される複数個のブレーク・アドレス・レジス
タと、上記プログラム・カウンタの出力値と、上記複数
個のブレーク・アドレス・レジスタから供給される複数
個のブレーク・アドレスとを比較し、一致した場合に、
割込信号を上記第2の制御手段に供給する比較手段とを
備えてなることを特徴としている。According to a fourth aspect of the present invention, there is provided the processor according to any one of the first to third aspects, wherein the central processing unit comprises: a plurality of registers for temporarily storing information; Through the transfer control means of the first or the second
It reads each instruction from the storage medium constituting the program or the test program, the first accessed via the plurality of registers and said first transfer control means
Control means for sequentially executing the read instructions and a first vector address indicating a first branch destination to be branched when an interrupt occurs during normal use, using a storage medium of A second vector address register in which a first vector address register to be stored and a second vector address indicating a second branch destination to be branched when an interrupt occurs during a program check are stored in advance. And the value of the address of an instruction to be executed next by the second control means is stored, and the value is sequentially incremented each time an instruction is executed, or the first or second vector address is stored. Register first
Alternatively, a program counter to which a second vector address is supplied and a break address, which is an address of a branch source at which the operation of the program by the second control means is temporarily interrupted to generate an interrupt, are stored. A plurality of break address registers, each of which is specified in advance by an interrupt vector, which is an address address of a branch destination to be branched when an interrupt occurs at the time of program inspection; an output value of the program counter; A plurality of break addresses supplied from a plurality of break address registers are compared.
And a comparing means for supplying an interrupt signal to the second control means.
【0023】請求項5記載の発明は、請求項1乃至4の
いずれか1に記載のプロセッサに係り、上記第2の転送
制御手段は、上記第1の制御手段と、上記中央処理装置
から転送されたアドレスをデコードするデコーダと、上
記中央処理装置から転送されたアドレスを一時保持する
アドレス・バッファと、上記中央処理装置から転送され
た情報を一時保持するデータ・バッファと、上記アドレ
ス・バッファから供給されたアドレス又は上記データ・
バッファから供給された情報のいずれか一方を選択して
出力するセレクタと、上記第2の記憶媒体から転送され
たシリアルの情報を一時保持した後、パラレルの情報に
変換して出力する受信バッファと、上記セレクタから転
送されたパラレルのアドレス又は情報と上記第1の制御
手段から供給された命令とを一時保持した後、シリアル
のアドレス又は情報に変換して出力する送信バッファと
を備え、上記第1の制御手段は、上記デコーダによりデ
コードされたアドレスが上記第2のメモリ空間に対応す
るアドレスの場合には、装置各部を制御することを特徴
としている。According to a fifth aspect of the present invention, there is provided the processor according to any one of the first to fourth aspects, wherein the second transfer control means transfers the data from the first control means and the central processing unit. A decoder for decoding the transferred address, an address buffer for temporarily holding the address transferred from the central processing unit, a data buffer for temporarily holding the information transferred from the central processing unit, and a data buffer for temporarily storing the information transferred from the central processing unit. The supplied address or the above data
A selector for selecting and outputting one of the information supplied from the buffer, and a reception buffer for temporarily holding serial information transferred from the second storage medium, converting the serial information to parallel information, and outputting the parallel information. A transmission buffer for temporarily storing a parallel address or information transferred from the selector and a command supplied from the first control unit, and then converting the serial address or information into a serial address or information and outputting the serial address or information; The first control means controls each section of the device when the address decoded by the decoder is an address corresponding to the second memory space.
【0024】請求項6記載の発明は、請求項1乃至5の
いずれか1に記載のプロセッサに係り、上記中央処理装
置と、上記第1の転送制御手段と、上記第2の転送制御
手段とが同一のチップ内に形成されていることを特徴と
している。The invention according to claim 6 relates to the processor according to any one of claims 1 to 5, wherein the central processing unit, the first transfer control means, and the second transfer control means Are formed in the same chip.
【0025】請求項7記載の発明は、請求項6記載のプ
ロセッサに係り、上記第2の記憶媒体と上記第2の転送
制御手段とを接続するための少なくとも1個の端子が設
けられていることを特徴としている。According to a seventh aspect of the present invention, there is provided the processor according to the sixth aspect, wherein at least one terminal for connecting the second storage medium and the second transfer control means is provided. It is characterized by:
【0026】請求項8記載の発明に係る電子機器は、請
求項1乃至7のいずれか1に記載のプロセッサを搭載
し、上記第2の記憶媒体と接続可能であることを特徴と
している。According to an eighth aspect of the present invention, there is provided an electronic apparatus including the processor according to any one of the first to seventh aspects, wherein the electronic apparatus is connectable to the second storage medium.
【0027】請求項9記載の発明に係るプログラム検査
方法は、請求項8記載の電子機器に、上記検査用プログ
ラムを記憶した上記第2の記憶媒体を接続し、上記プロ
グラムや上記検査用のプログラムを実行することによ
り、上記第1の記憶媒体や上記中央処理装置を構成する
複数のレジスタから読み出され上記第2の記憶媒体に記
憶された情報に基づいて、上記プログラムを検査するこ
とを特徴としている。According to a ninth aspect of the present invention, there is provided a program inspection method, wherein the second storage medium storing the inspection program is connected to the electronic device according to the eighth aspect, and the program or the inspection program is connected to the electronic device. The program is inspected based on information read from the first storage medium and a plurality of registers constituting the central processing unit and stored in the second storage medium. And
【0028】請求項10記載の発明に係るプログラム検
査装置は、請求項8記載の電子機器と、上記検査用プロ
グラムを記憶し、上記電子機器に接続された上記第2の
記憶媒体と、上記プログラムや上記検査用のプログラム
が実行されることにより、上記第1の記憶媒体や上記中
央処理装置を構成する複数のレジスタから読み出され上
記第2の記憶媒体に記憶された情報に基づいて、上記プ
ログラムを検査するプログラム検査手段とを備えてなる
ことを特徴としている。According to a tenth aspect of the present invention, there is provided a program inspection apparatus, wherein the electronic device according to the eighth aspect, the second storage medium storing the inspection program, and connected to the electronic device, And by executing the inspection program, based on the information read from the first storage medium or a plurality of registers constituting the central processing unit and stored in the second storage medium, And a program checking means for checking a program.
【0029】[0029]
【作用】この発明の構成によれば、簡単かつ安価な構成
でプログラムの検査を行うことができる。また、簡単な
操作で短時間に実装状態におけるプログラムの検査を正
確に行うことができる。さらに、外部から供給されたプ
ログラムの検査も行うことができると共に、ハードウェ
ア上の不具合の原因も究明することができる。According to the configuration of the present invention, a program can be inspected with a simple and inexpensive configuration. In addition, the program can be accurately inspected in the mounted state in a short time with a simple operation. In addition, it is possible to inspect a program supplied from the outside and to find out the cause of a hardware defect.
【0030】[0030]
【発明の実施の形態】以下、図面を参照して、この発明
の実施の形態について説明する。説明は、実施例を用い
て具体的に行う。図1は、この発明の一実施例であるプ
ログラム検査装置の電気的構成を示すブロック図であ
る。この例のプログラム検査装置は、プロセッサ21
と、表示器22と、ディップ・スイッチ23と、外部バ
ス24と、ROM25と、RAM26と、外部バス27
と、デバッグ・メモリ28と、デバッグ制御端末29
と、モード切替スイッチ30とから概略構成されてお
り、プロセッサ21、表示器22、ディップ・スイッチ
23、外部バス24、ROM25及びRAM26は検査
対象の電子機器を構成しており、図示せぬケースに実装
されている。Embodiments of the present invention will be described below with reference to the drawings. The description will be specifically made using an embodiment. FIG. 1 is a block diagram showing an electrical configuration of a program inspection apparatus according to one embodiment of the present invention. In this example, the program checking device includes a processor 21
, Display 22, dip switch 23, external bus 24, ROM 25, RAM 26, external bus 27
, A debug memory 28 and a debug control terminal 29
And a mode changeover switch 30. The processor 21, the display 22, the DIP switch 23, the external bus 24, the ROM 25 and the RAM 26 constitute an electronic device to be inspected. Has been implemented.
【0031】プロセッサ21は、CPUコア(中央処理
装置)31と、内部バス32と、表示ドライバ33と、
入出力ポート34と、BCU35及び36とから概略構
成されている。CPUコア31は、レジスタ371〜3
75と、制御回路38と、ベクタ・アドレス・レジスタ
391及び392と、アドレス生成回路40と、プログ
ラム・カウンタ(PC)41と、ブレーク・アドレス・
レジスタ421及び422と、比較器43とから概略構
成されている。レジスタ371〜375には、各種のデ
ータが一時記憶される。制御回路38は、内部バス3
2、BCU35又は36、外部バス24又は外部バス2
7を介して、ROM25又はデバッグ・メモリ28から
プログラムを構成する各命令を読み出し、レジスタ37
1〜375や、内部バス32、BCU35及び外部バス
24を介してアクセスしたRAM26を用いて、読み出
した各命令を順次実行し、電子機器の各部を制御する。
ベクタ・アドレス・レジスタ391及び392には、そ
れぞれユーザ・モード及びデバッグ・モードの際に割込
発生時に分岐すべき分岐先のベクタ・アドレス「000
0」及び「E000」が予め記憶され、制御回路38の
制御の下、モード切替スイッチ30により供給されるモ
ード切替信号SMが"H"レベルの場合には、ベクタ・ア
ドレス・レジスタ391に記憶されたベクタ・アドレス
を、モード切替信号SMが"L"レベルの場合にはベクタ
・アドレス・レジスタ392に記憶されたベクタ・アド
レスを、それぞれアドレス生成回路40に供給する。ア
ドレス生成回路40は、制御回路38の制御の下、ベク
タ・アドレス・レジスタ391又は392から供給され
たベクタ・アドレスをPC41に供給する。PC41に
は、制御回路38が次に実行すべき命令のアドレスの値
が格納され、各命令の実行毎にその値が順次カウント・
アップされたり、分岐先のベクタ・アドレスの値が供給
されたりする。ブレーク・アドレス・レジスタ421及
び42 2には、制御回路38によりプログラムの動作を
一時中断(ブレーク)して割り込みを発生させるべき分
岐元のアドレス番地であるブレーク・アドレスが記憶さ
れる。また、ブレーク・アドレス・レジスタ421及び
422には、それぞれデバッグ・モード時において割り
込み発生時に分岐すべき分岐先のアドレス番地である割
込ベクタB13及びB15が予め指定されているものと
する(図3参照)。比較器43は、PC41から供給さ
れるPC41の出力値と、ブレーク・アドレス・レジス
タ421又は422から供給されるブレーク・アドレス
とを比較し、一致した場合に、割込信号INTを制御回
路38に供給する。The processor 21 has a CPU core (central processing).
Device) 31, an internal bus 32, a display driver 33,
The input / output port 34 and the BCUs 35 and 36
Has been established. The CPU core 31 includes a register 371~ 3
75, Control circuit 38, and vector address register
391And 392, An address generation circuit 40, and a program
RAM counter (PC) 41 and break address
Register 421And 422And the comparator 43.
Has been established. Register 371~ 375There are various types of data
The data is temporarily stored. The control circuit 38 controls the internal bus 3
2, BCU 35 or 36, external bus 24 or external bus 2
From ROM 25 or debug memory 28 via
Each instruction constituting the program is read, and a register 37 is read.
1~ 375And internal bus 32, BCU 35 and external bus
24 using the RAM 26 accessed through the
These instructions are sequentially executed to control each part of the electronic device.
Vector address register 391And 392In the
Interrupts in user mode and debug mode, respectively
The vector address "000" of the branch destination to be branched at the time of occurrence
0 ”and“ E000 ”are stored in advance,
Under control, the mode supplied by the mode switch 30 is controlled.
Mode switching signal SMIs high, the vector
Dress register 391Vector address stored in
To the mode switching signal SMIs low level is vector
・ Address register 392Vector add stored in
Are supplied to the address generation circuit 40, respectively. A
Under the control of the control circuit 38, the dress generation circuit 40
Address register 391Or 392Supplied by
The supplied vector address is supplied to the PC 41. To PC41
Is the address value of the instruction to be executed next by the control circuit 38
Is stored, and the value is sequentially counted every time each instruction is executed.
Or the value of the branch destination vector address is supplied.
Or be done. Break address register 421Passing
And 42 2The operation of the program by the control circuit 38
Minute to interrupt (break) and generate an interrupt
The break address, which is the address of the origin, is stored.
It is. Also, the break address register 421as well as
422Are assigned in debug mode.
Is the address of the branch destination to branch to when an interrupt occurs.
Vector B13 and B15 are specified in advance.
(See FIG. 3). The comparator 43 is supplied from the PC 41.
Output value of PC41 and break address register
TA 421Or 422Address supplied from
And when they match, the interrupt signal INT is controlled by the control circuit.
To the road 38.
【0032】表示ドライバ33は、CPUコア31から
内部バス32を介して供給された表示データに基づいて
表示器22を駆動する。入出力ポート34は、ディップ
・スイッチ23によって設定されたデータを内部バス3
2を介してCPUコア31に供給する。BCU35は、
CPUコア31から内部バス32を介して供給されたア
ドレスをROM25又はRAM26に供給することによ
り、ROM25又はRAM26から読み出され、外部バ
ス24を介して供給された命令やデータを内部バス32
を介してCPUコア31に供給すると共に、CPUコア
31から内部バス32を介して供給されたデータを外部
バス24を介してRAM26の所定の領域に書き込む。The display driver 33 drives the display 22 based on display data supplied from the CPU core 31 via the internal bus 32. The input / output port 34 transmits the data set by the dip switch 23 to the internal bus 3.
2 to the CPU core 31. BCU35,
By supplying the address supplied from the CPU core 31 via the internal bus 32 to the ROM 25 or the RAM 26, the instructions and data read from the ROM 25 or the RAM 26 and supplied via the external bus 24 are transferred to the internal bus 32.
And writes the data supplied from the CPU core 31 via the internal bus 32 to a predetermined area of the RAM 26 via the external bus 24.
【0033】BCU36は、CPUコア31から内部バ
ス32を介して供給されたアドレスを外部バス27を介
してデバッグ・メモリ28にシリアルで供給することに
より、デバッグ・メモリ28から読み出され外部バス2
7を介してシリアルで供給された命令を内部バス32を
介してCPUコア31に供給すると共に、CPUコア3
1から内部バス32を介して供給されたデータを外部バ
ス27を介してシリアルでデバッグ・メモリ28に供給
してデバッグ・メモリ28の所定の領域に書き込む。B
CU36は、内部バス32とは、例えば、32本の信号
線で接続されると共に、デバッグ・メモリ28とは、例
えば、3本の信号線で構成される外部バス27により接
続される。そのため、プロセッサ21を構成するLSI
チップには、外部バス27用の3個の端子が設けられて
いる。そして、このLSIチップやROM25、RAM
26などが搭載された基板上に上記3個の専用の端子に
接続されたコネクタ受けが取り付けられており、電子機
器のカバーを取り外して上記コネクタ受けに、一端にデ
バッグ・メモリ28が接続された外部バス27の他端に
取り付けられたコネクタを挿入してLSIチップ、即
ち、プロセッサ21を構成するBCU36とデバッグ・
メモリ28とを接続することにより、実装状態でのプロ
グラム検査ができるように構成されている。なお、上記
基板上のコネクタ受けは全ての電子機器の基板に設ける
必要はなく、プログラム検査に用いる電子機器の基板に
設けるだけで良い。The BCU 36 serially supplies the address supplied from the CPU core 31 via the internal bus 32 to the debug memory 28 via the external bus 27, so that the BCU 36 reads the address from the debug memory 28 and reads the external bus 2
7 is supplied to the CPU core 31 via the internal bus 32 and the CPU
The data supplied from 1 through the internal bus 32 is serially supplied to the debug memory 28 via the external bus 27 and written into a predetermined area of the debug memory 28. B
The CU 36 is connected to the internal bus 32 by, for example, 32 signal lines, and is connected to the debug memory 28 by the external bus 27 formed by, for example, three signal lines. Therefore, the LSI configuring the processor 21
The chip is provided with three terminals for the external bus 27. And this LSI chip, ROM25, RAM
A connector receiver connected to the above-mentioned three dedicated terminals is mounted on a board on which the 26 and the like are mounted, a cover of the electronic device is removed, and a debug memory 28 is connected to one end of the connector receiver. A connector attached to the other end of the external bus 27 is inserted into the LSI chip, that is, the BCU 36 constituting the processor 21 and the debugger.
By connecting to the memory 28, a program inspection in a mounted state can be performed. Note that the connector receiver on the board need not be provided on the boards of all the electronic devices, but may be provided only on the boards of the electronic devices used for the program inspection.
【0034】ここで、図2にBCU36の電気的構成の
一例を表すブロック図を示す。この例のBCU36は、
デコーダ51と、アドレス・バッファ52と、データ・
バッファ53と、制御回路54と、セレクタ55と、受
信バッファ56と、送信バッファ57とから概略構成さ
れている。デコーダ51は、制御回路54の制御の下、
CPUコア31から内部バス32を介して転送されたア
ドレスをデコードして制御回路54に供給する。アドレ
ス・バッファ52は、制御回路54の制御の下、CPU
コア31から内部バス32を介して転送されたアドレス
を一時保持した後、セレクタ55に供給する。データ・
バッファ53は、制御回路54の制御の下、CPUコア
31から内部バス32を介して転送されたデーダを一時
保持した後、セレクタ55に供給する。制御回路54
は、デコーダ51によりデコードされたアドレスがデバ
ッグ・メモリ28に割り当てられたアドレスの場合に
は、装置各部を制御する。セレクタ55は、制御回路5
4の制御の下、アドレス・バッファ52から供給された
アドレス又はデータ・バッファ53から供給されたデー
タのいずれか一方を選択して送信バッファ57に供給す
る。受信バッファ56は、制御回路54の制御の下、デ
バッグ・メモリ28から外部バス27を介して転送され
たシリアルの情報を一時保持した後、パラレルの情報に
変換して内部バス32を介してCPUコア31に転送す
ると共に、一部は制御回路54に供給する。送信バッフ
ァ57は、制御回路54の制御の下、セレクタ55から
転送されたパラレルのアドレス又はデータと制御回路5
4から供給された命令とを一時保持した後、シリアルの
情報に変換して外部バス27を介してデバッグ・メモリ
28に供給する。FIG. 2 is a block diagram showing an example of the electrical configuration of the BCU 36. The BCU 36 in this example is
A decoder 51, an address buffer 52, and a data
It is roughly composed of a buffer 53, a control circuit 54, a selector 55, a reception buffer 56, and a transmission buffer 57. The decoder 51, under the control of the control circuit 54,
The address transferred from the CPU core 31 via the internal bus 32 is decoded and supplied to the control circuit 54. The address buffer 52 has a CPU under the control of the control circuit 54.
After temporarily holding the address transferred from the core 31 via the internal bus 32, the address is supplied to the selector 55. data·
The buffer 53 temporarily stores data transferred from the CPU core 31 via the internal bus 32 under the control of the control circuit 54, and then supplies the data to the selector 55. Control circuit 54
When the address decoded by the decoder 51 is the address assigned to the debug memory 28, the device controls each unit of the device. The selector 55 includes the control circuit 5
Under the control of (4), either the address supplied from the address buffer 52 or the data supplied from the data buffer 53 is selected and supplied to the transmission buffer 57. Under the control of the control circuit 54, the reception buffer 56 temporarily holds serial information transferred from the debug memory 28 via the external bus 27, converts the serial information into parallel information, and converts the serial information into parallel information via the internal bus 32. While being transferred to the core 31, a part is supplied to the control circuit 54. The transmission buffer 57 stores the parallel address or data transferred from the selector 55 and the control circuit 5 under the control of the control circuit 54.
4 is temporarily stored, converted into serial information, and supplied to the debug memory 28 via the external bus 27.
【0035】また、図1に示す表示器22は、液晶ディ
スプレイやプラズマディスプレイ等からなり、表示ドラ
イバ33によって駆動され、表示画面に数字や文字等を
表示する。ディップ・スイッチ23は、4個のスイッチ
が並列接続されてなり、各種モード設定やデータの入力
等に用いられ、各スイッチがオンされた場合に"L"レベ
ルの信号が出力され、オフされた場合に"H"レベルの信
号が出力される。ROM25には、検査すべきプログラ
ムが予め記憶されている。RAM26には、CPUコア
31がプログラムの各命令を実行する時に各種のデータ
が記憶される。デバッグ・メモリ28には、検査用のプ
ログラムが予め記憶されていると共に、検査結果である
データが記憶される記憶領域が設けられている。デバッ
グ制御端末29は、デバッグ・メモリ28の所定の記憶
領域に記憶された検査結果であるデータを読み出して、
検査すべきプログラムの問題点を解析する。なお、デバ
ッグ・メモリ28とデバッグ制御端末29とは、従来の
ようにプローブで接続せず、一体に構成しても良い。モ
ード切替スイッチ30は、端子Taが電源電圧VC Cに
接続され、端子Tbが接地され、端子Tcがプロセッサ
21を構成するLSIチップのモード切替信号入力端子
に接続されており、端子Tcが端子Taに接続される場
合には、ユーザ・モードであることを示す"H"レベルの
モード切替信号SMをプロセッサ21に供給する一方、
端子Tcが端子Tbに接続される場合には、デバッグ・
モードであることを示す"L"レベルのモード切替信号S
Mをプロセッサ21に供給する。ここで、ユーザ・モー
ドとは、通常の使用時に設定されるモードであり、した
がって、電子機器を市場に出荷する場合には、このモー
ドに固定される。これに対し、デバッグ・モードとは、
プログラム検査時に設定されるモードである。The display 22 shown in FIG. 1 is composed of a liquid crystal display, a plasma display, or the like, is driven by a display driver 33, and displays numbers and characters on a display screen. The dip switch 23 has four switches connected in parallel, and is used for setting various modes and inputting data. When each switch is turned on, an "L" level signal is output and turned off. In this case, an "H" level signal is output. The program to be inspected is stored in the ROM 25 in advance. The RAM 26 stores various data when the CPU core 31 executes each instruction of the program. In the debug memory 28, a program for inspection is stored in advance, and a storage area for storing data as an inspection result is provided. The debug control terminal 29 reads out the data as the inspection result stored in a predetermined storage area of the debug memory 28,
Analyze problems in the program to be checked. Note that the debug memory 28 and the debug control terminal 29 may be integrated instead of being connected by a probe as in the conventional case. Mode switching switch 30, the terminal T a is connected to the power supply voltage V C C, terminal T b is grounded, the terminal T c is connected to a mode switching signal input terminal of the LSI chip constituting the processor 21, terminal If the T c is connected to the terminal T a, while supplying the "H" level mode switching signal S M of indicating the user mode to the processor 21,
When the terminal T c is connected to the terminal T b is the debug
"L" level mode switching signal S indicating the mode
M is supplied to the processor 21. Here, the user mode is a mode set at the time of normal use, and is fixed to this mode when the electronic device is shipped to the market. In contrast, debug mode is
This mode is set during program inspection.
【0036】次に、図3に検査対象である電子機器の外
部メモリを構成するROM26及びRAM25と、デバ
ッグ・メモリ28とのメモリ空間の一例を示す。この例
においては、図3に示すように、アドレス番地「000
0」(4ビットの16進数、以下同様)からアドレス番
地「1FFF」まではプログラム領域であり、ROM2
5に割り当てられ、アドレス番地「1FFF」からアド
レス番地「DFFF」まではデータ領域であり、RAM
26に割り当てられ、アドレス番地「E000」からア
ドレス番地「FFFF」まではデバッグ使用領域であ
り、デバッグ・メモリ28に割り当てられている。即
ち、ROM25とデバッグ・メモリ28とには、従来と
は異なり、別個独立したメモリ空間が割り当てられてい
る。Next, FIG. 3 shows an example of the memory space of the ROM 26 and the RAM 25 constituting the external memory of the electronic device to be inspected and the debug memory 28. In this example, as shown in FIG.
From "0" (4-bit hexadecimal number, the same applies hereinafter) to an address "1FFF", a program area is provided.
5 and is a data area from address “1FFF” to address “DFFF”.
The area from address “E000” to address “FFFF” is a debug use area, and is allocated to the debug memory 28. That is, unlike the conventional case, the ROM 25 and the debug memory 28 are allocated different and independent memory spaces.
【0037】プログラム領域において、アドレス番地
「0000」からアドレス番地「0002」までにはユ
ーザ・モード時に用いられる割込ベクタB01〜B03
が記憶され、アドレス番地「1010」からアドレス番
地「101F」にはサブルーチンAが記憶され、アドレ
ス番地「1030」からアドレス番地「103F」には
サブルーチンBが記憶されている。図4及び図5には、
それぞれサブルーチンA及びサブルーチンBの一例を示
す。この実施例においては、ROM25に書き込まれた
プログラムにバグがない場合には、CPUコア31が以
下に示す順序で処理(以下、表示処理と呼ぶ)を実行す
るものとする。まず、ディップ・スイッチ23の各スイ
ッチが操作されて数字「0101」(4ビットの2進
数)が設定されると、その数字のデータ「0101」を
CPUコア31が入出力ポート34及び内部バス32を
介して一旦レジスタ371に書き込んだ後、内部バス3
2、BCU35及び外部バス24を介してRAM26の
アドレス番地「2111」(図3参照)に書き込む。次
に、CPUコア31は、RAM26のアドレス番地「2
111」に書き込まれたデータ「0101」を読み出し
た後、外部バス24、BCU35及び内部バス32を介
して表示ドライバ33に転送し、そのデータ「010
1」に基づいて、表示ドライバ33が表示器22を駆動
して表示器22に数字「5」(10進数)を表示する。
そこで、図4に示すサブルーチンAにおいては、第1行
目はディップ・スイッチ23に設定されたデータを入出
力ポート34のアドレス番地「_IO_ADR」から読
み出してレジスタ371(レジスタA)に書き込むとい
う命令を表し、第2行目はレジスタ371に書き込まれ
たデータを読み出してRAM26のアドレス番地「21
11」に書き込むという命令を表している。また、図5
に示すサブルーチンBにおいては、第1行目はRAM2
6のアドレス番地「2111」に書き込まれたデータを
読み出してレジスタ373(レジスタC)に書き込むと
いう命令を表し、第2行目はレジスタ373に書き込ま
れたデータを読み出して表示ドライバ33のアドレス番
地「_TV_ADR」に転送するという命令を表してい
る。In the program area, from address address "0000" to address address "0002", interrupt vectors B01 to B03 used in the user mode are set.
Is stored, and a subroutine A is stored from the address “1010” to the address “101F”, and a subroutine B is stored from the address “1030” to the address “103F”. 4 and 5,
Examples of subroutine A and subroutine B are shown below. In this embodiment, when there is no bug in the program written in the ROM 25, the CPU core 31 executes processing (hereinafter, referred to as display processing) in the following order. First, when each switch of the dip switch 23 is operated to set a numeral “0101” (4-bit binary number), the CPU core 31 transmits the numerical data “0101” to the input / output port 34 and the internal bus 32. after writing to once register 37 1 via the internal bus 3
2. The data is written to the address "2111" (see FIG. 3) of the RAM 26 via the BCU 35 and the external bus 24. Next, the CPU core 31 reads the address “2
After reading the data “0101” written in “111”, the data is transferred to the display driver 33 via the external bus 24, the BCU 35, and the internal bus 32, and the data “0101” is read.
On the basis of “1”, the display driver 33 drives the display 22 to display the number “5” (decimal number) on the display 22.
Therefore, in the subroutine A shown in FIG. 4, the first line reads the data set in the DIP switch 23 from the address “_IO_ADR” of the input / output port 34 and writes the data in the register 37 1 (register A). the stands, second row address number of RAM26 reads data written in the register 37 1 "21
11 ". FIG.
In the subroutine B shown in FIG.
Reads out the data written in the 6 address number "2111" of representing instructions that write to the register 37 3 (register C), the address of the display driver 33 second row reads data written to the register 37 3 It represents an instruction to transfer to the address “_TV_ADR”.
【0038】デバッグ使用領域において、アドレス番地
「E000」からアドレス番地「E0004」までには
デバッグ・モード時に用いられる割込ベクタB11〜B
15が記憶され、アドレス番地「E100」からアドレ
ス番地「E110」にはサブルーチンCが記憶され、ア
ドレス番地「F000」からアドレス番地「F010」
にはサブルーチンDが記憶され、アドレス番地「F02
0」からアドレス番地「F030」にはサブルーチンE
が記憶されている。この実施例では、割込ベクタB11
〜B15として、それぞれアドレス番地「E100」、
「1010」、「F1000」、「1030」及び「F
020」が設定されている。図6〜図8には、それぞれ
サブルーチンC、サブルーチンD及びサブルーチンEの
一例を示す。この実施例においては、ROM25に書き
込まれたサブルーチンA及びサブルーチンBからなる表
示処理をCPUコア31が実行した結果、表示器22に
「5」(10進数)を表示させるために、ディップ・ス
イッチ23の各スイッチを操作して「0101」(4ビ
ットの2進数)を設定したにもかかわらず、表示器22
に「3」(10進数)が表示されてしまった場合のプロ
グラム上のバグを除去することを目的とする。なお、ハ
ードウェア上は何等問題がないものとする。上記した表
示処理において、バグが発生する可能性のあるルートと
しては、通常、以下の3つが考えられる。 (a) ディップ・スイッチ23に設定されたデータ
「0101」が入出力ポート34及び内部バス32を介
してCPUコア31内部に転送され、レジスタ371に
書き込まれる。 (b) レジスタ371に書き込まれたデータ「010
1」が内部バス32、BCU35及び外部バス24を介
してRAM26のアドレス番地「2111」に書き込ま
れる。 (c) RAM26のアドレス番地「2111」に書き
込まれたデータ「0101」が外部バス24、BCU3
5及び内部バス32を介して表示ドライバ33に転送さ
れ、表示器22に表示される。In the debug use area, the interrupt vectors B11 to B used in the debug mode are provided from the address "E000" to the address "E0004".
15 is stored, a subroutine C is stored from the address “E100” to the address “E110”, and the address “F010” is stored from the address “F000”.
Has a subroutine D stored therein, and an address "F02"
Subroutine E from address "0" to address "F030"
Is stored. In this embodiment, the interrupt vector B11
To B15, address addresses “E100”,
“1010”, “F1000”, “1030” and “F”
020 "is set. 6 to 8 show examples of the subroutine C, the subroutine D, and the subroutine E, respectively. In this embodiment, as a result of the CPU core 31 executing the display processing including the subroutine A and the subroutine B written in the ROM 25, the dip switch 23 is displayed on the display 22 to display "5" (decimal). Despite having set “0101” (4-bit binary number) by operating the switches of
It is an object of the present invention to remove a bug in a program when "3" (decimal number) is displayed on the screen. It is assumed that there is no problem on hardware. In the above-described display processing, the following three routes are usually considered as routes where a bug may occur. (A) the data set "0101" on the DIP switch 23 is transferred to the CPU core 31 via the input and output ports 34 and the internal bus 32, it is written into the register 37 1. (B) the data written in the register 37 1 "010
"1" is written to the address "2111" of the RAM 26 via the internal bus 32, the BCU 35, and the external bus 24. (C) The data “0101” written at the address “2111” of the RAM 26 is transferred to the external bus 24 and the BCU 3
5 and transferred to the display driver 33 via the internal bus 32 and displayed on the display 22.
【0039】そこで、(a)〜(c)の各ルートのいず
れでバグが発生しているかを確認するために、図6に示
すサブルーチンCにおいては、第1行目はCPUコア3
1を構成するブレーク・アドレス・レジスタ421(#
18)にブレーク・アドレスとしてアドレス番地「10
20」を書き込むという処理を表し、第2行目はブレー
ク・アドレス・レジスタ422(#19)にブレーク・
アドレスとしてアドレス番地「1040」を書き込むと
いう処理を表し、第3行目はこのサブルーチンCから分
岐元に復帰する命令を表している。このサブルーチンC
は、上記サブルーチンAの処理の後に後述するサブルー
チンDの処理を割り込み処理させると共に、上記サブル
ーチンBの処理の後に後述するサブルーチンEの処理を
割り込み処理させるための準備のサブルーチンである。
また、図7に示すサブルーチンDにおいては、第1行目
はディップ・スイッチ23に設定されたデータを入出力
ポート34のアドレス番地「_IO_ADR」から読み
出してレジスタ372(レジスタB)に書き込むという
命令を表し、第2行目はレジスタ372に書き込まれた
データを読み出してデバッグ・メモリ28のアドレス番
地「F100」に書き込むという命令を表し、第3行目
はレジスタ371に書き込まれたデータを読み出してデ
バッグ・メモリ28のアドレス番地「F101」に書き
込むという命令を表し、第4行目はRAM26のアドレ
ス番地「2111」に書き込まれたデータを読み出して
レジスタ372に書き込むという命令を表し、第5行目
はレジスタ372に書き込まれたデータを読み出してデ
バッグ・メモリ28のアドレス番地「F102」に書き
込むという命令を表し、第6行目はこのサブルーチンD
から分岐元に復帰する命令を表している。このサブルー
チンDは、上記(a)及び(b)のルートでバグが発生
しているか否かを確認するためサブルーチンである。さ
らに、図8に示すサブルーチンEにおいては、第1行目
は表示ドライバ33のアドレス番地「_TV_ADR」
のデータを読み出してレジスタ372に書き込むという
命令を表し、第2行目はレジスタ372に書き込まれた
データを読み出してデバッグ・メモリ28のアドレス番
地「F110」に書き込むという命令を表し、第3行目
はこのサブルーチンEから分岐元に復帰する命令を表し
ている。このサブルーチンEは、上記(c)のルートで
バグが発生しているか否かを確認するためサブルーチン
である。以上説明したサブルーチンC、サブルーチンD
及びサブルーチンEは、プログラム開発段階、あるいは
この電子機器を市場に出荷した後使用者から苦情が寄せ
られた段階で、高級言語で作成した後、機械語にコンパ
イルし、デバッグ・メモリ28の所定のアドレス番地に
書き込む。このように、この実施例によれば、ROM2
5のメモリ空間とデバッグ・メモリ28のメモリ空間が
異なるので、どの段階かを問わず、検査用のサブルーチ
ンを自由にしかも一度に作成することができる。In order to confirm which of the routes (a) to (c) has a bug, in the subroutine C shown in FIG.
The break address register 42 1 (#
18) As the break address, the address "10
It represents a process of writing the 20 ', break second line in the break address register 42 2 (# 19)
The process of writing the address “1040” as the address is shown, and the third line shows the instruction to return from the subroutine C to the branch source. This subroutine C
Is a subroutine of preparation for interrupting processing of a subroutine D described later after the processing of the subroutine A and interrupting processing of a subroutine E described later after the processing of the subroutine B.
In the subroutine D shown in FIG. 7, the first line is a command to read data set in the dip switch 23 from the address “_IO_ADR” of the input / output port 34 and write the data to the register 37 2 (register B). the stands, second row represents an instruction that writes to the register 37 address number "F100" of 2 written data by reading the debug memory 28, the data line 3 is written into the register 37 1 reading represents an instruction of writing into the address of the debug memory 28 "F101", the fourth line represents a command that writes read data written into the address "2111" in the RAM26 into register 37, second line 5 reads data written in the register 37 2 debug a note Represents an instruction that writes to the 28 address address of "F102", the sixth row this subroutine D
From the branch source to the branch source. This subroutine D is a subroutine for confirming whether a bug has occurred in the routes (a) and (b). Further, in the subroutine E shown in FIG. 8, the first line is an address "_TV_ADR" of the display driver 33.
Data reads represents an instruction that writes to the register 37 2, the second row represents an instruction that writes to the register 37 address number "F110" of 2 written data by reading the debug memory 28, the third The line indicates an instruction for returning from the subroutine E to the branch source. This subroutine E is a subroutine for confirming whether or not a bug has occurred in the route (c). Subroutine C and D described above
The subroutine E is created in a high-level language, compiled into a machine language, and compiled in a debug memory 28 at a program development stage or at a stage where a complaint is received from a user after the electronic device is shipped to the market. Write to the address. Thus, according to this embodiment, the ROM 2
5 is different from the memory space of the debug memory 28, so that the subroutine for inspection can be freely created at once regardless of the stage.
【0040】次に、上記構成のプログラム検査装置の動
作及び操作者の操作について、図9に示すフローチャー
トを参照して説明する。まず、操作者がモード切替スイ
ッチ30の端子Tcを端子Taに接続することにより、
モードをデバッグ・モードへ切り替えた(ステップSP
1)後、電源スイッチをオンすると、制御回路38は、
電子機器の各部をリセットして初期化した(ステップS
P2)後、"H"レベルのモード切替信号SMが供給され
ることにより、デバッグ・モードに切り替えられたこと
を認識するので、ベクタ・アドレス・レジスタ392に
予め記憶されたベクタ・アドレス「E000」をアドレ
ス生成回路40に供給させる。次に、制御回路38は、
アドレス生成回路40において、ベクタ・アドレス「E
000」に基づいて生成された値「E000」をPC4
1に供給すると共に、デバッグ・メモリ28のアドレス
番地「E000」に記憶された割込ベクタB11の値、
今の場合、アドレス番地「E100」を外部バス27、
BCU36及び内部バス32を介して読み出す(ステッ
プSP3)。次に、制御回路38は、読み出した割込ベ
クタB11の値(アドレス番地「E100」)をアドレ
ス生成回路40を介してPC41に供給すると共に、デ
バッグ・メモリ28のアドレス番地「E100」に書き
込まれた命令、今の場合、図6に示すサブルーチンCの
第1行目の命令を外部バス27、BCU36及び内部バ
ス32を介して読み出してサブルーチンCの実行を開始
する(ステップSP4)。即ち、制御回路38は、PC
41にその値をカウント・アップさせつつ、デバッグ・
メモリ28のアドレス番地「E100」からアドレス番
地「E110」までに書き込まれた命令を外部バス2
7、BCU36及び内部バス32を介して読み出してサ
ブルーチンCを実行する。まず、制御回路38は、ブレ
ーク・アドレス・レジスタ421にブレーク・アドレス
としてアドレス番地「1020」を書き込んだ後、ブレ
ーク・アドレス・レジスタ422にブレーク・アドレス
としてアドレス番地「1040」を書き込み、このサブ
ルーチンCから復帰するために、アドレス生成回路40
を介してPC41に分岐元のアドレス番地「E001」
を供給する。Next, the operation of the above-configured program inspection apparatus and the operation of the operator will be described with reference to the flowchart shown in FIG. First, when the operator connects the terminal T c of the mode selector switch 30 to the terminal T a,
Mode was switched to debug mode (step SP
1) After that, when the power switch is turned on, the control circuit 38
Each part of the electronic device was reset and initialized (step S
After P2), the "H" to the mode switch signal S M of the level is supplied, since recognizes that it has been switched to the debug mode, vector address register 39 previously stored vector address 2 " E000 ”is supplied to the address generation circuit 40. Next, the control circuit 38
In the address generation circuit 40, the vector address "E
The value "E000" generated based on "000"
1 and the value of the interrupt vector B11 stored at the address "E000" of the debug memory 28,
In this case, the address “E100” is set to the external bus 27,
Reading is performed via the BCU 36 and the internal bus 32 (step SP3). Next, the control circuit 38 supplies the read value (address address “E100”) of the interrupt vector B11 to the PC 41 via the address generation circuit 40, and writes the value into the address address “E100” of the debug memory 28. In this case, the instruction of the first line of the subroutine C shown in FIG. 6 is read out via the external bus 27, the BCU 36, and the internal bus 32, and the execution of the subroutine C is started (step SP4). That is, the control circuit 38
41 while counting up the value,
The instruction written from the address “E100” to the address “E110” of the memory 28 is transferred to the external bus 2
7. Read out via the BCU 36 and the internal bus 32 and execute the subroutine C. First, the control circuit 38 after writing the address number "1020" in the break address registers 42 1 as a break address, writes the address number "1040" in the break address register 42 2 as a break address, the To return from the subroutine C, the address generation circuit 40
To the PC 41 via the address "E001" of the branch source
Supply.
【0041】なお、以上の処理の間では、比較器43が
PC41の出力値とブレーク・アドレス・レジスタ42
1又は422に予め設定されているブレーク・アドレス
とを比較しており、一致した場合には、割込信号INT
を制御回路38に供給する(アドレス・トラップ)。し
たがって、制御回路38は、サブルーチン実行中であっ
ても割り込みがあるか否かを判断しており(ステップS
P5)、割込信号INTが供給された場合には、現在実
行中のサブルーチンを一時中断して割込サブルーチンを
実行した後(ステップSP7)、割り込みにより処理を
中断したサブルーチンの実行を続行する(ステップSP
6)。今の場合は、そのブレーク・アドレス自体を設定
するサブルーチンCを実行中であるから、割込信号IN
Tが制御回路38に供給されない。次に、制御回路38
は、例えば、PC41の出力値によりデバッグ・モード
における全てのサブルーチンの実行が終了したか否かを
判断する(ステップSP8)。この判断結果が「YE
S」の場合には、制御回路38は、一連の処理を終了す
る。一方、ステップSP8の判断結果が「NO」の場
合、即ち、デバッグ・モードにおいてまだ実行していな
いサブルーチンがある場合には、制御回路38は、ステ
ップSP3へ戻る。今の場合、サブルーチンCを実行し
ただけであるので、ステップSP8の判断結果は「N
O」となり、制御回路38は、ステップSP3へ戻る。During the above processing, the comparator 43 compares the output value of the PC 41 with the break address register 42.
And comparing the break address set in advance in the 1 or 42 2, if there is a match, an interrupt signal INT
Is supplied to the control circuit 38 (address trap). Therefore, the control circuit 38 determines whether or not there is an interrupt even during execution of the subroutine (step S
P5) If the interrupt signal INT is supplied, the currently executing subroutine is temporarily interrupted to execute the interrupt subroutine (step SP7), and then the execution of the subroutine interrupted by the interrupt is continued (P5). Step SP
6). In this case, since the subroutine C for setting the break address itself is being executed, the interrupt signal IN
T is not supplied to the control circuit 38. Next, the control circuit 38
Determines whether execution of all subroutines in the debug mode is completed based on the output value of the PC 41 (step SP8). The result of this determination is “YE
In the case of "S", the control circuit 38 ends the series of processing. On the other hand, if the decision result in the step SP8 is "NO", that is, if there is a subroutine not yet executed in the debug mode, the control circuit 38 returns to the step SP3. In this case, since only subroutine C has been executed, the result of the determination in step SP8 is "N
O ", and the control circuit 38 returns to step SP3.
【0042】次に、制御回路38は、デバッグ・メモリ
28のアドレス番地「E001」に記憶された割込ベク
タB12の値、今の場合、アドレス番地「1010」を
外部バス27、BCU36及び内部バス32を介して読
み出す(ステップSP3)。次に、制御回路38は、読
み出した割込ベクタB12の値(アドレス番地「101
0」)をアドレス生成回路40を介してPC41に供給
すると共に、ROM25のアドレス番地「1010」に
書き込まれた命令、今の場合、図4に示すサブルーチン
Aの第1行目の命令を外部バス24、BCU35及び内
部バス32を介して読み出してサブルーチンAの実行を
開始する(ステップSP4)。即ち、制御回路38は、
PC41にその値をカウント・アップさせつつ、ROM
25のアドレス番地「1010」からアドレス番地「1
01F」までに書き込まれた命令を外部バス24、BC
U35及び内部バス32を介して読み出してサブルーチ
ンAを実行する。まず、制御回路38は、ディップ・ス
イッチ23に設定されたデータを入出力ポート34のア
ドレス番地「_IO_ADR」から読み出して内部バス
32を介してレジスタ371に書き込んだ後、レジスタ
371に書き込まれたデータを読み出して内部バス3
2、BCU35及び外部バス24を介してRAM26の
アドレス番地「2111」に書き込む。Next, the control circuit 38 uses the value of the interrupt vector B12 stored at the address "E001" of the debug memory 28, in this case, the address "1010" as the external bus 27, the BCU 36 and the internal bus. 32 (step SP3). Next, the control circuit 38 reads the value of the read interrupt vector B12 (address address “101”).
0)) to the PC 41 via the address generation circuit 40, and the instruction written at the address "1010" of the ROM 25, in this case, the instruction on the first line of the subroutine A shown in FIG. 24, read out via the BCU 35 and the internal bus 32 and start execution of the subroutine A (step SP4). That is, the control circuit 38
While making PC 41 count up the value, ROM
25 address addresses "1010" to "1"
01F ”to the external bus 24, BC
The subroutine A is read out via the U35 and the internal bus 32 and executed. First, the control circuit 38, after writing to the register 37 1 via the internal bus 32 reads the set dip switch 23 data from address number "_IO_ADR" of the input and output ports 34, written in the register 37 1 Reads the data stored in the internal bus 3
2. The data is written to the address “2111” of the RAM 26 via the BCU 35 and the external bus 24.
【0043】以上の処理が終了し、PC41の出力値が
「1020」になると、ブレーク・アドレス・レジスタ
421に予め設定されているブレーク・アドレス「10
20」と一致するので、比較器43は、割込信号INT
を制御回路38に供給する。したがって、制御回路38
は、ステップSP5の判断結果が「YES」となるの
で、ステップSP7へ進み、現在実行中のサブルーチン
を一時中断して割込サブルーチンであるサブルーチンD
を実行する。即ち、まず、制御回路38は、ブレーク・
アドレス・レジスタ421に予め指定されている割込ベ
クタB13が記憶されているデバッグ・メモリ28のア
ドレス番地「E002」をアドレス生成回路40を介し
てPC41に供給すると共に、デバッグ・メモリ28の
アドレス番地「E002」から割込ベクタB13の値、
今の場合、アドレス番地「F000」を外部バス27、
BCU36及び内部バス32を介して読み出す。次に、
制御回路38は、読み出した割込ベクタB13の値(ア
ドレス番地「F000」)をアドレス生成回路40を介
してPC41に供給すると共に、デバッグ・メモリ28
のアドレス番地「F000」に書き込まれた命令、今の
場合、図7に示すサブルーチンDの第1行目の命令を外
部バス27、BCU36及び内部バス32を介して読み
出してサブルーチンDの実行を開始する。The above processing is completed, the output value of the PC41 is "1020", break address set in advance in the break address register 42 1 "10
20 ”, the comparator 43 outputs the interrupt signal INT.
Is supplied to the control circuit 38. Therefore, the control circuit 38
Goes to step SP7 because the result of the determination in step SP5 is "YES".
Execute That is, first, the control circuit 38
Supplies address number "E002" in the debug memory 28 interrupt vector B13 that is designated in advance in the address register 42 1 is stored in the PC41 via the address generation circuit 40, the address of the debug memory 28 From the address "E002" to the value of the interrupt vector B13,
In this case, the address "F000" is set to the external bus 27,
Reading is performed via the BCU 36 and the internal bus 32. next,
The control circuit 38 supplies the read value of the interrupt vector B13 (address address “F000”) to the PC 41 via the address generation circuit 40 and the debug memory 28
, The instruction in the first line of the subroutine D shown in FIG. 7 is read out via the external bus 27, the BCU 36, and the internal bus 32, and the execution of the subroutine D is started. I do.
【0044】即ち、制御回路38は、PC41にその値
をカウント・アップさせつつ、デバッグ・メモリ28の
アドレス番地「F000」からアドレス番地「F01
0」までに書き込まれた命令を外部バス27、BCU3
6及び内部バス32を介して読み出してサブルーチンD
を実行する。まず、制御回路38は、ディップ・スイッ
チ23に設定されたデータを入出力ポート34のアドレ
ス番地「_IO_ADR」から読み出して内部バス32
を介してレジスタ372に書き込んだ後、レジスタ37
2に書き込まれたデータを読み出して内部バス32、B
CU36及び外部バス27を介してデバッグ・メモリ2
8のアドレス番地「F100」に書き込むと共に、レジ
スタ371に書き込まれたデータを読み出して内部バス
32、BCU36及び外部バス27を介してデバッグ・
メモリ28のアドレス番地「F101」に書き込む。さ
らに、制御回路38は、RAM26のアドレス番地「2
111」に書き込まれたデータを読み出して外部バス2
4、BCU35及び内部バス32を介してレジスタ37
2に書き込んだ後、レジスタ372に書き込まれたデー
タを読み出して内部バス32、BCU36及び外部バス
27を介してデバッグ・メモリ28のアドレス番地「F
102」に書き込み、このサブルーチンDから復帰する
ために、アドレス生成回路40を介してPC41に分岐
元のアドレス番地「E003」を供給する。これによ
り、制御回路38は、割り込みにより処理を中断したサ
ブルーチンの実行を続行する(ステップSP6)。次
に、制御回路38は、例えば、PC41の出力値により
デバッグ・モードにおける全てのサブルーチンの実行が
終了したか否かを判断する(ステップSP8)が、今の
場合、サブルーチンC及びDを実行しただけであるの
で、ステップSP8の判断結果は「NO」となり、制御
回路38は、ステップSP3へ戻る。That is, the control circuit 38 causes the PC 41 to count up the value, and from the address address “F000” of the debug memory 28 to the address address “F01”.
0 ”to the external bus 27, BCU3
6 through the internal bus 32 and the subroutine D
Execute First, the control circuit 38 reads the data set in the dip switch 23 from the address “_IO_ADR” of the input / output port 34 and reads the data from the internal bus 32.
After writing to the register 37 2 via a register 37
2 is read and the internal bus 32, B
Debug memory 2 via CU 36 and external bus 27
8 writes the address number "F100" in the debug via the internal bus 32, BCU36 the external bus 27 reads the data written in the register 37 1
The data is written to the address "F101" of the memory 28. Further, the control circuit 38 determines that the address “2
111 ”and read the data written to the external bus 2
4. Register 37 via BCU 35 and internal bus 32
After writing to 2, the internal bus 32 by reading the data written to the register 37 2, BCU36 and address number of the external bus 27 through the debug memory 28 "F
In order to return to the subroutine D and to return from the subroutine D, the branch source address "E003" is supplied to the PC 41 via the address generation circuit 40. Thereby, the control circuit 38 continues the execution of the subroutine whose processing has been interrupted by the interruption (step SP6). Next, the control circuit 38 determines, for example, whether or not execution of all subroutines in the debug mode has been completed based on the output value of the PC 41 (step SP8). Therefore, the result of the determination in step SP8 is "NO", and the control circuit 38 returns to step SP3.
【0045】次に、制御回路38は、デバッグ・メモリ
28のアドレス番地「E003」に記憶された割込ベク
タB14の値、今の場合、アドレス番地「1030」を
外部バス27、BCU36及び内部バス32を介して読
み出す(ステップSP3)。次に、制御回路38は、読
み出した割込ベクタB14の値(アドレス番地「103
0」)をアドレス生成回路40を介してPC41に供給
すると共に、ROM25のアドレス番地「1030」に
書き込まれた命令、今の場合、図5に示すサブルーチン
Bの第1行目の命令を外部バス24、BCU35及び内
部バス32を介して読み出してサブルーチンAの実行を
開始する(ステップSP4)。即ち、制御回路38は、
PC41にその値をカウント・アップさせつつ、ROM
25のアドレス番地「1030」からアドレス番地「1
03F」までに書き込まれた命令を外部バス24、BC
U35及び内部バス32を介して読み出してサブルーチ
ンBを実行する。まず、制御回路38は、RAM26の
アドレス番地「2111」に書き込まれたデータを読み
出して外部バス24、BCU35及び内部バス32を介
してレジスタ373に書き込んだ後、レジスタ373に
書き込まれたデータを読み出して内部バス32を介して
表示ドライバ33のアドレス番地「_TV_ADR」に
転送する。Next, the control circuit 38 stores the value of the interrupt vector B14 stored at the address "E003" of the debug memory 28, in this case, the address "1030" into the external bus 27, the BCU 36 and the internal bus. 32 (step SP3). Next, the control circuit 38 reads the value of the read interrupt vector B14 (address address “103”).
0 ") to the PC 41 via the address generation circuit 40, and the instruction written at the address" 1030 "of the ROM 25, in this case, the instruction on the first line of the subroutine B shown in FIG. 24, read out via the BCU 35 and the internal bus 32 and start execution of the subroutine A (step SP4). That is, the control circuit 38
While making PC 41 count up the value, ROM
25 address addresses “1030” to “1”
03F ”and the external bus 24, BC
Subroutine B is executed by reading through U35 and internal bus 32. First, the control circuit 38, after writing to the register 37 3 via the external bus 24, BCU35 and the internal bus 32 reads the data written into the address "2111" in the RAM 26, written into the register 37 3 Data Is read out and transferred to the address “_TV_ADR” of the display driver 33 via the internal bus 32.
【0046】以上の処理が終了し、PC41の出力値が
「1040」になると、ブレーク・アドレス・レジスタ
422に予め設定されているブレーク・アドレス「10
40」と一致するので、比較器43は、割込信号INT
を制御回路38に供給する。したがって、制御回路38
は、ステップSP5の判断結果が「YES」となるの
で、ステップSP7へ進み、現在実行中のサブルーチン
を一時中断して割込サブルーチンであるサブルーチンE
を実行する。即ち、まず、制御回路38は、ブレーク・
アドレス・レジスタ422に予め指定されている割込ベ
クタB15が記憶されているデバッグ・メモリ28のア
ドレス番地「E004」をアドレス生成回路40を介し
てPC41に供給すると共に、デバッグ・メモリ28の
アドレス番地「E004」から割込ベクタB15の値、
今の場合、アドレス番地「F020」を外部バス27、
BCU36及び内部バス32を介して読み出す。次に、
制御回路38は、読み出した割込ベクタB15の値(ア
ドレス番地「F020」)をアドレス生成回路40を介
してPC41に供給すると共に、デバッグ・メモリ28
のアドレス番地「F020」に書き込まれた命令、今の
場合、図8に示すサブルーチンEの第1行目の命令を外
部バス27、BCU36及び内部バス32を介して読み
出してサブルーチンEの実行を開始する。The above processing is completed, the output value of the PC41 is "1040", break address set in advance in the break address register 42 2 "10
40 ”, the comparator 43 outputs the interrupt signal INT.
Is supplied to the control circuit 38. Therefore, the control circuit 38
Goes to step SP7 because the result of the determination in step SP5 is "YES".
Execute That is, first, the control circuit 38
Supplies address number "E004" in the debug memory 28 interrupt vector B15 that is designated in advance in the address register 42 2 is stored in the PC41 via the address generation circuit 40, the address of the debug memory 28 From the address "E004" to the value of the interrupt vector B15,
In this case, the address “F020” is set to the external bus 27,
Reading is performed via the BCU 36 and the internal bus 32. next,
The control circuit 38 supplies the read value of the interrupt vector B15 (address address “F020”) to the PC 41 via the address generation circuit 40 and the debug memory 28
, The instruction in the first line of the subroutine E shown in FIG. 8 is read out via the external bus 27, the BCU 36 and the internal bus 32, and the execution of the subroutine E is started. I do.
【0047】即ち、制御回路38は、PC41にその値
をカウント・アップさせつつ、デバッグ・メモリ28の
アドレス番地「F020」からアドレス番地「F03
0」までに書き込まれた命令を外部バス27、BCU3
6及び内部バス32を介して読み出してサブルーチンE
を実行する。まず、制御回路38は、表示ドライバ33
のアドレス番地「_TV_ADR」のデータを読み出し
て内部バス32を介してレジスタ372に書き込んだ
後、レジスタ372に書き込まれたデータを読み出して
内部バス32、BCU36及び外部バス27を介してデ
バッグ・メモリ28のアドレス番地「F110」に書き
込み、このサブルーチンEから復帰するために、アドレ
ス生成回路40を介してPC41に分岐元のアドレス番
地「E005」を供給する。これにより、制御回路38
は、割り込みにより処理を中断したサブルーチンの実行
を続行する(ステップSP6)。次に、制御回路38
は、例えば、PC41の出力値によりデバッグ・モード
における全てのサブルーチンの実行が終了したか否かを
判断する(ステップSP8)が、今の場合、サブルーチ
ンC、D及びEを実行しただけであるので、ステップS
P8の判断結果は「NO」となり、制御回路38は、ス
テップSP3へ戻る。That is, the control circuit 38 causes the PC 41 to count up the value, and from the address “F020” of the debug memory 28 to the address “F03”.
0 ”to the external bus 27, BCU3
6 through the internal bus 32 and the subroutine E
Execute First, the control circuit 38 controls the display driver 33
After writing of the register 37 2 via the internal bus 32 reads the data of address number "_TV_ADR" debug via the internal bus 32, BCU36 the external bus 27 reads the data written to the register 37 2 In order to write to the address “F110” of the memory 28 and to return from the subroutine E, the branch source address “E005” is supplied to the PC 41 via the address generation circuit 40. Thereby, the control circuit 38
Continues the execution of the subroutine whose processing has been interrupted by the interruption (step SP6). Next, the control circuit 38
Determines, for example, whether the execution of all subroutines in the debug mode has been completed based on the output values of the PC 41 (step SP8). In this case, only the subroutines C, D and E have been executed. , Step S
The decision result in P8 is "NO", and the control circuit 38 returns to step SP3.
【0048】次に、制御回路38は、PC41にその値
をカウント・アップさせつつ、デバッグ・メモリ28の
アドレス番地「E005」以降に書き込まれた命令を外
部バス27、BCU36及び内部バス32を介して読み
出してその他のサブルーチンを実行する。次に、制御回
路38は、例えば、PC41の出力値によりデバッグ・
モードにおける全てのサブルーチンの実行が終了したか
否かを判断し(ステップSP8)、全てのサブルーチン
の実行が終了した場合には、ステップSP8の判断結果
は「YES」となり、制御回路38は、一連の処理を終
了する。これにより、操作者は、デバッグ制御端末29
を操作して、デバッグ・メモリ28のアドレス番地「F
100」、「F101」、「F102」及び「F11
0」にデータ「0101」が書き込まれているか否かを
確認したり、表示器22に数字「5」が表示されている
かを確認する。そして、例えば、デバッグ・メモリ28
のアドレス番地「F100」にデータ「0101」が書
き込まれていない場合には、対応するサブルーチンにお
いてバグが発生していると判断して、その修正等を行
う。その後、修正したサブルーチンをデバッグ・メモリ
28に書き込んで制御回路38にそのサブルーチンを実
行させて正常に動作するかを確認する。Next, the control circuit 38 causes the PC 41 to count up the value and, at the same time, sends the instruction written after the address “E005” of the debug memory 28 via the external bus 27, the BCU 36 and the internal bus 32. And read and execute other subroutines. Next, the control circuit 38 performs debugging /
It is determined whether or not the execution of all subroutines in the mode has been completed (step SP8). If the execution of all subroutines has been completed, the determination result of step SP8 is "YES", and the control circuit 38 Is completed. As a result, the operator can control the debug control terminal 29
By operating the address "F" of the debug memory 28.
100 "," F101 "," F102 "and" F11 "
It is checked whether data “0101” is written in “0” or not, and whether the number “5” is displayed on the display 22. Then, for example, the debug memory 28
If the data "0101" is not written in the address "F100", it is determined that a bug has occurred in the corresponding subroutine, and the correction is performed. Thereafter, the corrected subroutine is written into the debug memory 28, and the control circuit 38 executes the subroutine to check whether the subroutine operates normally.
【0049】次に、上記構成において、CPUコア31
がデバッグ・メモリ28に記憶されているデータや命令
からなる情報を読み出して外部バス27、BCU36及
び内部バス32を介してCPUコア31内部のレジスタ
371〜375に書き込む場合の動作について、図10
に示すタイミング・チャートを参照して説明する。ま
ず、CPUコア31の動作状態CPUSTとしては、図
10(13)に示すように、デバッグ・メモリ28へア
クセスを要求している状態ST01と、BCU36から
の応答を待っている状態ST02と、BCU36から内
部バス32へ情報を読み出す状態ST03とがある。一
方、BCU36の制御回路54の動作状態BCUSTと
しては、図10(14)に示すように、外部バス27へ
のアクセスを準備している状態ST11と、命令を送信
する状態ST12と、情報を受信する準備をしている状
態ST13と、情報を受信している状態ST14と、内
部バス32へ情報を出力する準備をしている状態ST
15と、外部バス27を介しての情報の送受信の後処理
をしている状態ST16とがある。Next, in the above configuration, the CPU core 31
There the operation when writing to the register 37 1 to 37 5 of the CPU core 31 via the external bus 27, BCU36 and the internal bus 32 reads information including data and instructions stored in the debug memory 28, FIG. 10
This will be described with reference to the timing chart shown in FIG. First, as the operation state CPUST the CPU core 31, as shown in FIG. 10 (13), a state ST 01 requesting access to the debug memory 28, a state ST 02 waiting for a response from BCU36 , there is a state ST 03 for reading the information from BCU36 to the internal bus 32. On the other hand, the operating state BCUST of the control circuit 54 of BCU36, as shown in FIG. 10 (14), a state ST 11 is preparing to access the external bus 27, the state ST 12 to send an instruction, information a state ST 13 which prepares to receive and to a state ST 14 receiving the information, the state ST are preparing for outputting information to the internal bus 32
15, there is a state ST 16 that the post-processing of the transmission and reception of information via the external bus 27.
【0050】まず、CPUコア31は、デバッグ・メモ
リ28に対してアクセス要求する場合、図10(13)
に示すように、その動作状態CPUSTが状態ST01
となり、図10(2)に示すように、デバッグ・メモリ
28に対するアクセス要求を示すメモリ・アクセス要求
信号ARQを立ち上げると共に、内部バス32に対し
て、図10(6)及び(7)に示すように、アクセス要
求の対象であるデバッグ・メモリ28のアドレスAD及
び情報要求コマンドCMを出力する。次に、CPUコア
31は、アドレスAD及び情報要求コマンドCMとに基
づいて、BCU36とデバッグ・メモリ28との間の情
報の転送であると判断した場合には、図10(8)に示
すように、その旨を示す信号CMMを立ち上げる。次
に、CPUコア31は、図10(3)に示すように、B
CU36にアクセス要求した情報の転送を要求すること
を示す情報要求信号IRQを立ち上げ、図10(13)
に示すように、その動作状態CPUSTが状態ST02
となるが、今はまだアクセス要求したばかりでBCU3
6が情報を内部バス32に出力する準備が完了していな
いので、図10(9)に示すように、制御回路54が内
部バス32に情報を出力する準備が完了していることを
示す信号SBCを立ち上げていない。したがって、CP
Uコア31は、信号IRQを立ち上げると共に、図10
(5)に示すように、BCU36からの情報の転送のた
めに内部バス32を使用する準備ができていないことを
示す準備未了信号SBNGを立ち上げる。これにより、
内部バス32は、BCU35からの情報の転送等、BC
U36からの情報の転送以外に使用される。First, when the CPU core 31 requests access to the debug memory 28, the CPU core 31 shown in FIG.
As shown in, its operating state CPUST state ST 01
As shown in FIG. 10 (2), a memory access request signal ARQ indicating an access request to the debug memory 28 is raised, and the internal bus 32 is shown in FIGS. 10 (6) and (7). Thus, the address AD of the debug memory 28 and the information request command CM which are the targets of the access request are output. Next, when the CPU core 31 determines that the information is to be transferred between the BCU 36 and the debug memory 28 based on the address AD and the information request command CM, as shown in FIG. Then, a signal CMM indicating this is raised. Next, as shown in FIG. 10C, the CPU core 31
An information request signal IRQ indicating that the transfer of the information for which the access request has been made to the CU 36 is raised, and FIG.
As shown in, its operating state CPUST state ST 02
But now I have just requested access and BCU3
6 is not ready to output information to the internal bus 32, and as shown in FIG. 10 (9), a signal indicating that the control circuit 54 is ready to output information to the internal bus 32. SBC has not been launched. Therefore, CP
The U core 31 raises the signal IRQ, and
As shown in (5), a preparation completion signal SBNG which indicates that the internal bus 32 is not ready to use for transferring information from the BCU 36 is raised. This allows
The internal bus 32 is used to transfer information from the BCU 35,
It is used for other than the transfer of information from U36.
【0051】一方、制御回路54は、CPUコア31に
よって内部バス32に出力されたアドレスADをデコー
ダ51を制御してデコードさせて取り込むことにより、
BCU36とデバッグ・メモリ28との間の情報の転送
であると判断して、そのアドレスADをアドレス・バッ
ファ52に一時保持する。次に、制御回路54は、信号
IRQが立ち上がると、図10(14)に示すように、
その動作状態BCUSTが状態ST11となり、送信バ
ッファ57を制御して外部バス27に対して、外部バス
27へのアクセスを準備する命令SE及びCAを順次出
力する(図10(10)参照)。そして、アクセス準備
が完了すると、制御回路54は、その動作状態BCUS
Tが状態ST12となり、アドレス・バッファ52及び
セレクタ55を制御して、アドレス・バッファ52に一
時保持されたアドレスADを送信バッファ57に供給す
ると共に、図10(10)に示す情報のシリアル転送を
要求する命令SFIを送信バッファ57に供給した後、
送信バッファ57を制御して外部バス27を介して、図
10(12)に示すように、コマンドCMとしてデバッ
グ・メモリ28に送信する。On the other hand, the control circuit 54 controls the decoder 51 to decode and take in the address AD output to the internal bus 32 by the CPU core 31.
It is determined that the information is transferred between the BCU 36 and the debug memory 28, and the address AD is temporarily stored in the address buffer 52. Next, when the signal IRQ rises, the control circuit 54, as shown in FIG.
Its operating state BCUST state ST 11, and the the external bus 27 controls the transmission buffer 57 sequentially outputs the command SE and CA to prepare access to the external bus 27 (see FIG. 10 (10)). When the access preparation is completed, the control circuit 54 sets the operation state BCUS
T state ST 12, and the controls the address buffer 52 and the selector 55 supplies the address AD is temporarily stored in the address buffer 52 to the transmission buffer 57, the serial transfer of information shown in FIG. 10 (10) Is supplied to the transmission buffer 57,
The transmission buffer 57 is controlled and transmitted as a command CM to the debug memory 28 via the external bus 27 as shown in FIG.
【0052】次に、命令SFIの送信が完了し、デバッ
グ・メモリ28からの外部バス27を介してのシリアル
の応答RCM(図10(11)参照)が受信され、受信
バッファ56がパラレルに変換して制御回路54に供給
すると、制御回路54は、その動作状態BCUSTが状
態ST13となり、送信バッファ57を制御して外部バ
ス27に対して、情報を受信する準備する命令EX、U
P、ID、SD及びCDを順次出力する(図10(1
0)参照)。そして、情報を受信する準備が完了する
と、制御回路54は、その動作状態BCUSTが状態S
T14となり、送信バッファ57を制御して外部バス2
7に対して、情報をシリアルで受信する命令SFDを出
力する(図10(10)参照)。これにより、デバッグ
・メモリ28から外部バス27を介して要求した情報I
NFがシリアルで送信される(図10(11)参照)の
で、制御回路54は、シリアルの情報INFを受信バッ
ファ56に一時保持する。次に、情報INFの受信が完
了すると、制御回路54は、その動作状態BCUSTが
状態ST15となり、送信バッファ57を制御して外部
バス27に対して、情報を内部バス32に出力する準備
に関する命令ED及びUDを出力する(図10(10)
参照)。そして、命令EDの出力が完了すると、制御回
路54は、図10(9)に示すように、情報を内部バス
32に出力する準備が完了したことを示す準備完了信号
SBCを立ち上げる。そして、情報INFを内部バス3
2に出力する準備が完了すると、制御回路54は、その
動作状態BCUSTが状態ST16となり、送信バッフ
ァ57を制御して外部バス27に対して、外部バス27
を介しての情報の送受信の後処理を行う命令IDDを出
力する(図10(10)参照)。Next, the transmission of the instruction SFI is completed, a serial response RCM (see FIG. 10 (11)) is received from the debug memory 28 via the external bus 27, and the reception buffer 56 converts the response into parallel. When to supply to the control circuit 54, control circuit 54, the instruction EX its operating state BCUST state ST 13, and the the external bus 27 controls the transmission buffer 57, is prepared to receive the information, U
P, ID, SD and CD are sequentially output (FIG. 10 (1)
0)). When the preparation for receiving the information is completed, the control circuit 54 sets the operation state BCUST to the state S.
T 14, and the external bus and controls the transmission buffer 57 2
7, an instruction SFD for serially receiving information is output (see FIG. 10 (10)). Thus, the information I requested from the debug memory 28 via the external bus 27 is
Since the NF is transmitted serially (see FIG. 10 (11)), the control circuit 54 temporarily stores the serial information INF in the reception buffer 56. Next, when receiving information INF is completed, the control circuit 54 relates to preparation of outputting the operation state BCUST state ST 15, and the the external bus 27 controls the transmission buffer 57, information on the internal bus 32 Outputs commands ED and UD (FIG. 10 (10)
reference). When the output of the instruction ED is completed, the control circuit 54 raises a preparation completion signal SBC indicating that preparation for outputting information to the internal bus 32 has been completed, as shown in FIG. Then, the information INF is transferred to the internal bus 3
When ready to output 2 is completed, the control circuit 54, the operation state BCUST is next state ST 16, the external bus 27 controls the transmission buffer 57, the external bus 27
An instruction IDD for performing post-processing of information transmission / reception via the PC is output (see FIG. 10 (10)).
【0053】一方、CPUコア31は、図10(13)
に示すように、その動作状態CPUSTが状態ST03
となり、図10(2)に示すように、メモリ・アクセス
要求信号ARQを立ち上げると共に、内部バス32に対
して、図10(6)及び(7)に示すように、アクセス
要求の対象であるデバッグ・メモリ28のアドレスAD
及び情報要求コマンドCMを出力する。次に、CPUコ
ア31は、図10(3)に示すように、情報要求信号I
RQを立ち上げると、今度は、図10(9)に示すよう
に、準備完了信号SBCが立ち上がっているので、BC
U36が内部バス32を使用する準備ができていると判
断して、図10(4)に示すように、BCU36からの
情報の転送のために内部バス32を使用する準備ができ
ていることを示す信号SBOKを立ち上げる。これによ
り、制御回路54は、受信バッファ56に一時保持され
たシリアルの情報INFをパラレルに変換して、図10
(6)に示すように、内部バス32に出力する。On the other hand, the CPU core 31 is arranged as shown in FIG.
As shown in, the operating state CPUST the state ST 03
As shown in FIG. 10 (2), the memory access request signal ARQ is raised, and the internal bus 32 is subjected to an access request as shown in FIGS. 10 (6) and (7). Address AD of debug memory 28
And an information request command CM. Next, the CPU core 31 outputs the information request signal I as shown in FIG.
When RQ rises, the ready completion signal SBC rises as shown in FIG. 10 (9).
U36 determines that it is ready to use internal bus 32, and determines that it is ready to use internal bus 32 for the transfer of information from BCU 36, as shown in FIG. The signal SBOK shown rises. Thereby, the control circuit 54 converts the serial information INF temporarily stored in the reception buffer 56 into parallel, and
As shown in (6), the data is output to the internal bus 32.
【0054】なお、CPUコア31は、その動作状態C
PUSTが状態ST02の期間においても、図10
(2)に示すように、メモリ・アクセス要求信号ARQ
を何回か立ち上げると共に、内部バス32に対して、図
10(6)及び(7)に示すように、アクセス要求の対
象であるデバッグ・メモリ28のアドレスAD及び情報
要求コマンドCMをその都度出力し、図10(3)に示
すように、情報要求信号IRQをその都度立ち上げる
が、図10(9)に示すように、制御回路54が準備完
了信号SBCを立ち上げない。したがって、CPUコア
31は、図10(5)に示すように、準備未了信号SB
NGを立ち上げる。これにより、内部バス32は、BC
U35からの情報の転送等、BCU36からの情報の転
送以外に使用される。Note that the CPU core 31 has its operating state C
PUST even in the period of the state ST 02 is, FIG. 10
As shown in (2), the memory access request signal ARQ
Are started several times, and the address AD of the debug memory 28 and the information request command CM, which are the targets of the access request, are sent to the internal bus 32 as shown in FIGS. Then, as shown in FIG. 10 (3), the information request signal IRQ rises each time, but as shown in FIG. 10 (9), the control circuit 54 does not raise the ready signal SBC. Therefore, as shown in FIG. 10 (5), the CPU core 31 prepares
Start NG. As a result, the internal bus 32
It is used for purposes other than transferring information from the BCU 36, such as transferring information from the U35.
【0055】このように、この例の構成によれば、プロ
セッサ21にデバッグ・メモリ28との間の情報の転送
を制御するためのBCU36を、ROM25及びRAM
26が外部バス24を介して接続されるBCU35とは
別個に設けると共に、デバッグ・メモリ28とはわずか
3本の信号線からなる外部バス27と接続可能に構成し
たので、電子機器にプロセッサ21等を実装した状態で
もプログラムの検査ができる。したがって、例えば、電
子機器が販売され、使用者から苦情が寄せられた場合で
あっても、それに対処することができる。また、BCU
35には、実装状態と同様、外部バス24を介してRO
M25とRAM26とが接続されるだけであるので、C
PUコア31の動作速度が高速であっても、電気的特性
が劣化することはなく、電子機器は正常に動作するの
で、期待通りのプログラム検査をすることができる。さ
らに、BCU36がBCU35とは別個に設けられてい
るので、ROM25自体に隣接するピン間の短絡等のハ
ードウェア上の不具合などがあったり、外部バス24に
結線上の不具合が発生した場合であっても、それがデバ
ッグ・メモリ28に影響しないので、プログラム検査を
正常に行うことができると共に、上記不具合を発見する
ことができる。As described above, according to the configuration of this example, the BCU 36 for controlling the transfer of information between the processor 21 and the debug memory 28 is provided by the ROM 25 and the RAM 25.
26 is provided separately from the BCU 35 connected via the external bus 24, and the debug memory 28 is configured to be connectable to the external bus 27 consisting of only three signal lines. The program can be inspected even when is installed. Therefore, for example, even when an electronic device is sold and a complaint is received from a user, it can be dealt with. Also, BCU
In the same manner as in the mounting state, RO
Since only M25 and RAM 26 are connected, C25
Even when the operating speed of the PU core 31 is high, the electrical characteristics do not deteriorate and the electronic device operates normally, so that the expected program inspection can be performed. Further, since the BCU 36 is provided separately from the BCU 35, there may be a hardware defect such as a short circuit between pins adjacent to the ROM 25 itself, or a connection defect in the external bus 24. However, since it does not affect the debug memory 28, the program inspection can be performed normally and the above-mentioned problem can be found.
【0056】また、この例の構成によれば、デバッグ・
メモリ28とROM25とは、別個独立したメモリ空間
が割り当てられているので、ROM25の全てのメモリ
空間が満たされたプログラムの完成段階や製品化の段階
においても、検査用のサブルーチンをそのサイズを気に
することなく自由にしかも一度に作成して用いることが
できると共に、他のサブルーチンとの差し替えや切替ス
イッチの切り替え等の面倒な処理をすることもなく、大
容量のROMを用いる必要もないので、安価に構成でき
る。さらに、RAM26の一部の記憶領域に外部から転
送されたプログラムが記憶されるような場合であって
も、そのプログラムをデバッグ・メモリ28に複写して
検査対象とすることができる。According to the configuration of this example, the debug
Since the memory 28 and the ROM 25 are assigned separate and independent memory spaces, the size of the subroutine for inspection is not considered even in the stage of completion or production of a program in which all the memory spaces of the ROM 25 are filled. It can be created and used freely at one time without using it, and there is no need to use cumbersome processing such as replacing with other subroutines or switching a changeover switch, and it is not necessary to use a large-capacity ROM. , And can be configured at low cost. Further, even when a program transferred from the outside is stored in a part of the storage area of the RAM 26, the program can be copied to the debug memory 28 to be inspected.
【0057】以上、この発明の実施例を図面を参照して
詳述してきたが、具体的な構成はこの実施例に限られる
ものではなく、この発明の要旨を逸脱しない範囲の設計
の変更等があってもこの発明に含まれる。例えば、上述
の実施例においては、1本の内部バス32が設けられて
いる例を示したが、これに限定されず、内部バスは複数
本設けられていても良い。また、上述の実施例において
は、外部バス27は、3本の信号線からなり、そのため
にプロセッサ21に3個の端子が設けられている例を示
したが、これに限定されず、信号線は1本でも良く、し
たがって、端子は1個でも良い。さらに、上述の実施例
においては、2個のブレーク・アドレス・レジスタ42
1及び422が設けられている例を示したが、これに限
定されず、ブレーク・アドレス・レジスタは複数個設け
て良い。さらに、この発明は、内部にキャッシュ・メモ
リやダイレクト・メモリ・アクセス・コントローラ(D
MAC)などが設けられているプロセッサにも適用する
ことができ、キャッシュ・メモリやDMACにおける情
報転送に問題が発生した場合であっても、プログラムの
検査をすることができる。また、上述の実施例において
は、デバッグ・モードにおいても、CPUコア31が主
導的な役割を果たしているため、RAM26の記憶領域
に記憶されている情報を読み出す場合であっても、一旦
CPUコア31内部のレジスタ371〜375に書き込
んだ後でなければ、情報をデバッグ・メモリ28に書き
込むことはできなかった。しかし、これに限定されず、
デバッグ・モードにおいては、BCU36を構成する制
御回路54が主導的な役割を果たし、CPUコア31の
動作の空き時間を利用したり、CPUコア31に動作の
一時停止を求めたりして、内部バス32の使用権を獲得
し、RAM26の記憶領域に記憶されている情報を直接
読み出すように構成しても良い。Although the embodiments of the present invention have been described in detail with reference to the drawings, the specific configuration is not limited to the embodiments, and changes in design and the like can be made without departing from the gist of the present invention. However, the present invention is included in the present invention. For example, in the above-described embodiment, an example in which one internal bus 32 is provided has been described. However, the present invention is not limited to this, and a plurality of internal buses may be provided. In the above-described embodiment, the external bus 27 includes three signal lines, and the processor 21 is provided with three terminals for this purpose. However, the present invention is not limited to this. May be one, and therefore one terminal may be used. Further, in the embodiment described above, two break address registers 42
Although 1 and 42 2 is an example that is provided, without being limited thereto, the break address register may be provided a plurality. Further, the present invention provides a cache memory and a direct memory access controller (D
The present invention can also be applied to a processor provided with a MAC (MAC) or the like, and can check a program even when a problem occurs in information transfer in a cache memory or a DMAC. In the above-described embodiment, the CPU core 31 plays a leading role even in the debug mode. Therefore, even when the information stored in the storage area of the RAM 26 is read, once the CPU core 31 only after written into the internal register 37 1-37 5, it was not possible to write information to the debug memory 28. However, it is not limited to this,
In the debug mode, the control circuit 54 constituting the BCU 36 plays a leading role and uses the idle time of the operation of the CPU core 31 or requests the CPU core 31 to temporarily stop the operation. Alternatively, it may be configured to acquire the right to use 32 and directly read the information stored in the storage area of the RAM 26.
【0058】また、上述の実施例においては、デバッグ
・モードの時にだけ、ROM25とデバッグ・メモリ2
8との両方にアクセスすることができ、全てのメモリ空
間を使用できる例を示したが、これに限定されず、ユー
ザ・モードにおいても、CPUコア31がROM25と
デバッグ・メモリ28との両方にアクセス可能に構成し
ても良い。この構成によれば、プログラム開発段階でR
OM25のメモリ空間の制限を気にすることなく、自由
にプログラムの実行の確認やデバッグ等を行うことがで
きる。さらに、上述の実施例においては、電子機器の動
作について、ソフトウェア上又はハードウェア上の問題
が発生した段階で、検査用のサブルーチンを作成する例
を示したが、これに限定されず、予め検査用のサブルー
チンを作成しておいても良い。例えば、電子機器は、通
常、同じ機種でもその用途に合わせて、単機能タイプか
ら普及タイプ、多機能タイプまでシリーズ化されること
がある。その場合、各タイプ毎にプログラムを別個に開
発するのではなく、例えば、基本的な機能を備えた普及
タイプについて、まずプログラムを開発し、そのプログ
ラムを元にして、単機能タイプでは不要な機能を削除し
たプログラムを、多機能タイプではさらに高度な機能を
付与したプログラムをそれぞれ開発することが考えられ
る。そこで、普及タイプのプログラム開発時に作成した
検査用のサブルーチンを単機能タイプや多機能タイプの
プログラム開発時に流用しても良い。また、電子機器の
ハードウェアの機能上や仕様上の制約から、例えば、情
報転送のタイミングなど、問題が発生しやすいサブルー
チンについて、予め予め検査用のサブルーチンを作成し
ておいても良い。このようにすれば、プログラム開発の
時間を短縮することができる。In the above-described embodiment, the ROM 25 and the debug memory 2 are used only in the debug mode.
8 can be accessed and the entire memory space can be used. However, the present invention is not limited to this, and even in the user mode, the CPU core 31 stores both the ROM 25 and the debug memory 28. It may be configured to be accessible. According to this configuration, R
It is possible to freely check the execution of the program, debug, and the like without worrying about the limitation of the memory space of the OM 25. Furthermore, in the above-described embodiment, an example has been described in which an inspection subroutine is created when a software or hardware problem occurs in the operation of an electronic device. However, the present invention is not limited to this. May be created in advance. For example, in general, electronic devices may be made into a series from a single-function type to a popular type and a multi-function type according to the use of the same model. In that case, instead of developing a program for each type separately, for example, for a popular type with basic functions, first develop a program, and based on that program, a function unnecessary for a single function type It is conceivable to develop a program from which the program has been deleted and a program to which a more advanced function is added in the multi-function type. Therefore, a subroutine for inspection created when developing a popular type program may be used when developing a single-function type or multi-function type program. In addition, a subroutine for inspection may be created in advance for a subroutine in which a problem is likely to occur, such as the timing of information transfer, due to restrictions on the functions and specifications of the hardware of the electronic device. In this way, the time for program development can be reduced.
【0059】[0059]
【発明の効果】以上説明したように、この発明の構成に
よれば、プロセッサに、中央処理装置が実行すべきプロ
グラムを検査するための検査用プログラムや上記プログ
ラムの検査時に使用される情報が記憶される第2の記憶
媒体との間の情報の転送を制御するための第2の転送制
御手段を、第1の記憶媒体が接続される第1の転送制御
手段とは別個に設けたので、簡単かつ安価な構成でプロ
グラムの検査を行うことができると共に、簡単な操作で
短時間に実装状態におけるプログラムの検査を正確に行
うことができる。また、この発明の構成によれば、実装
状態と同様、第1の転送制御手段には第1の記憶媒体が
接続されるだけであるので、中央処理装置の動作速度が
高速であっても、電気的特性が劣化することはなく、こ
のプログラムが搭載された電子機器は正常に動作し、期
待通りのプログラム検査をすることができる。さらに、
第2の転送制御手段が第1の転送制御手段とは別個に設
けられているので、第1の記憶媒体自体のハードウェア
上の不具合や第1の転送制御手段と第1の記憶媒体との
間に結線上の不具合が発生した場合であっても、それが
第2の記憶媒体に影響しないので、プログラム検査を正
常に行うことができると共に、上記不具合を発見するこ
とができる。加えて、この発明の構成によれば、第2の
記憶媒体と第2の転送制御手段とを接続する信号線の本
数を、第1の記憶媒体と第1の転送制御手段とを接続す
る信号線の本数より少なくしている。これにより、実装
状態での動作速度を低下させることなく、プログラム検
査時に使用する端子数を減らすことが可能となり、端子
数の増大によるプロセッサチップのチップ面積の増大を
抑制することができる。また、この発明の構成によれ
ば、第2の記憶媒体と第1の記憶媒体とは、別個独立し
たメモリ空間が割り当てられているので、第1の記憶媒
体の全てのメモリ空間が満たされたプログラムの完成段
階や製品化の段階においても、検査用プログラムをその
サイズを気にすることなく自由にしかも一度に作成して
用いることができると共に、プログラムを構成するサブ
ルーチンとの差し替えや切替スイッチの切り替え等の面
倒な処理をすることもなく、大容量の記憶媒体を用いる
必要もないので、安価に構成できる。さらに、第1の記
憶媒体を構成するRAMに外部から転送されたプログラ
ムが記憶されるような場合であっても、そのプログラム
を第2の記憶媒体に複写して検査対象とすることができ
る。As described above, according to the configuration of the present invention, the processor stores the inspection program for inspecting the program to be executed by the central processing unit and the information used at the time of inspecting the program. Since the second transfer control means for controlling the transfer of information to and from the second storage medium is provided separately from the first transfer control means to which the first storage medium is connected, The program can be inspected with a simple and inexpensive configuration, and the program can be accurately inspected in a mounted state in a short time with a simple operation. Further, according to the configuration of the present invention, as in the mounting state, only the first storage medium is connected to the first transfer control means. Therefore, even if the operation speed of the central processing unit is high, The electrical characteristics are not degraded, and the electronic device on which the program is mounted operates normally, and the program can be inspected as expected. further,
Since the second transfer control means is provided separately from the first transfer control means, there is a problem in hardware of the first storage medium itself, and the connection between the first transfer control means and the first storage medium. Even if a connection failure occurs between them, it does not affect the second storage medium, so that the program inspection can be performed normally and the failure can be found. In addition, according to the configuration of the present invention, the number of signal lines connecting the second storage medium and the second transfer control means is changed to the number of signal lines connecting the first storage medium and the first transfer control means. Less than the number of lines. This makes it possible to reduce the number of terminals used at the time of program inspection without lowering the operation speed in the mounted state, thereby suppressing an increase in the chip area of the processor chip due to an increase in the number of terminals. Further, according to the configuration of the present invention, since the second storage medium and the first storage medium are assigned independent memory spaces, all the memory spaces of the first storage medium are filled. In the stage of program completion and product production, the inspection program can be freely created and used at once without worrying about its size, and can be replaced with subroutines that make up the program, and changeover switches can be used. There is no need to perform complicated processing such as switching, and it is not necessary to use a large-capacity storage medium. Furthermore, even in the case where a program transferred from the outside is stored in the RAM constituting the first storage medium, the program can be copied to the second storage medium to be inspected.
【図面の簡単な説明】[Brief description of the drawings]
【図1】この発明の一実施例であるプログラム検査装置
の電気的構成を示すブロック図である。FIG. 1 is a block diagram showing an electrical configuration of a program inspection device according to an embodiment of the present invention.
【図2】同装置を構成するBCUの電気的構成の一例を
示すブロック図である。FIG. 2 is a block diagram illustrating an example of an electrical configuration of a BCU constituting the device.
【図3】同装置を構成する外部メモリ及びデバッグ・メ
モリのメモリ空間の一例を示す図である。FIG. 3 is a diagram showing an example of a memory space of an external memory and a debug memory constituting the apparatus.
【図4】同装置で用いられるサブルーチンの一例を示す
図である。FIG. 4 is a diagram showing an example of a subroutine used in the device.
【図5】同装置で用いられるサブルーチンの一例を示す
図である。FIG. 5 is a diagram showing an example of a subroutine used in the same device.
【図6】同装置で用いられるサブルーチンの一例を示す
図である。FIG. 6 is a diagram showing an example of a subroutine used in the same device.
【図7】同装置で用いられるサブルーチンの一例を示す
図である。FIG. 7 is a diagram showing an example of a subroutine used in the device.
【図8】同装置で用いられるサブルーチンの一例を示す
図である。FIG. 8 is a diagram showing an example of a subroutine used in the device.
【図9】同装置の動作及び操作者の操作の一例を表すフ
ローチャートである。FIG. 9 is a flowchart illustrating an example of an operation of the apparatus and an operation of an operator.
【図10】同装置の動作の一例を表すタイミングチャー
トである。FIG. 10 is a timing chart illustrating an example of the operation of the device.
【図11】従来のプログラム検査装置の電気的構成例を
示すブロック図である。FIG. 11 is a block diagram showing an example of an electrical configuration of a conventional program inspection device.
【図12】同装置を構成する外部メモリのメモリ空間の
一例を示す図である。FIG. 12 is a diagram showing an example of a memory space of an external memory constituting the device.
21 プロセッサ 25 ROM(第1の記憶媒体) 26 RAM(第1の記憶媒体) 28 デバッグ・メモリ(第2の記憶媒体) 29 デバッグ制御端末(プログラム検査手
段) 31 CPUコア(中央処理装置) 35,36 BCU(第1,第2の転送制御手段) 371〜375 レジスタ 38 制御回路(第2の制御手段) 391,392 ベクタ・アドレス・レジスタ 41 PC(プログラム・カウンタ) 421,422 ブレーク・アドレス・レジスタ 43 比較器(比較手段) 51 デコーダ 52 アドレス・バッファ 53 データ・バッファ 54 制御回路(第1の制御手段) 55 セレクタ 56 受信バッファ 57 送信バッファReference Signs List 21 processor 25 ROM (first storage medium) 26 RAM (first storage medium) 28 debug memory (second storage medium) 29 debug control terminal (program inspection means) 31 CPU core (central processing unit) 35, 36 BCU (first, second transfer control means) 37 1-37 5 register 38 control circuit (second control means) 39 1, 39 2 vector address register 41 PC (program counter) 42 1, 42 2 break address register 43 comparator (comparing means) 51 decoder 52 address buffer 53 data buffer 54 control circuit (first control means) 55 selector 56 reception buffer 57 transmission buffer
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平8−255096(JP,A) 特開 平5−100905(JP,A) 特開 平8−185336(JP,A) 特開 平9−319727(JP,A) 特開 昭63−4346(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 11/28 - 11/36 ────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP-A-8-255096 (JP, A) JP-A-5-100905 (JP, A) JP-A 8-185336 (JP, A) JP-A 9-95 319727 (JP, A) JP-A-63-4346 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 11/28-11/36
Claims (10)
該プログラム実行時に使用される情報が記憶される第1
のメモリ空間を割り当てられた第1の記憶媒体との間の
命令や情報の転送を制御する第1の転送制御手段と、 前記第1のメモリ空間とは異なる第2のメモリ空間を割
り当てられ、前記プログラムを検査するための検査用プ
ログラムや前記プログラムの検査時に使用される情報が
記憶される第2の記憶媒体との間の命令や情報の転送を
制御する第2の転送制御手段と、 前記第1の転送制御手段と、前記第2の転送制御手段
と、前記中央処理装置とに共通に接続された内部バスと
を備え、 前記第2の転送制御手段は、前記第2のメモリ空間に対
応するアドレスを前記内部バスから供給された場合に前
記第2の転送制御手段の各部を制御する第1の制御手段
を有し、前記内部バスからのパラレルなアドレス又は情
報をシリアルなアドレス又は情報に変換して前記第2の
記憶媒体に転送し、前記第2の記憶媒体からのシリアル
なアドレス又は情報をパラレルなアドレス又は情報に変
換し、前記内部バスに出力することを特徴とするプロセ
ッサ。A first program for storing a program to be executed by a central processing unit and information used when the program is executed.
A first transfer control means for controlling the transfer of instructions and information to and from a first storage medium to which the first memory space is assigned; and a second memory space different from the first memory space, A second transfer control unit that controls transfer of instructions and information to and from a second storage medium in which an inspection program for inspecting the program and information used at the time of inspecting the program are stored; A first transfer control unit; a second transfer control unit; and an internal bus commonly connected to the central processing unit, wherein the second transfer control unit is provided in the second memory space. A first control unit for controlling each unit of the second transfer control unit when a corresponding address is supplied from the internal bus, and converting a parallel address or information from the internal bus into a serial address or information; Processor converted and transferred to the second storage medium, converts the serial address or information from the second storage medium in a parallel address or information, and outputs to the internal bus.
御手段とを接続する信号線の本数は、前記第1の記憶媒
体と前記第1の転送制御手段とを接続する信号線の本数
より少ないことを特徴とする請求項1記載のプロセッ
サ。2. The number of signal lines connecting the second storage medium and the second transfer control means is equal to the number of signal lines connecting the first storage medium and the first transfer control means. 2. The processor according to claim 1, wherein the number is less than the number.
ラムの検査時に前記第1の記憶媒体に記憶された情報を
読み出して前記第2の記憶媒体に記憶することを特徴と
する請求項1又は2記載のプロセッサ。3. The apparatus according to claim 1, wherein said second transfer control means reads out information stored in said first storage medium at the time of checking said program and stores it in said second storage medium. Or the processor according to 2.
は第2の記憶媒体から前記プログラム又は前記検査用プ
ログラムを構成する各命令を読み出し、前記複数のレジ
スタや前記第1の転送制御手段を介してアクセスした前
記第1の記憶媒体を用いて、読み出した各命令を順次実
行する第2の制御手段と、 通常使用の際の割込発生時に分岐すべき第1の分岐先を
示す第1のベクタ・アドレスが予め記憶される第1のベ
クタ・アドレス・レジスタと、 プログラム検査の際の割込発生時に分岐すべき第2の分
岐先を示す第2のベクタ・アドレスが予め記憶される第
2のベクタ・アドレス・レジスタと、 前記第2の制御手段が次に実行すべき命令のアドレスの
値が格納され、各命令の実行毎にその値が順次カウント
・アップされたり、前記第1又は第2のベクタ・アドレ
ス・レジスタから第1又は第2のベクタ・アドレスが供
給されたりするプログラム・カウンタと、 前記第2の制御手段によるプログラムの動作を一時中断
して割り込みを発生させるべき分岐元のアドレス番地で
あるブレーク・アドレスが記憶されると共に、プログラ
ム検査の際の割り込み発生時に分岐すべき分岐先のアド
レス番地である割込ベクタがそれぞれ予め指定される複
数個のブレーク・アドレス・レジスタと、 前記プログラム・カウンタの出力値と、前記複数個のブ
レーク・アドレス・レジスタから供給される複数個のブ
レーク・アドレスとを比較し、一致した場合に、割込信
号を前記第2の制御手段に供給する比較手段とを備えて
なることを特徴とする請求項1乃至3のいずれか1に記
載のプロセッサ。4. The central processing unit includes: a plurality of registers in which information is temporarily stored; and the program or the program stored in the first or second storage medium via the first or second transfer control unit. Before reading each instruction constituting the inspection program and accessing via the plurality of registers or the first transfer control means.
Using the serial first storage medium, and second control means for sequentially executes each instruction read, the first vector address indicating the first branch destination to be branched to normal interrupt occurs during use Is stored in advance, and a second vector address in which a second vector address indicating a second branch destination to be branched when an interrupt occurs during a program check is stored in advance. An address register for storing an address value of an instruction to be executed next by the second control means, and for each execution of the instruction, the value is sequentially incremented or the first or second vector A program counter to which the first or second vector address is supplied from the address register, and an address of a branch source to temporarily interrupt the operation of the program by the second control means and generate an interrupt A plurality of break address registers, each of which stores a break address, which is an address of a destination address, and an interrupt vector, which is an address address of a branch destination to be branched when an interrupt occurs during a program check, An output value of the program counter is compared with a plurality of break addresses supplied from the plurality of break address registers, and when they match, an interrupt signal is supplied to the second control means. The processor according to any one of claims 1 to 3, further comprising a comparison unit that performs the comparison.
るデコーダと、 前記中央処理装置から転送されたアドレスを一時保持す
るアドレス・バッファと、 前記中央処理装置から転送された情報を一時保持するデ
ータ・バッファと、 前記アドレス・バッファから供給されたアドレス又は前
記データ・バッファから供給された情報のいずれか一方
を選択して出力するセレクタと、 前記第2の記憶媒体から転送されたシリアルの情報を一
時保持した後、パラレルの情報に変換して出力する受信
バッファと、 前記セレクタから転送されたパラレルのアドレス又は情
報と前記第1の制御手段から供給された命令とを一時保
持した後、シリアルのアドレス又は情報に変換して出力
する送信バッファとを備え、 前記第1の制御手段は、前記デコーダによりデコードさ
れたアドレスが前記第2のメモリ空間に対応するアドレ
スの場合には、装置各部を制御することを特徴とする請
求項1乃至4のいずれか1に記載のプロセッサ。5. The second transfer control means, the first control means, a decoder for decoding an address transferred from the central processing unit, and a temporary storage of the address transferred from the central processing unit. An address buffer, a data buffer for temporarily storing information transferred from the central processing unit, and selecting one of an address supplied from the address buffer and information supplied from the data buffer. A selector to output, a reception buffer that temporarily holds serial information transferred from the second storage medium, converts the serial information to parallel information and outputs the parallel information, and a parallel address or information transferred from the selector. After temporarily holding the command supplied from the first control means, the command is converted into a serial address or information and output. A transmission buffer, wherein the first control means controls each unit of the device when an address decoded by the decoder is an address corresponding to the second memory space. A processor according to any one of claims 1 to 4.
御手段と、前記第2の転送制御手段とが同一のチップ内
に形成されていることを特徴とする請求項1乃至5のい
ずれか1に記載のプロセッサ。6. The apparatus according to claim 1, wherein said central processing unit, said first transfer control means, and said second transfer control means are formed in the same chip. The processor according to claim 1.
御手段とを接続するための少なくとも1個の端子が設け
られていることを特徴とする請求項6記載のプロセッ
サ。7. The processor according to claim 6, further comprising at least one terminal for connecting said second storage medium and said second transfer control means.
ロセッサを搭載し、前記第2の記憶媒体と接続可能であ
ることを特徴とする電子機器。8. An electronic device, comprising the processor according to claim 1 and being connectable to the second storage medium.
プログラムを記憶した前記第2の記憶媒体を接続し、前
記プログラムや前記検査用のプログラムを実行すること
により、前記第1の記憶媒体や前記中央処理装置を構成
する複数のレジスタから読み出され前記第2の記憶媒体
に記憶された情報に基づいて、前記プログラムを検査す
ることを特徴とするプログラム検査方法。9. The first storage device by connecting the second storage medium storing the inspection program to the electronic device according to claim 8, and executing the program and the inspection program. A program inspection method for inspecting the program based on information read from a medium and a plurality of registers constituting the central processing unit and stored in the second storage medium.
れた前記第2の記憶媒体と、 前記プログラムや前記検査用のプログラムが実行される
ことにより、前記第1の記憶媒体や前記中央処理装置を
構成する複数のレジスタから読み出され前記第2の記憶
媒体に記憶された情報に基づいて、前記プログラムを検
査するプログラム検査手段とを備えてなることを特徴と
するプログラム検査装置。10. The electronic device according to claim 8, wherein the inspection program is stored, the second storage medium connected to the electronic device, and the program and the inspection program are executed. Program inspection means for inspecting the program based on information read from a plurality of registers constituting the first storage medium or the central processing unit and stored in the second storage medium. A program inspection apparatus, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35056698A JP3341692B2 (en) | 1998-12-09 | 1998-12-09 | Processor, electronic device equipped with the processor, program inspection method, and program inspection device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35056698A JP3341692B2 (en) | 1998-12-09 | 1998-12-09 | Processor, electronic device equipped with the processor, program inspection method, and program inspection device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000172534A JP2000172534A (en) | 2000-06-23 |
JP3341692B2 true JP3341692B2 (en) | 2002-11-05 |
Family
ID=18411372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35056698A Expired - Fee Related JP3341692B2 (en) | 1998-12-09 | 1998-12-09 | Processor, electronic device equipped with the processor, program inspection method, and program inspection device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3341692B2 (en) |
-
1998
- 1998-12-09 JP JP35056698A patent/JP3341692B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000172534A (en) | 2000-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3151808B2 (en) | Integrated circuit device, circuit inspection device and method | |
US6289300B1 (en) | Integrated circuit with embedded emulator and emulation system for use with such an integrated circuit | |
US6230119B1 (en) | Integrated circuit with embedded emulator and emulation system for use with such an integrated circuit | |
US7131114B2 (en) | Debugger breakpoint management in a multicore DSP device having shared program memory | |
JP4335999B2 (en) | Semiconductor integrated circuit device with built-in processor | |
JPH11212817A (en) | Tracking method and device for hardware assisted firmware | |
US7360137B2 (en) | Flash programmer for programming NAND flash and NOR/NAND combined flash | |
US6611912B1 (en) | Method and apparatus having a system BIOS write configuration data of a riser card to a controller configuration space when connecting the riser card to a motherboard | |
JP2002041326A (en) | Central processing unit to facilitate test and debugging of program | |
US20120173941A1 (en) | Method, system and processor for loading logical devices online | |
KR100607023B1 (en) | Program processing apparatus | |
KR100768396B1 (en) | Program processing apparatus | |
EP3540598A1 (en) | Method, device and server for checking a defective function | |
US20100198548A1 (en) | Diagnostic apparatus, diagnostic method and test apparatus | |
JP3341692B2 (en) | Processor, electronic device equipped with the processor, program inspection method, and program inspection device | |
JP3380827B2 (en) | Emulator device | |
CN114489743B (en) | Program programming and loading operation method of on-chip programmable system | |
CN114691520B (en) | Instruction programmable buffer design system based on processor debugging architecture | |
CN116048640A (en) | Method for driving IIC equipment in computer system to work normally | |
US20140095841A1 (en) | Processor and control method of processor | |
JPH1083318A (en) | Electronic circuit analyzing device | |
JP2001084161A (en) | Data processor | |
JP3265284B2 (en) | emulator | |
CN118427032A (en) | System-on-chip development board, system-on-chip, defect avoidance method and debugging method for system-on-chip development board and system-on-chip, and computing device | |
CN118503088A (en) | Multi-DSP remote debugging device and debugging method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070823 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080823 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080823 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090823 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |