JPH01166144A - Debugging system for firmware program - Google Patents

Debugging system for firmware program

Info

Publication number
JPH01166144A
JPH01166144A JP62325012A JP32501287A JPH01166144A JP H01166144 A JPH01166144 A JP H01166144A JP 62325012 A JP62325012 A JP 62325012A JP 32501287 A JP32501287 A JP 32501287A JP H01166144 A JPH01166144 A JP H01166144A
Authority
JP
Japan
Prior art keywords
trace
memory
program
ecc
counter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP62325012A
Other languages
Japanese (ja)
Inventor
Satoshi Nojima
聡 野島
Hidekazu Tsutsui
英一 筒井
Kazuo Sakakawa
坂川 和男
Takenobu Shibayama
柴山 武信
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP62325012A priority Critical patent/JPH01166144A/en
Publication of JPH01166144A publication Critical patent/JPH01166144A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PURPOSE:To realize a firmware program debug function with little hardware by using an ECC memory as a trace memory and providing a counter as a trace code generating means. CONSTITUTION:First, the address of an instruction step to start the debug of the firmware program is designated and a trace code is written into an ECC memory 2. At the time of executing the above-mentioned program, the trace code is read out. A trace control circuit 3 resets a counter and makes it start a count action when it detects the trace code and makes it stop it when it reaches a prescribed value. The counter 6 counts +1 and generates the trace code of a sequence number to change in a rising sequence each time a program memory 1 is accessed. The trace code generated by the counter 6 is written into the address of the ECC memory 2 accessed at that time.

Description

【発明の詳細な説明】 〔概要〕 装置に内蔵されているファームウェア・プログラムのデ
バッグ方式に関し。
[Detailed Description of the Invention] [Summary] This invention relates to a debugging method for a firmware program built into a device.

僅かなハードウェア量の増加で、ファームウェア・プロ
グラムのトレースが可能なデバッグ機構を、装置内に設
けることを目的とし。
The purpose is to provide a debugging mechanism within the device that allows tracing of firmware programs with a slight increase in the amount of hardware.

ECCメモリに結合され、ファームウェア・プログラム
の命令ステップの実行順序を示すトレース情報を収集す
る制御を行うトレース制御回路と。
a trace control circuit coupled to the ECC memory and configured to control the collection of trace information indicating the order of execution of instruction steps of the firmware program;

ファームウェア・プログラムの命令ステップの実行順序
を識別するトレース・コードを生成するカウンタとを設
け、外部からECCメモリのトレースを開始すべきアド
レスにトレース開始を表すトレース・コードを設定し、
トレース制御回路は。
and a counter that generates a trace code that identifies the execution order of instruction steps of the firmware program, and sets a trace code indicating the start of tracing at an address at which tracing of the ECC memory should be started from the outside;
Trace control circuit.

ECCメモリから上記トレース開始を表すトレース・コ
ードが検出されたとき、カウンタを起動して、プログラ
ム・メモリがアクセスされるごとに逐次更新される順序
番号のトレース・コードを発生させ、上記アクセスされ
たプログラム・メモリのアドレスでECCメモリに書き
込む構成をもつ。
When the trace code indicating the start of the trace is detected from the ECC memory, a counter is started to generate a trace code with a sequence number that is sequentially updated each time the program memory is accessed, and It has a configuration that writes to the ECC memory using the address of the program memory.

〔産業上の利用分野〕[Industrial application field]

本発明は、装置に内蔵されているファームウェア・プロ
グラムのデバッグ方式に関する。
The present invention relates to a method for debugging a firmware program built into a device.

LSI技術の進展により、目的とする各種の装置を実現
する場合、その装置専用に、ゲートアレイLSIを用い
て、最適のプロセッサを実現するとともに、ファームウ
ェア・プログラムを内蔵させて所望の制御を行うように
したものが増加している。
With the advancement of LSI technology, when realizing various target devices, gate array LSIs are used exclusively for that device to realize an optimal processor, and firmware programs are built in to perform the desired control. The number of people who have done this is increasing.

現在、市場に各種のプロセッサ・アナライザが出回って
いる。しかし、これらはいずれも上述したような特化し
たプロセッサに内蔵されているファームウェア・プログ
ラムのデバッグに使用するのは不適当なものである。そ
のため、なんらかのデバッグ機構を、装置自身の内部に
予め実現して置く必要が生じている。
There are currently various processor analyzers on the market. However, none of these methods is suitable for use in debugging firmware programs built into specialized processors such as those described above. Therefore, it is necessary to implement some kind of debugging mechanism in advance within the device itself.

本発明は、このようなファームウェア・プログラムのデ
バッグ機構の1つの方式を提供するものである。
The present invention provides one method of such a firmware program debugging mechanism.

〔従来の技術〕[Conventional technology]

第4図は、ファームウェア・プログラムを内蔵する従来
の装置の構成図である。
FIG. 4 is a block diagram of a conventional device containing a firmware program.

図において、11はファームウェア・プロz゛ラムを格
納するプログラム・メモリ、12はプログラム・メモリ
11と同じアドレス構成をもち、プログラム・メモリ1
1の対応するアドレスの命令について生成されたECC
データが格納されるECCメモリ、13はプログラム・
メモリ11から読み出された命令とECCメモリ12か
ら読み出されたECCデータとに基づいてエラーチエツ
クおよびエラー修正を行うECC回路、14はECC回
路13により正当性を保証された命令を実行するプロセ
ッサである。
In the figure, 11 is a program memory that stores a firmware program, and 12 has the same address structure as the program memory 11;
ECC generated for the instruction at the corresponding address of 1
ECC memory in which data is stored; 13 is a program memory;
An ECC circuit performs error checking and error correction based on instructions read from the memory 11 and ECC data read from the ECC memory 12, and 14 is a processor that executes instructions whose validity is guaranteed by the ECC circuit 13. It is.

このような装置に内蔵されたファームウェア・プログラ
ムのためのデバッグ機構に要求される条件としては、以
下の項目■、■、■に示されるようなものが不可欠であ
る。
The conditions shown in the following items (1), (2), and (2) are indispensable as conditions required for a debugging mechanism for a firmware program built into such a device.

■ 装置全体のハードウェア量に対して、充分無視しう
る物量で実現がされること。
■ The amount of hardware required for the entire device is negligible.

■ ファームウェア・プログラムのデバッグは。■ Debugging firmware programs.

往々にしてタイミング関係を保存して行う必要があり、
デバッグ機構としては、ファームウェア・プログラムの
走行ステップに対して、何等影響の無いものが望ましい
It is often necessary to preserve timing relationships,
It is desirable that the debugging mechanism has no effect on the running steps of the firmware program.

■ 機能的には、各種のものが考えられるが、最低限、
ファームウェア・プログラムの走行ステップ順序がトレ
ースできる事が必要である。
■ Functionally, various things can be considered, but at least
It is necessary to be able to trace the running step order of the firmware program.

このような要求に応えるための従来技術としては5次に
挙げるものが良く使用されている。
As conventional techniques to meet such demands, the following five types are often used.

(1)  ブランチ・トレース(branch tra
ce)ファームウェア・プログラムのbranch文の
発生したアドレスを順次、トレース・メモリに格納して
いく。
(1) Branch trace
ce) Sequentially store addresses where branch statements of the firmware program occur in the trace memory.

(2)  ブレーク・ポイント(break poin
t)なんらかの手段により、ファームウェア・プログラ
ムのステップの成るアドレスにおいて、ファームウェア
・プログラムの走行を停止する。
(2) Break point
t) Stop running the firmware program at the address of the firmware program step by some means.

(3)  アドレス比較(adress compar
e)による停止。
(3) Address comparison
Suspension due to e).

トレース ファームウェア・プログラムが格納されているメモリの
アドレスに対し、ハードウェアで実現した比較回路と比
較アドレスの保持メモリを用意する事により、保持メモ
リのアドレスのアクセスが発生した時点で、走行の停止
、あるいはトレースを実行する。
By preparing a comparison circuit implemented in hardware and a storage memory for the comparison address for the memory address where the trace firmware program is stored, running can be stopped or stopped when the storage memory address is accessed. Or run a trace.

(4)プログラム・ステップに、予め、ある一定のトレ
ース実行ルーチンを数個所作りこんでおく。
(4) Create a certain number of trace execution routines in advance in the program steps.

このようにプログラム自身によって、自プログラムの走
行ステップを記録する機能を埋め込む事によって、走行
順序の記録を実行するものである。
In this way, the running order is recorded by embedding the function of recording the running steps of the program itself into the program itself.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

前述した従来技術の10ないしく4)において、(1)
は不要なトレースを発生することが不可避であり。
In 10 to 4) of the prior art described above, (1)
inevitably generates unnecessary traces.

(2)はファームウェア・プログラムの走行が停止する
という問題があった。また(3)はハードウェア量の増
加があるとともに、そのハードウェア量の制限により、
指定アドレス・ポイント数または通常1または2程度に
制限され、そして(4)はプログラム自身に対し無効ス
テップであるトレース用の処理が必要となるとともに、
プログラム作成時に設定したポイントしかトレースがで
きないという問題があった。またいずれの場合も、トレ
ース・メモリが必要であった。
(2) has the problem that the firmware program stops running. In addition, in (3), there is an increase in the amount of hardware, and due to the limitation of the amount of hardware,
The number of specified address points is usually limited to about 1 or 2, and (4) requires processing for tracing, which is an invalid step for the program itself.
There was a problem that only the points set at the time of program creation could be traced. In both cases, trace memory was also required.

本発明は、僅かなハードウェア量の増加で、ファームウ
ェア・プログラムのトレースが可能なデバッグ機構を、
装置内に設けることを目的とする。
The present invention provides a debugging mechanism that enables tracing of firmware programs with a slight increase in the amount of hardware.
The purpose is to install it inside the device.

〔問題点を解決するための手段〕[Means for solving problems]

従来の装置のプロセッサでは、ファームウェア・プログ
ラムを、エラ一対策のためにエラー検出やエラー修正が
可能なECC付きでメモリに格納している。そしてこの
メモリには、高速化を図るため、一般にRAMを用いて
いる。
In the processor of a conventional device, a firmware program is stored in a memory with an ECC that can detect and correct errors in order to prevent errors. A RAM is generally used as this memory in order to increase the speed.

本発明は、このファームウェア・プログラムのエラ一対
策に用いられているECCデータが、デバッグ時には実
際上不要であることと、プログラム・メモリおよびEC
Cメモリの各対応するアドレスの領域は同期して同時に
読み出されることとに着目し、ECCが格納されている
メモリの領域を、デバッグ時にファームウェア・プログ
ラムのトレース領域として使用するものである。
The present invention is characterized in that the ECC data used to prevent errors in the firmware program is actually unnecessary during debugging, and that the ECC data used to prevent errors in the firmware program is
Focusing on the fact that the corresponding address areas of the C memory are read out simultaneously in synchronization, the memory area where the ECC is stored is used as a trace area for the firmware program during debugging.

第1図に本発明の原理的構成を示す。FIG. 1 shows the basic configuration of the present invention.

図において。In fig.

lはファームウェア・プログラムを格納するプログラム
・メモリである。
1 is a program memory that stores a firmware program.

2はRAMで構成されたECCメモリであり。2 is an ECC memory composed of RAM.

通常動作時にはECCデータが格納され、デバッグ動作
時にはトレース・コードを書き込まれる。
ECC data is stored during normal operation, and trace code is written during debug operation.

このトレース・コードには、トレースの開始位置を示す
情報をもつものと、ファームウェア・プログラム中での
命令ステップの実行順序を示す情報をもつものとがあり
、前者のトレース・コードは外部から設定され、後者の
トレース・コードは内部で発生される。
This trace code includes information indicating the starting position of the trace and information indicating the execution order of instruction steps in the firmware program.The former trace code is set externally. , the latter trace code is generated internally.

3はトレース制御回路であり、ファームウェア・プログ
ラムの実行中に、ECCメモリ2からトレース開始位置
を示すトレース・コードが読み出されたときこれを検出
してトレース制御を開始し。
A trace control circuit 3 detects when a trace code indicating a trace start position is read from the ECC memory 2 during execution of the firmware program and starts trace control.

−Vtいて実行される命令ステップに対応するECCメ
モリ2のアドレスに実行順序を示すトレース・コードを
設定する。
A trace code indicating the execution order is set at the address in the ECC memory 2 corresponding to the instruction step executed at -Vt.

4は、ECC回路であり、プログラム・メモリ1から読
み出された命令データとECCメモリ2から読み出され
たECCデータとによりエラーチエツクおよびエラー修
正を行い、命令データの正当性を保証する。
Reference numeral 4 denotes an ECC circuit which performs error checking and error correction using the instruction data read from the program memory 1 and the ECC data read from the ECC memory 2, thereby guaranteeing the validity of the instruction data.

5はプロセッサであり、プログラム・メモリ1およびE
CCメモリ2をアクセスし、プログラム・メモリ1から
読み出される各命令を実行する。
5 is a processor with program memories 1 and E
CC memory 2 is accessed and each instruction read from program memory 1 is executed.

6はカウンタであり、命令ステップの実行順序を識別可
能にする順序番号を表すトレース・コードを生成するた
めに使用される。このカウンタ6は、トレース制御回路
3により制御され、トレース開始位置を表すトレース・
コードを検出した時点でリセットされてカウントを開始
し、予め定められた値に達するとカウントを停止される
6 is a counter, which is used to generate a trace code representing a sequence number that makes it possible to identify the order in which instruction steps are executed. This counter 6 is controlled by the trace control circuit 3, and the trace counter 6 is controlled by the trace control circuit 3.
When a code is detected, it is reset and starts counting, and when it reaches a predetermined value, it stops counting.

〔作用〕[Effect]

第1図において、デバッグ作業者は、装置の外部に接続
されたコンソール等の適当な手段(図示省略)を用いて
、ファームウェア・プログラムのデバッグを開始すべき
命令ステップのアドレ不を指定し、ECCメモリ2の対
応アドレスに、トレース開始を表すトレース・コードを
書き込む。たとえばこのトレース・コードを、 “OO
゛ とする。
In FIG. 1, a debugging operator uses an appropriate means (not shown) such as a console connected to the outside of the device to specify the address of the instruction step at which debugging of the firmware program is to be started. A trace code indicating the start of tracing is written to the corresponding address in memory 2. For example, convert this trace code to “OO
゛.

またECC回路4の動作は禁止する。Further, the operation of the ECC circuit 4 is prohibited.

ファームウェア・プログラムを実行し、プログラム・メ
モリlからデバッグを開始するアドレスの命令ステップ
を読み出したとき、ECCメモリ2からはトレース・コ
ード00′が読み出される。
When the firmware program is executed and the instruction step at the address at which debugging is to be started is read from the program memory 1, trace code 00' is read from the ECC memory 2.

トレース制御回路3は、このトレース・コード゛00°
を検出すると、カウンタ6をリセットしてカウント動作
を開始させ、所定値に達したとき停止させる。所定値は
、カウンタ6の最大値またはそれよりも小さい任意の値
とすることができる。
The trace control circuit 3 uses this trace code '00°
When detected, the counter 6 is reset to start counting, and stopped when a predetermined value is reached. The predetermined value can be the maximum value of the counter 6 or any value smaller than that.

カウンタ6は、プログラム・メモリ1がアクセスされる
たびに、すなわちファームウェア・プログラムの命令が
フェッチされるたびに、+1カウントし、 “00° 
′01“02゛のように昇順で変化する順序番号のトレ
ース・コードを発生する。
The counter 6 counts +1 each time the program memory 1 is accessed, that is, each time an instruction of the firmware program is fetched, and the counter 6 counts “00°”.
Generate trace codes with sequence numbers that change in ascending order, such as '01' and '02'.

カウンタ6が発生したトレース・コードは、その時点で
アクセスが行われているECCメモリ2のアドレスに書
き込まれる。
The trace code generated by the counter 6 is written to the address of the ECC memory 2 that is being accessed at that time.

このようにして、ファームウェア・プログラムの実行が
進むにつれて、実行された命令ステップに対応するEC
Cメモリ2の各アドレスには、実行順序を示す一連のト
レース・コードが書き込まれ、トレース情報が作成され
る。
In this way, as execution of the firmware program progresses, the EC
A series of trace codes indicating the execution order are written to each address in the C memory 2 to create trace information.

次にデバッグを行うときは、ECCメモリ2をアクセス
して、トレース・コードを“00°から昇順にサーチし
、対応する命令を読み出すことにより、実行順序を確認
することができる。
When debugging is performed next time, the execution order can be confirmed by accessing the ECC memory 2, searching the trace code in ascending order starting from 00°, and reading the corresponding instruction.

〔実施例〕〔Example〕

第2図に本発明の1実施例装置の構成を示す。 FIG. 2 shows the configuration of an apparatus according to one embodiment of the present invention.

図において、lはプログラム・メモリ、2はECCメモ
リ、3はトレース制御回路、4はECC回路、5はプロ
セッサ、6はカウンタ、7は書き込み回路、8はアドレ
ス・セレクタ、9はECC禁止回路、10はコンソール
である。
In the figure, l is a program memory, 2 is an ECC memory, 3 is a trace control circuit, 4 is an ECC circuit, 5 is a processor, 6 is a counter, 7 is a write circuit, 8 is an address selector, 9 is an ECC inhibition circuit, 10 is a console.

プログラム・メモリlおよびECCメモリ2は。Program memory 1 and ECC memory 2.

RAMで構成されている。プログラム・メモリ1のデー
タ幅(命令長)は2ハイドであり1通常動作時には、そ
の1ビツトエラー修正および2ビツトエラー検出可能な
6ビソトのECCデータがECCメモリ2に格納される
It is composed of RAM. The data width (instruction length) of the program memory 1 is 2-bit, and during normal operation, 6-bit ECC data that can correct 1-bit errors and detect 2-bit errors is stored in the ECC memory 2.

トレース制御■回路3は、トレース動作の開始と終了と
を制御する機能をもつ。
The trace control circuit 3 has a function of controlling the start and end of the trace operation.

第3図に、トレース制御回路3の細部構成を示す。図に
おいて、31は第2図のECCメモリ2の出力を監視し
て、X “00°を検出するデコーダであり、32は第
2図のカウンタ6の出力を監視して、X “2F” を
検出するデコーダである。
FIG. 3 shows the detailed configuration of the trace control circuit 3. In the figure, 31 is a decoder that monitors the output of the ECC memory 2 in FIG. 2 to detect X "00°," and 32 monitors the output of the counter 6 in FIG. 2 to detect X "2F". It is a decoder that detects.

33はRSフリップフロップであり、デコーダ31の出
力によりオンにセットされ、デコーダ32の出力により
オフにリセットされる。
33 is an RS flip-flop, which is set on by the output of the decoder 31 and reset to off by the output of the decoder 32.

デコーダ31がECCメモリ2からトレース・、コード
X “00°が出力されたことを検出すると。
When the decoder 31 detects that the trace code X "00°" is output from the ECC memory 2.

カウンタ・リセット信号を出力するとともに、RSフリ
ップフロップをオンにする。RSフリップフロップ33
がオンになると、カウンタ・スタート/ストップ信号を
オンにする。その後デコーダ32がカウンタ6の出力に
トレース・コードX“2F” を検出するとRSフリッ
プフロップ33をオフにし、カウンタ・スタート/スト
ップ信号をオフにする。
It outputs a counter reset signal and turns on the RS flip-flop. RS flip flop 33
turns on, turns on the counter start/stop signal. Thereafter, when the decoder 32 detects the trace code X "2F" in the output of the counter 6, it turns off the RS flip-flop 33 and turns off the counter start/stop signal.

第2図に戻ると、カウンタ6は6ビノトのカウンタであ
り、動作時にプログラム・メモリlのアクセス・クロッ
クをカウントし、トレース・コードを出力する。
Returning to FIG. 2, counter 6 is a 6-bit counter that counts the access clock of program memory 1 during operation and outputs a trace code.

通常動作時にプロセッサ5は、プログラム・メモリ!お
よびECCメモリ2にアドレスを送り。
During normal operation, the processor 5 stores program memory! and send the address to ECC memory 2.

それぞれをアクセスして、命令データとその対応するE
CCデータとをS売み出す。
Access each of the instruction data and its corresponding E
Selling CC data.

読み出された命令データおよびECCデータはともにE
CC回路4に送られ、エラーチエツクおよびエラー修正
が行われて、正当性を保証された命令データとしてプロ
セッサ5へ送られる。このようにしてファームウェア・
プログラムの各命令は読み出され、プロセッサ5により
実行される。
Both the read instruction data and ECC data are E.
The data is sent to the CC circuit 4, subjected to error checking and error correction, and sent to the processor 5 as instruction data whose validity is guaranteed. In this way, the firmware
Each instruction of the program is read and executed by the processor 5.

アドレス・セレクタ8は、プロセッサバス経由でプロセ
ッサよりセレクトされ、プログラムメモリと同じアドレ
スをECCメモリに対し出力する場合とプロセッサがE
CCメモリ内部のトレースコードの設定/トレース内容
の参照を行う場合のプロセッサ指定アドレスを出力する
場合とを選択する。
The address selector 8 is selected by the processor via the processor bus, and is used when outputting the same address as the program memory to the ECC memory, and when the processor outputs the same address as the program memory to the ECC memory.
Select whether to set the trace code inside the CC memory or output the processor specified address when referencing the trace contents.

トレース動作は、コンソール10からの指示により行う
The tracing operation is performed according to instructions from the console 10.

まず、コンソール10からトレース制御コマンドにより
トレース開始アドレスを与える。このコマンドは、アド
レス・セレクタ8を右のアドレス入力に切り換え、プロ
セッサ・バスを介して転送されてきたトレース開始アド
レスをECCメモリ2に印加するとともに、プロセッサ
・バスより送られたトレース・コードx’oo’ を書
き込む。
First, a trace start address is given from the console 10 using a trace control command. This command switches the address selector 8 to the right address input, applies the trace start address transferred via the processor bus to the ECC memory 2, and also applies the trace code x' sent from the processor bus. Write oo'.

書き込みが終了すると、アドレス・セレクタ8を左のア
ドレス入力に戻す。
When writing is completed, the address selector 8 is returned to the left address input.

またこのトレース制御コマンドは、プロセッサ・バスを
介してECC禁止回路9内の禁止指示をオンにし、EC
C回路4の機能を停止させる。この状態では、プログラ
ム・メモリ1から読み出された命令データは、ECCチ
エツクなしにそのままプロセッサ5へ転送される。
This trace control command also turns on the prohibition instruction in the ECC prohibition circuit 9 via the processor bus, and
The function of the C circuit 4 is stopped. In this state, the instruction data read from the program memory 1 is transferred to the processor 5 as is without an ECC check.

次に、ファームウェア・プログラムを実行させる。ここ
で先にECCメモリ2のトレース・コードx’oo’ 
を書き込んだアドレスに対応するプログラム・メモリl
のアドレスの命令がアクセスされると、ECCメモリ2
からトレース・コードX“00゛が読み出される。
Next, run the firmware program. Here, first trace code x'oo' of ECC memory 2
Program memory l corresponding to the address written
When the instruction at address 2 is accessed, ECC memory 2
Trace code X“00゛” is read from.

トレース制御回路3は、トレース・コードX°00°を
検出するとカウンタ6をリセットし。
The trace control circuit 3 resets the counter 6 when detecting the trace code X°00°.

カウント動作をスタートさせる。Start counting operation.

カウンタ6は、本来はx’oo’ からX “3F”ま
でのカウント機能をもつ。しかし、トレース制御回路3
は、カウンタ6の出力にX “2F” を検出するとカ
ウンタ6のカウント動作をストップさせる。このためカ
ウンタ6は、X  ’2F’ までカウントすると、以
f&X “2F’を維持する。
The counter 6 originally has a counting function from x'oo' to X "3F". However, trace control circuit 3
When X “2F” is detected in the output of the counter 6, the counting operation of the counter 6 is stopped. Therefore, after counting up to X'2F', the counter 6 maintains f&X'2F'.

カウンタ6は、スタート後、プログラム・メモリ1の命
令がアクセスされるごとに、アクセス・クロックをカウ
ントし、X  ’01’ 、X  ’02’・・・のよ
うに昇順に更新されるトレース・コードを発生する。
After starting, the counter 6 counts the access clock each time an instruction in the program memory 1 is accessed, and generates a trace code that is updated in ascending order such as X '01', X '02', etc. occurs.

これらのトレース・コードは書き込み回路7を介してE
CCメモリ2に送られ、そのとき与えられているアドレ
スに書き込まれる。
These trace codes are sent to E via write circuit 7.
The data is sent to the CC memory 2 and written to the address given at that time.

この結果、ファームウェア・プログラムの実行命令のト
レースが一連のトレース・コードによって順序を識別可
能にされて、ECCメモリ中に記録される。
As a result, a trace of the execution instructions of the firmware program is recorded in the ECC memory in an orderable manner by a series of trace codes.

ECCメモリ2中に記録されたトレース情報は。The trace information recorded in the ECC memory 2 is as follows.

ファームウェア・プログラムの1つを用いてトレース・
コードを昇順にサーチして対応する命令をS売み出すこ
とができる。
Trace using one of the firmware programs.
The code can be searched in ascending order and the corresponding instructions can be sold.

〔発明の効果〕〔Effect of the invention〕

本発明は、ECCメモリをトレース・メモリとして利用
するとともに、カウンタをトレース・コード発生手段と
して設けることで、少ないハードウェア量と簡単な制御
機構をもつファームウェア・プログラム・デバッグ機構
を実現できる。
The present invention utilizes an ECC memory as a trace memory and provides a counter as a trace code generating means, thereby realizing a firmware program debugging mechanism with a small amount of hardware and a simple control mechanism.

また本発明は、ファームウェア・プログラムにトレース
制御のための余分な命令ステップを付加する必要がなく
、シかもファームウェア・プログラムの実行時間がトレ
ース動作によって遅延されない利点をもつ。
Further, the present invention has the advantage that there is no need to add an extra instruction step for trace control to the firmware program, and the execution time of the firmware program is not delayed by the trace operation.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の原理的構成図、第2図は本発明の1実
施例装置の構成図、第3図は第2図におけるトレース制
御回路の細部構成図、第4図は従来装置の構成図である
。 第1図中。 1ニブログラム・、メモリ 2 : ECCメモリ 3ニドレ一ス制御回路 4:Ecc回路 5:プロセノサ 6=カウンク
FIG. 1 is a diagram showing the basic configuration of the present invention, FIG. 2 is a diagram showing the configuration of one embodiment of the device of the present invention, FIG. 3 is a detailed configuration diagram of the trace control circuit in FIG. 2, and FIG. 4 is a diagram of the conventional device. FIG. In Figure 1. 1 Niprogram, Memory 2: ECC memory 3 Nidress control circuit 4: Ecc circuit 5: Processor 6 = Count

Claims (1)

【特許請求の範囲】 プログラム・メモリ(1)とECCメモリ(2)とをそ
なえてファームウェア・プログラムをECC付きで内蔵
し動作させる装置において、 ECCメモリ(2)に結合され、ファームウェア・プロ
グラムの命令ステップの実行順序を示すトレース情報を
収集する制御を行うトレース制御回路(3)と、 ファームウェア・プログラムの命令ステップの実行順序
を識別するトレース・コードを生成するカウンタ(6)
とを設け、 ファームウェア・プログラムをデバッグする際、外部か
らECCメモリ(2)のトレースを開始すべきアドレス
にトレース開始を表すトレース・コードを設定し、 トレース制御回路(3)は、ECCメモリ(2)から読
み出されるトレース・コードを監視して、上記トレース
開始を表すトレース・コードが検出されたとき、カウン
タ(6)を起動して、プログラム・メモリ(1)がアク
セスされるごとに逐次更新される順序番号のトレース・
コードを発生させ、上記発生されたトレース・コードを
、上記アクセスされたプログラム・メモリ(1)のアド
レスに対応するECCメモリ(2)のアドレスに書き込
み、ファームウェア・プログラムの命令ステップの実行
順序を表すトレース情報を作成することを特徴とするフ
ァームウェア・プログラムのデバッグ方式。
[Claims] A device comprising a program memory (1) and an ECC memory (2) and incorporating and operating a firmware program with ECC, wherein the device is coupled to the ECC memory (2) and carries out instructions of the firmware program. A trace control circuit (3) that performs control to collect trace information indicating the order of execution of steps, and a counter (6) that generates a trace code that identifies the order of execution of instruction steps of the firmware program.
When debugging a firmware program, a trace code indicating the start of tracing is set at the address where tracing of the ECC memory (2) should be started from the outside, and the trace control circuit (3) ), and when the trace code indicating the start of tracing is detected, a counter (6) is activated and is updated sequentially each time the program memory (1) is accessed. Trace sequence number
write the generated trace code to the address of the ECC memory (2) corresponding to the accessed address of the program memory (1), representing the execution order of the instruction steps of the firmware program; A firmware program debugging method characterized by creating trace information.
JP62325012A 1987-12-22 1987-12-22 Debugging system for firmware program Pending JPH01166144A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62325012A JPH01166144A (en) 1987-12-22 1987-12-22 Debugging system for firmware program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62325012A JPH01166144A (en) 1987-12-22 1987-12-22 Debugging system for firmware program

Publications (1)

Publication Number Publication Date
JPH01166144A true JPH01166144A (en) 1989-06-30

Family

ID=18172152

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62325012A Pending JPH01166144A (en) 1987-12-22 1987-12-22 Debugging system for firmware program

Country Status (1)

Country Link
JP (1) JPH01166144A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219828B1 (en) * 1998-09-30 2001-04-17 International Business Machines Corporation Method for using two copies of open firmware for self debug capability

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219828B1 (en) * 1998-09-30 2001-04-17 International Business Machines Corporation Method for using two copies of open firmware for self debug capability

Similar Documents

Publication Publication Date Title
US3800294A (en) System for improving the reliability of systems using dirty memories
US3673573A (en) Computer with program tracing facility
JPH01166144A (en) Debugging system for firmware program
JP2600376B2 (en) Memory controller
JPS60214043A (en) Pipeline control circuit
JPS5917468B2 (en) Program counter trajectory storage device
JPS6142301B2 (en)
JPH01166143A (en) Debugging system for firmware program
JPS6010368A (en) Address conversion buffer control system
JPS60238933A (en) Error processing system of control storage device
JPS5936853A (en) Operation processor
JPH0324640A (en) Debugging system for information processor
JPS59125453A (en) Retrying system
JPS60114937A (en) Microprogram processing unit
JPS59218555A (en) Microprogram control device
JPS6261974B2 (en)
JPS6286441A (en) Data trace system
JPH1027153A (en) Bus transfer device
JPS5968067A (en) Specifying system for number of run steps
JPS6014335A (en) Information processor
JPH0470655B2 (en)
JPS6236578B2 (en)
JPH04109335A (en) Control program correcting system
JPS62290944A (en) Evaluation system for microprogram
JPH06175883A (en) Program debugger