JP2000194580A - Cpu開発支援装置 - Google Patents

Cpu開発支援装置

Info

Publication number
JP2000194580A
JP2000194580A JP10367036A JP36703698A JP2000194580A JP 2000194580 A JP2000194580 A JP 2000194580A JP 10367036 A JP10367036 A JP 10367036A JP 36703698 A JP36703698 A JP 36703698A JP 2000194580 A JP2000194580 A JP 2000194580A
Authority
JP
Japan
Prior art keywords
data
cpu
logging
memory
evaluation chip
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
JP10367036A
Other languages
English (en)
Inventor
Katsuro Sekiya
克郎 関谷
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP10367036A priority Critical patent/JP2000194580A/ja
Publication of JP2000194580A publication Critical patent/JP2000194580A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【課題】 評価対象となるCPUが搭載される回路基板
のデバッグ作業をより容易に行うことができるCPU開
発支援装置を提供する 【解決手段】 エバチップ13は、評価対象マイコンに
搭載されたCPUの動作をエミュレートする場合に、内
部RAM13aに書込んだデータを外部にも出力し、ロ
ギングコントローラ23を介してデータロギング用メモ
リ22に時系列で書込む。また、データロギング用メモ
リ22にデータを書込む場合には、ロギングコントロー
ラ23のタイムスタンプデータ付加部23bにより書き
込み時点を示すタイムスタンプデータを付加する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、評価対象となるC
PUが搭載される回路基板上において、当該CPUの動
作をエミュレートするCPU開発支援装置に関する。
【0002】
【従来の技術】このような開発支援装置たるICE(In
Circuit Emulator) の従来構成例を図5に示す。ICE
は、その本体1内部に評価対象となるCPU,或いはマ
イクロコンピュータに内蔵されているCPU(ターゲッ
ト)の動作をエミュレートする評価用チップ(エバチッ
プ,何れも図示せず)を備えている。そして、ターゲッ
トのマイクロコンピュータ(マイコン)が搭載される回
路基板(ターゲットシステム)2には、ターゲットのマ
イコンの代わりにソケット3を配置しておき、そのソケ
ット3に本体1から延長されるポッド(プローブ)4を
接続することで評価用チップを回路基板2と電気的に接
続するようになっている。
【0003】また、ICEは、ホストマシンたるパソコ
ン(パーソナルコンピュータ)5に接続されるようにな
っている。そして、作業者は、回路基板2に電源を投入
して、パソコン5から評価用チップにプログラムをダウ
ンロードさせて1ステップ毎に実行させたり、プログラ
ムにブレークポイントを設定して実行途中のレジスタや
メモリの状態を確認しながら、プログラム或いは回路基
板2のデバッグができるようになっている。
【0004】
【発明が解決しようとする課題】従来のICEでは、作
業者は、プログラムを連続的に実行させた結果について
は、主に、プログラムに記述されたコマンドの実行順序
を記録するトレース機能を用いてデバッグを行ってい
た。ところが、マイクロコンピュータの能力は年々向上
し、それに伴って回路基板2により実現される機能もよ
り多様となることから、プログラムも規模が大きくなり
且つ複雑化する傾向にある。そのため、従来のようにト
レース機能にのみ頼ってデバッグを行うことが次第に困
難になって来ているという問題がある。
【0005】そこで、評価用チップがエミュレーション
動作している場合に内部RAMに書込んでいるデータを
必要に応じて参照し、そのデータをトレースされたコマ
ンドの実行順序と合わせて解析することで、デバッグを
より容易に行い得るようにしたいという要望がある。
【0006】しかしながら、従来のICEでは、前記エ
ミュレーション動作中の内部RAMデータについては、
リアルタイムで一時的にパソコン5の画面に表示させた
り、或いは、ICE本体1に設けた表示用のLEDを点
消灯させて表示させることしかできなかった。従って、
比較的長期間のエミュレート動作に渡るデータ値の変化
を記憶する手段がなく、デバッグに有効に利用すること
はできなかった。
【0007】また、内部RAMのデータをパソコン5の
画面に表示させるためには、その表示用のデータを評価
用チップによってパソコン5側に転送させる必要があ
り、そのためには、評価用チップのエミュレーション動
作を一時的に停止させなければならない。従って、その
エミュレーション動作の停止中に、外部入力信号の大き
な変化や、割込み入力のような何らかのイベントが発生
した場合には、そのイベントの発生に基づく処理が実行
されずデータの変化を記憶することができないという問
題もある。
【0008】一方、比較的長い期間に渡るデータの変化
履歴を収集する装置としてデータロガーがあり、そのデ
ータロガーをICEと併用することによってデバッグを
行うことも考えられる。しかしながら、2つの装置を併
用しようとすると配置スペースを余分に必要とする上、
回路基板2に対する配線も繁雑となり取り扱いが煩わし
く作業性を低下させることになる。加えて、2つの装置
を購入しなければならないので、開発コストが上昇して
しまう。
【0009】本発明は上記事情に鑑みてなされたもので
あり、その目的は、評価対象となるCPUが搭載される
回路基板のデバッグ作業をより容易に行うことができる
CPU開発支援装置を提供することにある。
【0010】
【課題を解決するための手段】請求項1記載のCPU開
発支援装置によれば、評価用チップは、評価対象となる
CPUの動作をエミュレートして実行した処理に基づく
データを必要に応じて外部に出力した場合に、そのデー
タは、書き込み時点を示すタイムスタンプデータが付加
されてデータロギング用メモリに時系列で記憶される。
即ち、評価用CPUがエミュレーション動作を所定期間
に渡って行った場合に、データが変化して行く履歴がデ
ータロギング用メモリに記憶される。
【0011】従って、作業者は、例えば、評価用チップ
によるエミュレーション動作の終了後に、データロギン
グ用メモリに時系列で記憶されているデータの内容をト
レース手段により別個に記憶されている評価用チップの
命令実行順序と併せて解析することができるので、従来
とは異なり、データロガーを別個に用意することなく、
プログラムが複雑な場合であってもデバッグを容易に行
うことができ作業性が良好となる。
【0012】また、作業者は、評価用チップのエミュレ
ーション動作中にリアルタイムでデータを表示させる必
要がないので、イベントの発生に基づくデータの変化な
どを取り零す可能性を小さくすることができる。更に、
従来のようにLEDを用いてデータをリアルタイムで表
示させるものとは異なり、記憶されたデータを例えばH
EXコードやASCIIコードなどのテキストデータと
して出力することができるので、データの解析を容易に
行うことができる。
【0013】請求項2記載のCPU開発支援装置によれ
ば、評価対象がマイクロコンピュータに内蔵されている
CPUであり、当該マイクロコンピュータがRAMを内
蔵している場合にも、その内部RAMのデータをデータ
ロギング用メモリに時系列で記憶させて解析することが
できる。
【0014】請求項3記載のCPU開発支援装置によれ
ば、データロギング用メモリのメモリ空間が、評価対象
CPUが本来扱い得る最大のメモリ空間よりも大である
場合でも、メモリ制御部がインターフェイスとなってデ
ータロギング用メモリに対するデータの書き込み及び読
み出しを制御するので、より長い時間に渡ってデータの
収集を行うことができる。
【0015】請求項4記載のCPU開発支援装置によれ
ば、タイムスタンプ付加部とメモリ制御部とを評価用チ
ップの外部に構成することで、従来の評価用チップを有
する構成の装置に対しても基本的な設計を変更すること
なく本願発明の機能を追加することができる。
【0016】請求項5記載のCPU開発支援装置によれ
ば、タイムスタンプ付加部とメモリ制御部とを、例えば
ゲートアレイやFPGA(Feild Programable Gate Arra
y)等を用いてワンチップで構成することで、装置全体を
小型且つ低価格で構成することができる。
【0017】請求項6記載のCPU開発支援装置によれ
ば、表示制御手段は、トレース手段によって記憶された
命令を表示手段に表示させると同時に、データロギング
用メモリに記憶されたデータを併せて表示させる。従っ
て、作業者は、命令の実行順序とデータの変化状態とを
同時に参照することができるので、評価用チップによる
エミュレーション動作の解析を一層容易に行うことがで
きる。
【0018】また、請求項7記載のCPU開発支援装置
によれば、表示制御手段は、データロギング用メモリに
記憶されたデータを、トレース手段によって記憶された
命令の実行順序に応じて書込まれた順に表示手段に併せ
て表示させるので、作業者は、命令の実行順序とデータ
の変化状態との対応をより容易に把握することが可能と
なる。
【0019】
【発明の実施の形態】以下、本発明の一実施例について
図1乃至図4を参照して説明する。図1は、全体の電気
的構成を示す機能ブロック図である。CPU開発支援装
置たるICEの本体11に内蔵されているメイン基板1
2には、評価対象となるシングルチップのマイクロコン
ピュータ(マイコン)に内蔵されているCPUの動作を
エミュレートするエバチップ(評価用チップ)13が搭
載されている。ここで、評価対象マイコンに内蔵されて
いるCPUは、例えば16ビットCPUであり、同じく
内蔵されているRAMの容量は、例えば2Kバイトであ
るものとする。そして、エバチップ13は、前記RAM
と同容量のRAM13aを内蔵している。
【0020】エバチップ13は、ホストマシンとしての
パソコン(表示制御手段)14と、ICEコントローラ
15を介して通信を行うようになっている。パソコン1
4とICEコントローラ15との間は、例えばPCMC
IA等のパラレルバスインターフェイス14a,15a
を介して接続されている。パソコン14には、例えばW
INDOWS(登録商標)などのオペレーティングシス
テム上で動作するアプリケーションとしてのICE用コ
ントロールソフトウエアがインストールされており、そ
のコントロールソフトウエアは、必要に応じて起動され
実行されるようになっている。また、パソコン14は、
表示手段たるディスプレイ14bを備えている。
【0021】また、メイン基板12には、評価対象のマ
イコン(図示せず)が内蔵しているプログラムROMを
エミュレーションするためのSRAM16が搭載されて
いる。このSRAM16には、パソコン14側からIC
Eコントローラ15を介して制御プログラムがダウンロ
ードされ、エバチップ13は、エミュレーション動作を
実行する場合には、SRAM16より制御プログラムを
読み出すようになっている。
【0022】回路基板17は、評価対象マイコンが搭載
される基板であり、例えば、自動車の制御を行うECU
(Electric Control Unit) を構成するものである。そし
て、評価対象マイコンが搭載される部分には、当該マイ
コンに代えてソケット(図示せず)が搭載されている。
そのソケットには、ICE本体11から延びるエミュレ
ーションケーブル(ケーブル)18の先端に配置された
ユーザPOD19(プローブ)が接続されるようになっ
ており、エバチップ13は、それらのケーブル18及び
ユーザPOD19を介して回路基板17に電気的に接続
されるようになっている。
【0023】メイン基板12は、コネクタ20を介して
サブ基板21に接続されるようになっている。サブ基板
21には、データロギング用メモリ(以下、ロギング用
メモリと称す)22,ロギング用メモリ22に対して書
き込み及び読み出し制御を行うロギングコントローラ2
3,パフォーマンス部24及びトレース部(トレース手
段)25等が搭載されている。
【0024】ロギング用メモリ22は、例えば図2に示
すように、4ビット×1Mワード構成の4MビットSR
AM22aを12個配置して構成されており、総容量は
48Mビットである。そして、エバチップ13は、内部
RAM13aにデータを書込む場合には、そのデータ及
び内部RAM13aに対する書込みアドレスを外部バス
にも出力して、ロギングコントローラ23を介してロギ
ング用メモリ22にアドレス及びデータの書き込みを行
うようになっている。
【0025】尚、このような動作を実行するエバチップ
13の機能部分は、評価対象マイコンが実動作するクロ
ックスピード(例えば、8MHz)の2倍のスピード
(例えば、16MHz)で処理を実行するようになって
いる。
【0026】パフォーマンス部24及びトレース部25
は、夫々PLD(Programable LogicDevice)と数十Kバ
イト程度のメモリによって構成されており、エバチップ
(トレース手段)13が、エミュレーション動作時に並
列してパフォーマンス機能及びトレース機能を実行処理
する場合に使用されるハードウエアである。
【0027】図2は、ロギング用メモリ22及びロギン
グコントローラ23のより詳細な構成を示す機能ブロッ
ク図である。この図2において、ロギング用メモリ22
のデータ1ワードは48ビットであり、総ワード数は1
Mワードとなっている。その1ワードのデータについ
て、エバチップ13により書込まれるデータは30ビッ
トであり、その内訳は、RAMアドレス13ビット,R
AMデータ16ビットで、残り1ビットは必要に応じて
使用されるフラグである。
【0028】尚、内部RAM13aの2Kのアドレス空
間に対して必要なビット数は11ビットである。その他
の2ビット分は、タイマなどのI/O空間レジスタのデ
ータをもロギングするために割り当てられている。1ワ
ードのデータの内その他の18ビットは、ロギングコン
トローラ23によって付加されるタイムスタンプデータ
である。
【0029】ロギングコントローラ23は、ロギング用
メモリ22に対してデータの書き込み及び読み出しを行
うメモリ制御部23aと、タイムスタンプデータを書き
込みデータに付加するタイムスタンプデータ付加部23
bとで構成されている。
【0030】メモリ制御部23aのタイミングジェネレ
ータ26には、エバチップ13やICEコントローラ1
5が出力する書き込み,読み出しを行うための制御信号
などが与えられている。そして、タイミングジェネレー
タ26は、例えば、アドレスデコードによってエバチッ
プ13またはICEコントローラ15がロギング用メモ
リ22に対してアクセスを行うと判定した場合には、前
記制御信号に基づいた適当なタイミングでロギング用メ
モリ22に対して書き込み,読み出し制御信号を出力す
るようになっている。
【0031】アドレス出力部27は、ICEコントロー
ラ15よりロギングスタート信号が与えられるとゼロク
リアされるアドレスカウンタを内蔵している。そして、
タイミングジェネレータ26は、エバチップ13がロギ
ング用メモリ22に対してデータの書き込みを行うと判
断した場合には、アドレス出力部27にアドレスカウン
トパルスを出力するようになっている。アドレス出力部
27は、そのアドレスカウントパルスをアドレスカウン
タによりカウントし、カウント値をロギング用メモリ2
2のアクセスアドレスとして出力するようになってい
る。
【0032】また、アドレス出力部27は、ICEコン
トローラ15がロギング用メモリ22からデータを読み
出す場合には、ICEコントローラ15が出力するアド
レスをそのままロギング用メモリ22のアクセスアドレ
スとして出力するようになっている。
【0033】バッファ28には、エバチップ13が出力
する13ビットのアドレス及び16ビットのデータ(及
び1ビットのフラグ)が与えられるようになっている。
また、カウンタ29は、クロック回路30より出力され
る例えば周波数2MHz程度のクロック信号をカウント
する18ビットカウンタであり、そのカウント値は、バ
ッファ31に与えられるようになっている。そして、バ
ッファ28及び31は、タイミングジェネレータ26に
よりイネーブル信号が与えられると、夫々データをロギ
ング用メモリ22のデータバス(48ビット)上に出力
するようになっている。
【0034】以上において、タイミングジェネレータ2
6,アドレス出力部27及びバッファ28はメモリ制御
部23aを構成しており、クロック回路30,カウンタ
29及びバッファ31は、タイムスタンプデータ付加部
23bを構成している。
【0035】次に、本実施例の作用について説明する。
作業者は、パソコン14上でICE用のコントロールソ
フトウエアを起動して、制御プログラムをICE本体1
1のSRAM16上にダウンロードする。それから、エ
バチップ13を起動させて開発対象マイコンのエミュレ
ーション動作を開始させ、制御プログラム及び回路基板
17(ターゲットシステム)のデバッグを行う。
【0036】また、コントロールソフトウエアにおいて
作業者が予め設定したタイミングでICEコントローラ
15よりロギングスタート信号が出力されると、エバチ
ップ13によって、ロギング用メモリ22に対する内部
RAM13aのアドレス及びデータの書き込みが開始さ
れる。この時、エバチップ13は、プログラムのトレー
スも同時に開始することで、後程、プログラムに記述さ
れた各命令の実行時点と、ロギング用メモリ22にタイ
ムスタンプデータと共に記憶されるデータとの照合を容
易に行い得るようにする。
【0037】前述のように、ターゲットシステムである
回路基板17は、自動車のECUであり、その回路基板
17には、外部より空気流量センサやスロットル開度セ
ンサ,エアバッグに使用される加速度センサ等のアナロ
グ入力信号や、イグニッションスイッチ信号やスタータ
信号,エンジン回転信号などのデジタル入力信号が与え
られるようになっている。そして、評価対象のマイコン
は、自動車の運転状態に基づいてそれらの外部入力信号
が変化すると、その変化に応じた演算や信号出力などの
処理を実行するようになっており、エバチップ13は、
そのマイコンが行う処理をエミュレートする。
【0038】制御プログラムルーチンを構成する各ソフ
トウエアモジュール(1つのまとまった処理を行うプロ
グラムの単位)の内幾つかについては、処理結果のデー
タを内部RAM13a(及びロギング用メモリ22)に
書き込むようになっている。そのデータの書き込みは、
エバチップ13がプログラムルーチンを実行する毎に行
われる。
【0039】エバチップ13がプログラムルーチンを実
行する毎に、各モジュールによってデータが書き込まれ
る内部RAM13aのアドレスは、基本的には同一であ
る。本実施例のICEにおいては、エバチップ13がロ
ギング用メモリ22に対してデータの書き込みを行う場
合には、メモリ制御部23aは、エバチップ13が出力
するアドレス(即ち、内部RAM13aのアクセスアド
レス)とは無関係に、データの書き込み毎にSRAM2
2aに対する20ビットのアクセスアドレスを1ワード
分ずつインクリメントして出力するようになっている。
【0040】そして、各書き込み動作(ライトサイク
ル)においては、タイミングジェネレータ26により、
SRAM22aに対してデータを書込むための適切なタ
イミングで、リード/ライト信号やアクセスアドレス,
イネーブル信号が出力される。すると、バッファ28か
らは、エバチップ13が出力する内部RAMアドレス及
び内部RAMデータがロギング用メモリ22のデータバ
ス上に出力され、バッファ31からは、カウンタ29の
その時点における18ビットのカウント値がデータバス
上に出力されてデータの書込みが行われる。
【0041】従って、エバチップ13によるエミュレー
ション動作(制御プログラムの実行)が継続している間
は、内部RAM13aに書込まれているデータは、ロギ
ング用メモリ22にも時系列で順次書込まれて行く。
【0042】ここで、一例として図3に示すように、ソ
フトウエアモジュールA〜Eからなる制御プログラムの
ルーチンを考える。各モジュールA〜Eのうち、モジュ
ールA,B,D,Eは、実行される毎に内部RAM13
aの例えば“100H”番地にアクセスして、エバチッ
プ13の内部にあるWDT(Watch Dog Timer) (1)の
カウント値を夫々書込むようになっている。尚、この場
合のWDTは、エバチップ13の内部レジスタを利用し
たソフトウエアタイマとして構成されている。
【0043】以上のルーチンが例えば10ms周期で実
行されるものとすると、1Mワードのロギング用メモリ
22に記憶可能なデータの収集期間は、以下のようにな
る。 1048576/(4/0.01)/60=43.69… (分) 従って、約43分間に渡ってデータの収集が可能であ
り、後でプログラムの動きを追いながらデバッグを行う
には充分な容量である。
【0044】そして、作業者は、適当な時点においてエ
バチップ13によるエミュレーション動作を停止させ、
ロギング用メモリ22に記憶されたデータを必要に応じ
てパソコン14側から読み出して、ディスプレイ14b
上に表示させることができる。その場合の処理手順は、
以下のようになる。 作業者 →パソコン14 :データ読み出しコマンド入力 パソコン14 →コントローラ15 :データ読み出し指令発行 コントローラ15→ロギング用メモリ22:データ読み出し コントローラ15→パソコン14 :データ転送 パソコン14 →ディスプレイ14b :データ表示
【0045】また、この場合、パソコン14は、コント
ロールソフトウエアによりトレース部25において記憶
されている各命令の実行タイミングとロギング用メモリ
22に記憶されたデータの書込みタイミングとを自動的
に照合して、両者を並列してディスプレイ14b上に表
示することもできる。
【0046】即ち、図4に示すように、左側はトレース
結果の表示ウインドウであり、右側はロギングされたデ
ータの表示ウインドウである(この場合、データはHE
Xコードで表示されている)。これらのウインドウは夫
々個別に開いて表示し任意の範囲でスクロールさせた
り、夫々複数のウインドウを開くことも可能である。そ
して、両者を同時に表示させる場合には、トレース及び
ロギングの開始ポイントを起点として、トレースされた
命令の実行順序に対応してロギングされたデータを表示
することができるようになっている。
【0047】図3の例では、作業者は、ロギング用メモ
リ22の記憶されたデータを参照することで、WDT
(1)のカウント値がどのモジュールを実行している間
に幾つ増加したかが容易に分かるようになる。そして、
WDT(1)がオーバーフローして(WDT監視用のソ
フトウエアモジュールにより)エバチップ13がリセッ
トされたり、或いは、内部割込みが発生してエミュレー
ション動作が停止された場合には、どのモジュール、或
いは、どのルーチン部分を実行している場合にオーバー
フローが生じたかを容易に解析することができる。
【0048】ところで、図3に示すようなルーチンの場
合、モジュールA,B,D,Eによってアクセスされる
内部RAM13aのアドレスは“100H”番地で同一
である。このような場合に、従来のICEにデータロガ
ーを組み合わせた構成によって内部RAM13aのデー
タを記憶させることを想定する。従来のICEでは、デ
ータロガーのプローブを、エバチップに設けられた外部
出力用のアドレス及びデータバスに接続してデータを収
集することになる。
【0049】そして、データロガーでは、プログラムル
ーチンのある箇所(例えば、モジュールA)を実行する
時点からロギングを開始するように設定を行うようにな
っている。即ち、図3のように複数のモジュールが同一
アドレスにアクセスを行う場合に、どのモジュールに記
述されたどの命令によってデータが書き替えられたかを
特定するには、勿論データロガー単独では行うことがで
きないので、後からICE側のトレースの結果と照合す
ることで特定しなければならない。
【0050】加えて、照合を行うためには、別個の装置
で行われるトレースとロギングの開始タイミングを同期
させる必要があり、また、各装置毎に記憶されたデータ
を後から照合することも煩雑であり作業性が良くない。
【0051】更に、図3の例ではWDTは1個である
が、自動車のECUのように動作に極めて高い信頼性が
要求されるものについては(制御プログラムが大規模・
複雑化する傾向にあることも伴って)、実際には2つや
3つなど複数のWDTを用いている。そのような処理を
実行するマイコンの動作をエミュレーションするエバチ
ップ13に対して、ICEとデータロガーの両方を用い
て上述のような形態でデバッグを行うことは、煩雑を極
める結果となる。
【0052】これに対して、本実施例のICEでは、ロ
ギング用メモリ22上に時系列で記憶されたデータとト
レース部25においてトレースされた結果との照合をパ
ソコン14上で自動的に行うことが可能である。
【0053】また、自動車のECUでは、イグニッショ
ンのON,OFFが行われる場合に、フェイルセイフ機
能に関連した多くの処理が集中して実行されるようにな
っている。一例を挙げると、イグニッションOFF時
に、ECUは内部RAMの所定領域に特定のデータ値を
書込むようにしておき、イグニッションON時に前記所
定領域のデータを読み出して期待値が書込まれていれば
自身は正常であると判断し、期待値が書込まれていなけ
れば、現在の状態に問題がある可能性があることからリ
セットをかける、といったような処理である。
【0054】従って、評価用チップ13によってこのよ
うな処理が集中して実行される場合をエミュレーション
し、内部RAM13aのデータの動きを捉えて解析する
ことでデバッグを行う場合には、本実施例のように前記
データの動きを長期間にわたってロギングすることが可
能に構成されたICEを極めて有効に適用することがで
きる。
【0055】以上のように本実施例によれば、エバチッ
プ13は、評価対象マイコンに搭載されたCPUの動作
をエミュレートする場合に、内部RAM13aに書込ん
だデータを外部にも出力して、ロギングコントローラ2
3を介してロギング用メモリ22に時系列で書込むよう
にした。また、ロギング用メモリ22にデータを書込む
場合には、ロギングコントローラ23のタイムスタンプ
データ付加部23bにより書き込み時点を示すタイムス
タンプデータを付加するようにした。
【0056】従って、作業者は、エバチップ13による
エミュレーション動作の終了後に、ロギング用メモリ2
2に時系列で記憶されている内部RAM13aのデータ
内容をトレース部25において別個に記憶されている命
令実行順序と併せて解析することができるので、従来と
は異なり、データロガーを別個に用意することなく、プ
ログラムが複雑な場合であってもデバッグを容易に行う
ことができ作業性が良好となる。
【0057】また、作業者は、エバチップ13のエミュ
レーション動作中にリアルタイムでデータを表示させる
必要がないので、イベントの発生に基づくデータの変化
などを取り零す可能性を小さくすることができる。更
に、従来のようにLEDを用いてデータをリアルタイム
で表示させるものとは異なり、記憶されたデータをHE
XコードやASCIIコードなどのテキストデータとし
てパソコン14のディスプレイ14b上に表示出力する
ことができるので、データの解析を容易に行うことがで
きる。
【0058】また、本実施例によれば、評価対象マイコ
ンまたはエバチップ13が本来扱い得る最大のメモリ空
間よりも大である場合でも、メモリ制御部23aがイン
ターフェイスとなってロギング用メモリ22に対するデ
ータの書き込みを制御するので、より長い時間に渡って
データの収集を行うことができる。
【0059】加えて、そのメモリ制御部23aを、タイ
ムスタンプデータ付加部23bと共にFPGAによりワ
ンチップのロギングコントローラ23として、エバチッ
プ13の外部に形成したので、従来のエバチップを有す
る構成のICEに対しても基本的な設計を変更すること
なく本願発明の機能を追加することができ、また、IC
E全体を小型且つ低価格で構成することができる。
【0060】更に、本実施例によれば、パソコン14
は、トレース部25によって記憶された命令をディスプ
レイ14bに表示させると同時に、ロギング用メモリ2
2に記憶されたデータを、トレース部25によって記憶
された命令の実行順序に応じて書込まれた順にディスプ
レイ14bに併せて表示させるので、作業者は、エバチ
ップ13による命令の実行順序と、その命令の実行に応
じたデータの変化状態との対応をより容易に把握するこ
とが可能となる。
【0061】本発明は上記し且つ図面に記載した実施例
にのみ限定されるものではなく、次のような変形または
拡張が可能である。評価対象は、マイコンに内蔵された
CPUに限ることなく、単体のCPUであっても良い。
そして、ターゲットシステムとなる回路基板に外部RA
Mが搭載されている場合には、上記実施例と同様に、評
価用チップが外部RAMに書き込みを行うと共に、ロギ
ング用メモリにも書き込みを行うようにしても良いし、
或いは、エミュレーションモードでは、ロギング用メモ
リ自体を外部RAMとして使用するように切換えるよう
にしても良い。ロギング用メモリ22の構成例はあくま
でも一例であり、容量やバス構成などは評価対象CPU
やICEの仕様に合わせて適宜変更して実施すれば良
い。ロギング用メモリは、SRAM22aに限ることな
くDRAMで構成しても良い。
【0062】パフォーマンス部24及びトレース部25
を、メイン基板12側に設けても良い。パフォーマンス
部24及びトレース部25のPLDで構成されている部
分を、ロギングコントローラ23を構成しているFPG
Aによって一体に造り込んでも良い。ロギングコントロ
ーラ23を、ゲートアレイで構成しても良い。また、ロ
ギングコントローラ23の機能を、予め評価用チップの
内部に組み込むようにしても良い。トレース結果やロギ
ング結果は、ディスプレイ14bに表示するものに限ら
ず、プリンタなどに出力するようにしても良い。回路基
板は、自動車のECUを構成するものに限ることなく、
CPU或いはマイコンが搭載されているものであれば適
用が可能である。
【図面の簡単な説明】
【図1】本発明の一実施例におけるICEの全体構成を
示す機能ブロック図
【図2】ロギングコントローラ及びデータロギング用メ
モリの詳細な構成を示す機能ブロック図
【図3】エバチップによって実行されるプログラムの例
を簡略化して示すフローチャート
【図4】パソコンのディスプレイにトレース結果及びロ
ギング結果を表示する場合の一例を示す図
【図5】従来のICEの構成例を示す図
【符号の説明】
13はエバチップ(評価用チップ,トレース手段)、1
4はパーソナルコンピュータ(表示制御手段)、14b
はディスプレイ(表示手段)、17は回路基板、22は
データロギング用メモリ、23はロギングコントロー
ラ、23aはメモリ制御部、23bはタイムスタンプデ
ータ付加部、25はトレース部(トレース手段)を示
す。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 評価対象となるCPUが搭載される回路
    基板に前記CPUの代わりにプローブを介して電気的に
    接続され、前記CPUの動作をエミュレートする評価用
    チップと、この評価用チップが実行するプログラムに記
    述された命令の実行順序を記憶するトレース手段とを備
    えたCPU開発支援装置において、 前記評価用チップによって出力されるデータが時系列で
    記憶されるデータロギング用メモリと、 このデータロギング用メモリに書き込まれるデータに、
    その書き込み時点を示すタイムスタンプデータを付加す
    るタイムスタンプ付加部とを備えてなることを特徴とす
    るCPU開発支援装置。
  2. 【請求項2】 前記CPUは、マイクロコンピュータに
    内蔵されていることを特徴とする請求項1記載のCPU
    開発支援装置。
  3. 【請求項3】 前記評価用チップが前記データロギング
    用メモリに対して行うデータの書き込みを制御するメモ
    リ制御部を備えたことを特徴とする請求項1または2記
    載のCPU開発支援装置。
  4. 【請求項4】 前記タイムスタンプ付加部と前記メモリ
    制御部とを、前記評価用チップの外部に構成することを
    特徴とする請求項3記載のCPU開発支援装置。
  5. 【請求項5】 前記タイムスタンプ付加部と前記メモリ
    制御部とを、ワンチップで構成することを特徴とする請
    求項4記載のCPU開発支援装置。
  6. 【請求項6】 前記トレース手段によって記憶された命
    令を表示手段に表示させると共に、前記データロギング
    用メモリに記憶されたデータを前記表示手段に併せて表
    示可能に構成される表示制御手段を備えたことを特徴と
    する請求項1乃至5の何れかに記載のCPU開発支援装
    置。
  7. 【請求項7】 前記表示制御手段は、前記データロギン
    グ用メモリに記憶されたデータを、前記トレース手段に
    よって記憶された命令の実行順序に応じて書込まれた順
    に前記表示手段に併せて表示させることを特徴とする請
    求項6記載のCPU開発支援装置。
JP10367036A 1998-12-24 1998-12-24 Cpu開発支援装置 Pending JP2000194580A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10367036A JP2000194580A (ja) 1998-12-24 1998-12-24 Cpu開発支援装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10367036A JP2000194580A (ja) 1998-12-24 1998-12-24 Cpu開発支援装置

Publications (1)

Publication Number Publication Date
JP2000194580A true JP2000194580A (ja) 2000-07-14

Family

ID=18488309

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10367036A Pending JP2000194580A (ja) 1998-12-24 1998-12-24 Cpu開発支援装置

Country Status (1)

Country Link
JP (1) JP2000194580A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005351891A (ja) * 2004-05-26 2005-12-22 Temento Systems デバッグ装置、デバッグ方法、及びデバッグ装置の使用方法
JP2010128681A (ja) * 2008-11-26 2010-06-10 Renesas Electronics Corp タイムスタンプ取得回路及びタイムスタンプ取得方法
CN101593218B (zh) * 2008-05-28 2012-05-09 中兴通讯股份有限公司 芯片维护方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005351891A (ja) * 2004-05-26 2005-12-22 Temento Systems デバッグ装置、デバッグ方法、及びデバッグ装置の使用方法
CN101593218B (zh) * 2008-05-28 2012-05-09 中兴通讯股份有限公司 芯片维护方法
JP2010128681A (ja) * 2008-11-26 2010-06-10 Renesas Electronics Corp タイムスタンプ取得回路及びタイムスタンプ取得方法

Similar Documents

Publication Publication Date Title
US6094730A (en) Hardware-assisted firmware tracing method and apparatus
US5132971A (en) In-circuit emulator
US6523136B1 (en) Semiconductor integrated circuit device with processor
US6957180B1 (en) System and a method for communication between an ICE and a production microcontroller while in a halt state
JP3277900B2 (ja) プログラム検査方法、プログラム検査装置及び、検査プログラムを記憶したコンピュータ読み取り可能な記憶媒体
JPH011039A (ja) インサーキット・エミュレータ
EP0251481A2 (en) Microprocessor system debug tool apparatus
US20030154430A1 (en) On-chip instrumenation
JPH08185336A (ja) マイクロプロセッサ、マイクロプロセッサ−デバッグツール間信号伝送方法及びトレース方法
CN102096725A (zh) 一种基于fpga的仿真器
JPS5968004A (ja) 車載用コンピユ−タのフエイルセ−フ方法
JP4906286B2 (ja) ソフトウェア開発環境システム
US20040153760A1 (en) Program controlled unit and method for debugging programs executed by a program controlled unit
JP2000194580A (ja) Cpu開発支援装置
Kline et al. The in-circuit approach to the development of microcomputer-based products
JP2003263339A (ja) デバック機能内蔵型マイクロコンピュータ
US6510507B1 (en) Page address look-up range ram
JP2002032240A (ja) Cpu開発支援装置
JPH081605B2 (ja) 車両用電子制御装置
JPH0285934A (ja) エミュレータ
JP2007156594A (ja) プログラムトレース装置及び方法
JP2902861B2 (ja) トレース機能付バッファ装置
JPS61177552A (ja) マイクロ・プロセツサのプログラム評価装置
JPS59202546A (ja) デバツグ装置
Xie et al. An SBus monitor board

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070403

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071106