JPH01166143A - ファームウェア・プログラムのデバッグ方式 - Google Patents

ファームウェア・プログラムのデバッグ方式

Info

Publication number
JPH01166143A
JPH01166143A JP62325011A JP32501187A JPH01166143A JP H01166143 A JPH01166143 A JP H01166143A JP 62325011 A JP62325011 A JP 62325011A JP 32501187 A JP32501187 A JP 32501187A JP H01166143 A JPH01166143 A JP H01166143A
Authority
JP
Japan
Prior art keywords
trace
memory
ecc
program
firmware program
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
JP62325011A
Other languages
English (en)
Inventor
Satoshi Nojima
聡 野島
Hidekazu Tsutsui
英一 筒井
Kazuo Sakakawa
坂川 和男
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 JP62325011A priority Critical patent/JPH01166143A/ja
Publication of JPH01166143A publication Critical patent/JPH01166143A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概 要〕 本発明は、装置に内蔵されているファームウェア・プロ
グラムのデバッグ方式に関し。
僅かなハードウェア量の増加で、ファームウェアのトレ
ースが可能なデバッグ機構を装置内に設けることを目的
とし。
プログラム・メモリとECCメモリとを用いてファーム
ウェアをECC付きで内蔵し動作する装置において、E
CCメモリに結合され、ファームウェアの命令ステップ
の実行順序を示すトレース情報を収集する制御を行うト
レース制御回路と。
トレース情報を記録するトレース・メモリとを設け、フ
ァームウェアのデバッグの際、トレー冬情報を収集する
命令ステップに対応するアドレスのECCメモリに、ト
レース動作の指示とファームウェア内における命令ステ
ップの順序とを示すトレース・コードを予め設定し、ト
レース制御回路は、ECCメモリから上記トレース・コ
ードが読み出されるごとにそのトレース・コードをトレ
ース・メモリに順次記録する構成をもつ。
〔産業上の利用分野〕
本発明は、装置に内蔵されているファームウェア・プロ
グラムのデバッグ方式に関する。
LSI技術の進展により、目的とする各種の装置を実現
する場合、その装置専用に、ゲートアレイLSIを用い
て、最適のプロセッサを実現し。
ファームウェア・プログラムを内蔵させて所望の制御を
行うようにしたものが増加している。
現在、市場に各種のプロセッサ・アナライザが出回って
いる。しかし、これらはいずれも上述したような専用L
SIに内蔵されているファームウェア・プログラムのデ
バッグに使用するのは不適当なものである。そのため、
なんらかのデバッグ機構を、装置自身の内部に予め実現
して置く必要が生じている。
本発明は、このようなファームウェア・プログラムのデ
バッグ機構の1つの方式を提供するものである。
〔従来の技術〕
第4図は、ファームウェア・プログラムを内蔵する従来
の装置の構成図である。
図において、11はファームウェア・プログラムを格納
するプログラム・メモリ、12はプログラム・メモリ1
1と同じアドレス構成をもち、プログラム・メモリ11
の対応するアドレスの命令について生成されたECCデ
ータが格納されるECCメモリ、13はプログラム・メ
モリ11から読み出された命令とECCメモ1月2から
読み出されたECCデータとに基づいてエラーチエツク
およびエラー修正を行うECC回路、14はECC回路
13により正当性を保証された命令を実行するプロセッ
サである。
このようなLSI化された装置に内蔵されたファームウ
ェア・プログラムのためのデバッグ機構に要求される条
件としては、以下の項目■、■。
■に示されるようなものが不可欠である。
■ 装置全体のハードウェア量に対して、充分無視しう
る物量で実現がされること。
■ ファームウェア・プログラムのデバッグは。
往々にしてタイミング関係を保存して行う必要があり、
デバッグ機構としては、ファームウェア・プログラムの
走行ステップに対して、何等影響の無いものが望ましい
■ 機能的には、各種のものが考えられるが、最低限、
ファームウェア・プログラムの走行ステップ順序がトレ
ースできる事が必要である。
このような要求に応えるための従来技術としては2次に
挙げるものが良く使用されている。
(11ブランチ・トレース(branch trace
)ファームウェア・プログラムのbranch文の発生
したアドレスを順次、トレース・メモリに格納していく
(2)  ブレーク・ポイント(break poin
t)なんらかの手段により、ファームウェア・プログラ
ムのステップの成るアドレスにおいて。
ファームウェア・プログラムの走行を停止する。
(3)  アドレス比較(adress compar
e)による停止。
トレース ファームウェア・プログラムが格納されているメモリの
アドレスに対し、ハードウェアで実現した比較回路と比
較アドレスの保持メモリを用意する事により、保持メモ
リのアドレスのアクセスが発生した時点で、走行の停止
、あるいはトレースを実行する。
(4)  プログラム・ステップに、予め、ある一定の
トレース実行ルーチンを数個所作りこんでおく。
このようにプログラム自身によって、自プログラムの走
行ステップを記録する機能を埋め込む事によって、走行
順序の記録を実行するものである。
(発明が解決しようとする問題点〕 前述した従来技術の(1)ないしく4)において、(1
)は不要なトレースを発生することが不可避であり。
(2)はファームウェア・プログラムの走行が停止する
という問題があった。また(3)はハードウェア量の増
加があるとともに、そのハードウェア量の制限により、
指定アドレス・ポイント数または通常1または2程度に
制限され、そして(4)はプログラム自身に対し無効ス
テップであるトレース用の処理が必要となるとともに、
プログラム作成時に設定したポイントしかトレースがで
きないという問題があった。
本発明は、僅かなハードウェア量の増加で、ファームウ
ェア・プログラムのトレースが可能なデバッグ機構を、
装置内に設けることを目的とする。
具体的には、以下の諸条件にしたがったデバッグ機構を
実現する。
a、必要なトレース個所が指定でき5かつダイナミック
に変更が可能なこと。
b、その指定はハードウェアの物量を増加させずに充分
な個所の指定が可能なこと。
C1増加するハードウェア量はトレース用のメモリとそ
のアクセス回路程度であること。
C問題点を解決するための手段〕 従来の装置のプロセッサでは、ファームウェア・プログ
ラムを、エラ一対策のためにエラー検出やエラー修正が
可能なECC付きでメモリに格納している。そしてこの
メモリには、高速化を図るため、−最にRAMを用いて
いる。
本発明は、このファームウェア・プログラムのエラ一対
策に用いられているECCデータが、デバッグ時には実
際上不要であることと、プログラム・メモリおよびEC
Cメモリの各対応するアドレスの領域は同期して同時に
読み出されることとに着目し、ECCが格納されている
メモリの領域を、デバッグ時にファームウェア・プログ
ラムのトレース制御領域として使用するものである。
第1図に本発明の原理的構成を示す。
第1図のfa)は装置の通常動作状態における構成を示
し、第1図の(blは装置のファームウェア・プログラ
ムのデバッグ動作状態における構成を示す。
第1図の(a)、(1))において。
■はファームウェア・プログラムを格納するプログラム
・メモリである。
2はプログラム・メモリlと同じアドレス構成のECC
メモリであり1通常動作時には、プログラム・メモリl
の各対応するアドレスにある命令のECCコードが格納
され、そしてファームウェア・プログラムのデバッグ動
作時には、予め、トレース・コードが設定される。トレ
ース・コードは、トレース動作を制御するとともに、フ
ァームウェア・プログラムのステップあるいはルートを
識別可能にするために使用される。
3はトレース制御回路であり、ファームウェア・プログ
ラムのデバッグ動作時に、ECCメモリ2からトレース
・コードが読み出されたとき、トレース情報として記録
する制御機能をもつ。
4は、トレース制御回路3によりトレース記録されるト
レース・メモリである。
〔作 用〕
第1図(81に示す装置の通常動作状態においては。
ECCメモリ2にプログラム・メモリ1の各命令対応の
ECCコードが書き込まれている。ファームウェア・プ
ログラムの実行につれてプログラム・メモリ1の1つの
アドレスの命令とECCメモリ2の対応するアドレスの
ECCコードとが同時に読み出され1図示省略されてい
るECC回路でECCチエ’7りを行って正当性を保証
した後、プロセッサへ転送され、命令の実行が行われる
。この動作状態ではトレース制御回路3は機能せず。
トレース情報は収集されない。
第1図(b)に示すファームウェア・プログラムのデバ
ッグ動作状態では、ECCメモリ2はトレース・コード
の設定用に使用される。このときECCチエツク動作は
停止され、プログラム・メモリlから読み出された命令
は、ECCチエ’)りによる正当性の保証なしに実行さ
れる。
ECCメモリ2に対するトレース・コードψ設定は任意
であり、デバッグの始めに、ファームウェア・プログラ
ムの実行ステップ順序が容易に解析できるような、プロ
グラム中の適当なポイントのステップの命令に対して設
定される。
ファームウェア・プログラムのデバッグ動作状態では、
トレース制御回路3が機能化されており。
ファームウェア・プログラム実行中にECCメモリ2か
らトレース・コードが読み出されるごとにトレース・コ
ードの存意性を識別し、有意の場合。
それをトレース・メモリ4に書き込むトレース制御を行
う。
このようにして、ファームウェア・プログラム中のトレ
ース・コードが設定されている命令ステップが実行され
るたびに、そのトレース・コードがトレース・メモリ4
に逐次記録され、トレースが作成できる。
〔実施例〕
第2図に1本発明の1実施例構成を示す。
図において、1はプログラム・メモリ、2はECCメモ
リ、3はトレース制御回路、4はトレース・メモリ、5
はプロセッサ、6はコンソール。
7はメモリ書込み回路、8はECCチエツクおよび修正
を行うECC回路、9はデバッグ動作時にECC回路8
の動作を禁止するECC禁止回路である。
図において、プログラム・メモリ1およびECCメモリ
2は、RAMで構成されている。プログラム・メモリ1
のデータ幅(命令長)は2バイトであり1通常動作時に
は、その1ビツトエラー修正および2ビツトエラー検出
可能な6ビントのECCデータがECCメモリ2に格納
される。他方。
デバッグ動作時には、ECCデータの代わりにトレース
・コードがECCメモリ2に格納される。
ECCメモリ2へのトレース・コードの設定は。
コンソール6から与えられる指示で、プロセッサ5およ
びメモリ書込み回路7により行われる。
トレース・コードは6ビツトで構成され、たとえば第3
図に示すように、 hex ’00’の値のときはトレ
ース不要とし、それ以外の値hex“01゛〜heに°
3f゛のときはトレースを指示するものとする。これら
のトレース指示値には、たとえばプログラムフローのル
ート番号を使用することができる。
プログラム・メモリ1およびECCメモリ2の各対応す
るアドレスの領域は、プロセッサ5から与えられるアド
レスによって同時にアクセスされる。
ECC回路8は3通常動作時にプログラム・メモリ1か
ら読み出された命令データとECCメモU 2から読み
出されたECCデータとに基づいて。
エラーチエツクおよび修正を行い、結果のデータをプロ
セッサ5へ転送するが、デバッグ動作時にはECC禁止
回路9により動作を禁止される。また、デバッグ動作時
にECCメモリ2から読み出されたトレース・コードは
、トレース制御回路3へ転送される。
トレース制御回路3は、入力されたトレース・コードを
認識し、 hex ’00’以外の値の場合は、その値
をトレース・メモリ4に記録する。このトレース制御回
路3は、トレース・メモリ4の逐次のアドレス更新を制
御し、またトレース情報がトレース・メモリの容量を超
えたときは、最新の一定量のトレース情報が常に保持さ
れるようにトレース・メモリ4を循環更新するように制
御する。
トレース・コードのトレース指示値にフローのルート番
号を用いた場合、トレース・メモリ4には、プログラム
の実行ステップにしたがった一連のルート番号が記録さ
れるので、プログラムの命令ステップの実行順序を容易
に把握することができる。
また、ECCメモリ2をRAMで構成しているため、ト
レース・コードの指示値を動的に変換することができ、
状況に応じて柔軟にデバッグを進めることができる。
〔発明の効果〕
本発明によれば、予めトレース・コードを定義してEC
Cメモリに設定しておくことにより、ファームウェア・
プログラムの命令ステップの実行順序について容易にト
レース情報を得ること沙(でき、しかも既存のECCメ
モリを利用しているため、ハードウェアの増加を僅かな
量に抑えることができ、またプログラムに余分なステッ
プを設けたり実行遅延を生じさせない利点をもつ。
【図面の簡単な説明】
第1図fal、 (b)は1本発明の原理的構成図、第
2図は本発明の1実施例の構成図、第3図はトレース・
コードの説明図、第4図はファームウェア・プログラム
を内蔵する従来の装置の構成図である。 第1図中。 lニブログラム・メモリ 2 : ECCメモリ 3ニドレ一ス制御回路 4ニドレース・メモリ

Claims (1)

  1. 【特許請求の範囲】 プログラム・メモリ(1)とECCメモリ(2)とを用
    いてファームウェア・プログラムをECC付きで内蔵し
    動作させる装置において、 ECCメモリ(2)に結合され、ファームウェア・プロ
    グラムの命令ステップの実行順序を示すトレース情報を
    収集する制御を行うトレース制御回路(3)と、 トレース情報を記録するトレース・メモリ(4)とを設
    け、 ファームウェア・プログラムのデバッグの際、トレース
    情報を収集する命令ステップに対応するアドレスのEC
    Cメモリ(2)に、トレース動作の指示とファームウェ
    ア・プログラム内における命令ステップの順序とを示す
    トレース・コードを予め設定し、 トレース制御回路(3)は、ECCメモリ(2)から上
    記トレース・コードが読み出されるごとにそのトレース
    ・コードをトレース・メモリ(4)に順次記録すること
    を特徴とするファームウェア・プログラムのデバッグ方
    式。
JP62325011A 1987-12-22 1987-12-22 ファームウェア・プログラムのデバッグ方式 Pending JPH01166143A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62325011A JPH01166143A (ja) 1987-12-22 1987-12-22 ファームウェア・プログラムのデバッグ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62325011A JPH01166143A (ja) 1987-12-22 1987-12-22 ファームウェア・プログラムのデバッグ方式

Publications (1)

Publication Number Publication Date
JPH01166143A true JPH01166143A (ja) 1989-06-30

Family

ID=18172140

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62325011A Pending JPH01166143A (ja) 1987-12-22 1987-12-22 ファームウェア・プログラムのデバッグ方式

Country Status (1)

Country Link
JP (1) JPH01166143A (ja)

Cited By (2)

* 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
CN111949321A (zh) * 2020-08-21 2020-11-17 群联电子股份有限公司 固件码执行方法、存储器存储装置及存储器控制电路单元

Cited By (2)

* 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
CN111949321A (zh) * 2020-08-21 2020-11-17 群联电子股份有限公司 固件码执行方法、存储器存储装置及存储器控制电路单元

Similar Documents

Publication Publication Date Title
JPH01166143A (ja) ファームウェア・プログラムのデバッグ方式
JP3432734B2 (ja) Dma制御装置及びdma制御方法
JPS60159951A (ja) 情報処理装置におけるトレ−ス方式
JPH0581087A (ja) プロセサのモニタ方式
JPH01166144A (ja) ファームウェア・プログラムのデバッグ方式
JPH05165680A (ja) メモリ操作トレ−ス装置
JPH0326416B2 (ja)
JPS59197946A (ja) メモリ装置
JPS5968067A (ja) 走行ステツプ数指定処理方式
JPS58103047A (ja) 命令トレ−ス装置
KR890008681A (ko) 프로세서 제어 장치
JPS6148186B2 (ja)
JPH05216718A (ja) デバッグ方法
JPS5816212B2 (ja) エラ−リトライ制御方式
JPH05197596A (ja) トレーサ
JPS5917468B2 (ja) プログラムカウンタ軌跡記憶装置
JPS6211746B2 (ja)
JPH01130237A (ja) 情報処理装置
JPH1027153A (ja) バス転送装置
JPS59188758A (ja) プログラムル−トトレ−ス方式
JPS6341950A (ja) 分岐命令実行測定制御方式
JPS58186853A (ja) 初期診断方式
JPS60124750A (ja) デ−タ処理方式
JPS6356752A (ja) メモリアドレス・トレ−ス方式
JPH0250740A (ja) アドレストレーサ