JPH02287735A - ファームウェア診断装置 - Google Patents
ファームウェア診断装置Info
- Publication number
- JPH02287735A JPH02287735A JP1109906A JP10990689A JPH02287735A JP H02287735 A JPH02287735 A JP H02287735A JP 1109906 A JP1109906 A JP 1109906A JP 10990689 A JP10990689 A JP 10990689A JP H02287735 A JPH02287735 A JP H02287735A
- Authority
- JP
- Japan
- Prior art keywords
- address
- firmware
- counter
- running
- memories
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はファームウェアの診断に利用するに適する。本
発明は制御装置に使用されるファームウェア診@装置に
関する。
発明は制御装置に使用されるファームウェア診@装置に
関する。
本発明は制御装置に使用されるファームウェアの診断を
行うファームウェア診断装置において、二つのメモリに
交互にプログラムカウンタの内容を記憶させておき、動
作終了時にディスイネーブルになっている側のメモリお
よびアドレスカウンタの内容をみることにより、 チエツクポイントのアドレスに至るまでの経路を知り、
わずかな記憶領域の使用でファームウェアの走行経路を
診断できるようにしたものである。
行うファームウェア診断装置において、二つのメモリに
交互にプログラムカウンタの内容を記憶させておき、動
作終了時にディスイネーブルになっている側のメモリお
よびアドレスカウンタの内容をみることにより、 チエツクポイントのアドレスに至るまでの経路を知り、
わずかな記憶領域の使用でファームウェアの走行経路を
診断できるようにしたものである。
従来のファームウェアのデパック機能は任意のアドレス
でプログラムでストップさせるものか、あるいは1ステ
ツプごとに命令を実行させるような簡単なものが多く、
ソフトウェアのデパックで用いられる追跡プログラムあ
るいは診断プログラムと同様の機能を得るには大規模な
ファームウェアデパック用の開発支援システムが必要で
ある。
でプログラムでストップさせるものか、あるいは1ステ
ツプごとに命令を実行させるような簡単なものが多く、
ソフトウェアのデパックで用いられる追跡プログラムあ
るいは診断プログラムと同様の機能を得るには大規模な
ファームウェアデパック用の開発支援システムが必要で
ある。
上述した従来のファームウェアのデパック機能はきわめ
て簡単なものであるために、ファームウェアの走行経路
を診断することができない欠点がある。例えば、制御装
置の外部よりある事象Rが発生し、制御装置のファーム
ウェアがルーチンSヘジャンプしてからルーチンTへ行
くものとすると、事象Rが発生した時期によりルーチン
Sヘジャンプする経路が複数あり、またルーチンSは事
象Rが発生するまでに複数回通過するような場合にはル
ーチンTヘジャンプしたときどのルーチンからルーチン
Sヘジャンプしたのかを知ること、すなわち最後にルー
チンSにジャンプしたアドレスを知ることは困難であっ
た。
て簡単なものであるために、ファームウェアの走行経路
を診断することができない欠点がある。例えば、制御装
置の外部よりある事象Rが発生し、制御装置のファーム
ウェアがルーチンSヘジャンプしてからルーチンTへ行
くものとすると、事象Rが発生した時期によりルーチン
Sヘジャンプする経路が複数あり、またルーチンSは事
象Rが発生するまでに複数回通過するような場合にはル
ーチンTヘジャンプしたときどのルーチンからルーチン
Sヘジャンプしたのかを知ること、すなわち最後にルー
チンSにジャンプしたアドレスを知ることは困難であっ
た。
本発明はこのような欠点を除去するもので、ファームウ
ェアの走行経路を診断することができる装置を提供する
ことを目的とする。
ェアの走行経路を診断することができる装置を提供する
ことを目的とする。
本発明は、制御装置に接続されて使用されその制御装置
を含むファームウェアの診断を行うファームウェア診断
装置において、ファームウェアの走行アドレスをカウン
トするプログラムカウンタと、前記ファームウェアの設
定されたアドレスを格納するアドレスレジスタと、前記
ファームウェアの走行アドレスをデータとして記憶する
二つのメモリと、分岐命令によるファームウェアの走行
アドレスが不連続となるマイクロ命令を検出するデコー
ダと、ファームウェアの走行アドレスが前記アドレスレ
ジスタに格納されたアドレスを通過するごとに前記二つ
のメモリのうち一つを交互に選択する選択手段と、前記
デコーダが前記マイクロ命令を検出するごとに前記選択
手段により選択されるメモリに現在のファームウェア走
行アドレスをデータとして記憶させ、そのメモリの記憶
領域がなくなったときには再び先頭記憶領域から記憶さ
せる記憶制御手段とを備えたことを特徴とする。
を含むファームウェアの診断を行うファームウェア診断
装置において、ファームウェアの走行アドレスをカウン
トするプログラムカウンタと、前記ファームウェアの設
定されたアドレスを格納するアドレスレジスタと、前記
ファームウェアの走行アドレスをデータとして記憶する
二つのメモリと、分岐命令によるファームウェアの走行
アドレスが不連続となるマイクロ命令を検出するデコー
ダと、ファームウェアの走行アドレスが前記アドレスレ
ジスタに格納されたアドレスを通過するごとに前記二つ
のメモリのうち一つを交互に選択する選択手段と、前記
デコーダが前記マイクロ命令を検出するごとに前記選択
手段により選択されるメモリに現在のファームウェア走
行アドレスをデータとして記憶させ、そのメモリの記憶
領域がなくなったときには再び先頭記憶領域から記憶さ
せる記憶制御手段とを備えたことを特徴とする。
診断回路のアドレスレジスタにチエツクしたいアドレス
ポイントとして任意の値をセットしておき、制御装置の
ファームウェアを走行させると、ファームウェアのマイ
クロ命令が分岐命令のときアドレスカウンタによりファ
ームウェアの走行アドレスがメモリに格納される。ファ
ームウェアがアドレスレジスタの示すアドレスを通過し
、プログラムカウンタの値とアドレスレジスタの値とが
一致したときに、比較回路が出力する信号の値を反転し
、イネーブルとなるアドレスカウンタが切り換わり、メ
モリが切り換わって走行アドレスの格納が継続される。
ポイントとして任意の値をセットしておき、制御装置の
ファームウェアを走行させると、ファームウェアのマイ
クロ命令が分岐命令のときアドレスカウンタによりファ
ームウェアの走行アドレスがメモリに格納される。ファ
ームウェアがアドレスレジスタの示すアドレスを通過し
、プログラムカウンタの値とアドレスレジスタの値とが
一致したときに、比較回路が出力する信号の値を反転し
、イネーブルとなるアドレスカウンタが切り換わり、メ
モリが切り換わって走行アドレスの格納が継続される。
これにより、動作終了時ディスイネーブルになっている
側のメモリおよびアドレスカウンタの内容をみることに
よりチエツクポイントのアドレスに至るまでの経路を知
ることができ、ファームウェアの走行経路を診断するこ
とができる。
側のメモリおよびアドレスカウンタの内容をみることに
よりチエツクポイントのアドレスに至るまでの経路を知
ることができ、ファームウェアの走行経路を診断するこ
とができる。
次に、本発明実施例を図面に基づいて説明する。
第1図は本発明実施例の構成を示すブロック図である。
本発明実施例は、制御装置1に接続されて使用され、そ
の制御装置1を含むファームウェアの診断を行うファー
ムウェア診断装置に、ファームウェアの走行アドレスを
カウントするプログラムカウンタ10と、ファームウェ
アの設定されたアドレスを格納するアドレスレジスタ2
0と、ファームウェアの走行アドレスをデータとして記
憶する二つのメモリ50.51と、分岐命令によるファ
ームウェアの走行アドレスが不連続となるマイクロ命令
を検出するデコーダ80と、ファームウェアの走行アド
レスがアドレスレジスタ20に格納されたアドレスを通
過するごとに二つのメモリ50.51のうち一つを交互
に選択する選択手段を構成する比較回路30、アンドゲ
ート70.71、インバータ60と、デコーダ80がマ
イクロ命令を検出するごとに前記選択手段により選択さ
れるメモリに現在のファームウェア走行アドレスをデー
タとして記憶させ、そのメモリの記憶領域がなくなった
ときには再び先頭記憶領域から記憶させる記憶制御手段
4o、41を構成するアドレスカウンタ40.41とを
備える。
の制御装置1を含むファームウェアの診断を行うファー
ムウェア診断装置に、ファームウェアの走行アドレスを
カウントするプログラムカウンタ10と、ファームウェ
アの設定されたアドレスを格納するアドレスレジスタ2
0と、ファームウェアの走行アドレスをデータとして記
憶する二つのメモリ50.51と、分岐命令によるファ
ームウェアの走行アドレスが不連続となるマイクロ命令
を検出するデコーダ80と、ファームウェアの走行アド
レスがアドレスレジスタ20に格納されたアドレスを通
過するごとに二つのメモリ50.51のうち一つを交互
に選択する選択手段を構成する比較回路30、アンドゲ
ート70.71、インバータ60と、デコーダ80がマ
イクロ命令を検出するごとに前記選択手段により選択さ
れるメモリに現在のファームウェア走行アドレスをデー
タとして記憶させ、そのメモリの記憶領域がなくなった
ときには再び先頭記憶領域から記憶させる記憶制御手段
4o、41を構成するアドレスカウンタ40.41とを
備える。
具体的には、例えば16ビツトのプログラムカウンタ1
0およびインストラクションレジスタ9oを備え、プロ
グラムカウンタ10の出力信号線aおよびインストラク
ションレジスタ9oの出力信号線Jを介して制御装置1
のファームウェアを診断する診断回路2に接続される。
0およびインストラクションレジスタ9oを備え、プロ
グラムカウンタ10の出力信号線aおよびインストラク
ションレジスタ9oの出力信号線Jを介して制御装置1
のファームウェアを診断する診断回路2に接続される。
この診断回路2には、例えば16ビツトの出力信号線す
をもち外部より任意に値を設定できるアドレスレジスタ
20と、信号線aおよびbの値が一致するごとに論理を
反転して信号線Cに出力する比較回路30と、この比較
回路30の出力信号を反転するインバータ60と、信号
線Jより入力されたマイクロ命令をデコードし分岐命令
を検出してイネーブル信号kを出力するデコーダ80と
、信号線Cと信号線にの論理積を行うアンドゲート70
と、信号線dと信号線にの論理積を行うアンドゲート7
1と、アンドゲート70の出力信号gおよびアンドゲー
ト71の出力信号りをそれぞれカウント信号として人力
する例えば8ビツトのアドレスカウンタ40および41
と、それぞれ信号線aを人力データとし、アドレスカウ
ンタ40の出力信号線eおよびアドレスカウンタ41の
出力信号線fをそれぞれ入力アドレスとする256ワー
ドの記憶領域をもつメモIJ(RA M) 50および
51により構成される。
をもち外部より任意に値を設定できるアドレスレジスタ
20と、信号線aおよびbの値が一致するごとに論理を
反転して信号線Cに出力する比較回路30と、この比較
回路30の出力信号を反転するインバータ60と、信号
線Jより入力されたマイクロ命令をデコードし分岐命令
を検出してイネーブル信号kを出力するデコーダ80と
、信号線Cと信号線にの論理積を行うアンドゲート70
と、信号線dと信号線にの論理積を行うアンドゲート7
1と、アンドゲート70の出力信号gおよびアンドゲー
ト71の出力信号りをそれぞれカウント信号として人力
する例えば8ビツトのアドレスカウンタ40および41
と、それぞれ信号線aを人力データとし、アドレスカウ
ンタ40の出力信号線eおよびアドレスカウンタ41の
出力信号線fをそれぞれ入力アドレスとする256ワー
ドの記憶領域をもつメモIJ(RA M) 50および
51により構成される。
アドレスカウンタ40および41は値255を越えたと
きには値0に戻ってカウントされる。
きには値0に戻ってカウントされる。
次に、このように構成された本実施例のファームウェア
診断装置の動作について説明する。
診断装置の動作について説明する。
まず、アドレスレジスタ20にチエツクしたいアドレス
ポイントとして任意の値を設定しておき制御装置1のフ
ァームウェアを走行させる。ファームウェアのマイクロ
命令が分岐命令のとき信号線にと信号線c1あるいはd
によってカウントになるいずれかのアドレスカウンタ4
0または41により信号線aを通じてファームウェアの
走行アドレスがメモリ50または51のいずれかに格納
される。
ポイントとして任意の値を設定しておき制御装置1のフ
ァームウェアを走行させる。ファームウェアのマイクロ
命令が分岐命令のとき信号線にと信号線c1あるいはd
によってカウントになるいずれかのアドレスカウンタ4
0または41により信号線aを通じてファームウェアの
走行アドレスがメモリ50または51のいずれかに格納
される。
ファームウェアがアドレスレジスタ20の示すアドレス
を通過したとき、すなわちプログラムカウンタ10の値
とアドレスレジスタ20の値とが一致したときに比較回
路30により信号線Cの値が反転し、それにより、イネ
ーブルとなるアドレスカウンタ40または41は切り換
わり、走行アドレスを格納するメモリ50または51が
切り換わって同様に格納を継続する。
を通過したとき、すなわちプログラムカウンタ10の値
とアドレスレジスタ20の値とが一致したときに比較回
路30により信号線Cの値が反転し、それにより、イネ
ーブルとなるアドレスカウンタ40または41は切り換
わり、走行アドレスを格納するメモリ50または51が
切り換わって同様に格納を継続する。
動作終了時、ディスイネーブルになっている側のメモリ
およびアドレスカウンタの内容をみることにより、チエ
ツクポイントのアドレスに至るまでの256ステツプの
経路を知ることができる。
およびアドレスカウンタの内容をみることにより、チエ
ツクポイントのアドレスに至るまでの256ステツプの
経路を知ることができる。
第2図は本発明実施例の制御装置1におけるファームウ
ェアの流れの一例を示す図である。A〜Gはファームウ
ェアの各ルーチンを示している。
ェアの流れの一例を示す図である。A〜Gはファームウ
ェアの各ルーチンを示している。
ファームウェアは通常A−B→C→D→E→F→Aのル
ーチンを繰返すループをなしているものとする。制御装
置1の外部より事象Hが起こったときにファームウェア
が処理しているルーチンによりルーチンFヘジャンプし
、ルーチンGへ行くものとする。
ーチンを繰返すループをなしているものとする。制御装
置1の外部より事象Hが起こったときにファームウェア
が処理しているルーチンによりルーチンFヘジャンプし
、ルーチンGへ行くものとする。
例えば、ルーチンGにおいて制御装置1の内部フラグの
゛異常が検出されたときに、どこに原因があるのかを知
るためにはルーチンFに至った経路を知ることが有効で
ある。この場合、ルーチンFの先頭アドレスをアドレス
レジスタ20にセントしてファームウェアを実行させ、
適当なタイミングで事象Hを発生させる実験を行えばフ
ラグ異常はどのルーチンからジャンプしたときに発生し
たのかを知ることができる。
゛異常が検出されたときに、どこに原因があるのかを知
るためにはルーチンFに至った経路を知ることが有効で
ある。この場合、ルーチンFの先頭アドレスをアドレス
レジスタ20にセントしてファームウェアを実行させ、
適当なタイミングで事象Hを発生させる実験を行えばフ
ラグ異常はどのルーチンからジャンプしたときに発生し
たのかを知ることができる。
以上説明したように本発明によれば、診断回路を用いる
ことにより、わずかな記憶領域の使用でファームウェア
の走行経路を診断することができる効果がある。
ことにより、わずかな記憶領域の使用でファームウェア
の走行経路を診断することができる効果がある。
第1図は本発明実施例の構成を示すブロック図。
第2図は本発明実施例のファームウェアの流れを示す図
。 1・・・制御装置、2・・・診断回路、10・・・プロ
グラムカウンタ、20・・・アドレスレジスタ、30・
・・比較回路、40.41・・・アドレスカウンタ、5
0.51・・・メモリ、60・・・インバータ、70.
71・・・アンドゲート、80・・・デコーダ、90・
・・インストラクションレジスタ、A−G・・・ファー
ムウェアのルーチン。
。 1・・・制御装置、2・・・診断回路、10・・・プロ
グラムカウンタ、20・・・アドレスレジスタ、30・
・・比較回路、40.41・・・アドレスカウンタ、5
0.51・・・メモリ、60・・・インバータ、70.
71・・・アンドゲート、80・・・デコーダ、90・
・・インストラクションレジスタ、A−G・・・ファー
ムウェアのルーチン。
Claims (1)
- 【特許請求の範囲】 1、制御装置に接続されて使用されその制御装置を含む
ファームウェアの診断を行うファームウェア診断装置に
おいて、 ファームウェアの走行アドレスをカウントするプログラ
ムカウンタと、 前記ファームウェアの設定されたアドレスを格納するア
ドレスレジスタと、 前記ファームウェアの走行アドレスをデータとして記憶
する二つのメモリと、 分岐命令によるファームウェアの走行アドレスが不連続
となるマイクロ命令を検出するデコーダと、 ファームウェアの走行アドレスが前記アドレスレジスタ
に格納されたアドレスを通過するごとに前記二つのメモ
リのうち一つを交互に選択する選択手段と、 前記デコーダが前記マイクロ命令を検出するごとに前記
選択手段により選択されるメモリに現在のファームウェ
ア走行アドレスをデータとして記憶させ、そのメモリの
記憶領域がなくなったときには再び先頭記憶領域から記
憶させる記憶制御手段と を備えたことを特徴とするファームウェア診断装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1109906A JPH02287735A (ja) | 1989-04-28 | 1989-04-28 | ファームウェア診断装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1109906A JPH02287735A (ja) | 1989-04-28 | 1989-04-28 | ファームウェア診断装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02287735A true JPH02287735A (ja) | 1990-11-27 |
Family
ID=14522152
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1109906A Pending JPH02287735A (ja) | 1989-04-28 | 1989-04-28 | ファームウェア診断装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02287735A (ja) |
-
1989
- 1989-04-28 JP JP1109906A patent/JPH02287735A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH031699B2 (ja) | ||
| JPS58197553A (ja) | プログラム監視装置 | |
| JPH02287735A (ja) | ファームウェア診断装置 | |
| JPS6270945A (ja) | フア−ムウエア診断装置 | |
| JPH0340039A (ja) | ファームウェア診断装置 | |
| JPH0566964A (ja) | フアームウエア診断装置 | |
| JPS6115239A (ja) | プロセツサ診断方式 | |
| JPS63285645A (ja) | フア−ムウエア診断装置 | |
| JPH0363835A (ja) | ファームウェア診断装置 | |
| JPS5953942A (ja) | マイクロプログラム制御方式 | |
| SU1462308A1 (ru) | Устройство переменного приоритета | |
| JPH0325536A (ja) | フアームウエア診断装置 | |
| JPS5878233A (ja) | マイクロプログラム制御装置 | |
| JP2793526B2 (ja) | スーパースカラープロセッサ | |
| JPS63103330A (ja) | アドレススタツク使用ミス検出方式 | |
| JPS57101954A (en) | Error information system of logical device | |
| JPS62143138A (ja) | マイクロプログラム制御装置 | |
| JPH04255037A (ja) | プログラム制御回路 | |
| JPH0447855B2 (ja) | ||
| JPH04264930A (ja) | マイクロプログラム制御回路 | |
| JPH04330533A (ja) | 中央処理装置 | |
| JPH03119436A (ja) | マイクロ命令アドレストレーサ | |
| JPS63116244A (ja) | 自己診断方式 | |
| JPS63226745A (ja) | プロセツサシステム | |
| JPH01283635A (ja) | バッファ制御回路 |