JP5316810B2 - 電子計測器 - Google Patents

電子計測器 Download PDF

Info

Publication number
JP5316810B2
JP5316810B2 JP2010006884A JP2010006884A JP5316810B2 JP 5316810 B2 JP5316810 B2 JP 5316810B2 JP 2010006884 A JP2010006884 A JP 2010006884A JP 2010006884 A JP2010006884 A JP 2010006884A JP 5316810 B2 JP5316810 B2 JP 5316810B2
Authority
JP
Japan
Prior art keywords
data
program
debug
target device
information
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.)
Active
Application number
JP2010006884A
Other languages
English (en)
Other versions
JP2011145930A (ja
Inventor
亮 落合
卓哉 藤川
貴裕 毛塚
ドクス キム
Original Assignee
ハートランド・データ株式会社
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 ハートランド・データ株式会社 filed Critical ハートランド・データ株式会社
Priority to JP2010006884A priority Critical patent/JP5316810B2/ja
Publication of JP2011145930A publication Critical patent/JP2011145930A/ja
Application granted granted Critical
Publication of JP5316810B2 publication Critical patent/JP5316810B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、プログラム方式の電子情報処理装置において低消費電力化を図るためのプログラム開発に用いてデバック作業を容易にするための電子計測器に関している。
一般に、プログラム方式の電子情報処理装置でデジタルデータ処理を含めた論理演算処理を行う場合、異なるプログラムで同じデジタルデータ処理ができることが知られている。また、異なるプログラムを用いた場合、消費電力に差がでることも知られている。このため、プログラムを作成する場合、プログラムのデバッグを行い、それに加えて、消費電力を抑制するためのプログラムの最適化が求められる場合が多い。通常のソフトウェア開発においては、これらの作業に多くの時間が費やされている。
本発明は、プログラムのデバッグと消費電力の最適化に関わっている。先ず、デバッグに関しては、以下の技術が知られている。
一般に、デバッグ作業では、デバッガ等が用いられるが、デバッガでは、プログラムに複数のブレークポイントを設けて、それぞれのブレークポイントの時点でその実行を一時的に中断し、それぞれの時点で記憶情報のダンプを行い、それぞれの時点での記憶情報を追跡することでプログラムの動作を検証することが行われる。
また、上記の電子情報処理装置の動作を中断せずにその動作を観測してデバッグを行なうトレーサとして、例えば以下のような開示がある。
特許文献1(実開平5−17738号公報)には、簡易トレーサが開示されている。これは、CPUからの信号をCPU信号取出し回路で取り出し、比較基準入力設定器に予め設定しておいたデータと、取り出したデータ(アドレス/データ)を比較回路に入力して比較し、条件が一致したときにラッチトリガ決定回路に信号を送信し、ラッチトリガ決定回路で条件が一致した場合にラッチ回路に信号を送信し、ラッチ回路からの信号を受けた表示回路はその時点のデータ(CPU内部状態)を表示する構成とすることで、簡単な回路で、CPUの内部状態をリアルタイムに表示、又はトレースを残すことができるようにしたものである。
また、特許文献2(特開平6−348540号公報)には、C言語の様な高級言語で記述されたプログラムをデバッグする時にトレーサを使用して、デバッグの効率を向上させるトレース回路とトレース方法が開示されている。これは、局所変数のベースポインタをラッチする回路とプログラム実行アドレスをラッチする回路とを有し、データアクセス時に前記ベースポインタラッチの内容と前記プログラム実行アドレスラッチの内容をアクセスしたアドレスやデータやステータスと共にトレースメモリに書込み、トレースメモリに記録されたアドレスとベースポインタの値から局所変数の変数オフセットを計算し、この変数オフセットとトレースメモリ中のプログラム実行アドレスを使って、デバッグ対象プログラムのデバッグ情報テーブルを検索し、トレースメモリに記録されたデータアクセス内容を局所変数と対応づけるものである。
また、特許文献3(特開平8−335177号公報)には、命令キャッシュを動作させたままプログラムトレースを行うプロセッサ動作観察方法及び装置が開示されている。ここで用いるCPUは、命令キャッシュに命令アドレスで指定した命令が存在するか否かにかかわらず、その命令アドレスを、メモリアドレスレジスタを介してCPUの外部バスに出力するものである。この外部バスは、アドレスバス、データバス、制御バスから成るもので、プログラムのデバッグ時はこの外部バスにプロセッサ動作観察装置を接続し、命令キャッシュがヒットする場合でも、CPUがアクセスした命令のあった外部のメモリのアドレスやバスステータスをプロセッサ動作観察装置のトレースメモリに格納する。このトレースメモリを読み出して、アドレスとバスステータスの内容を解析することにより、CPUが実行した命令の実行過程を追跡するものである。
また、特許文献4(特開2001−331344号公報)には、システムプログラムの履歴情報により障害発生の経緯を知らせ、障害原因の解析がスムーズに行える組み込みシステムの障害情報トレーサ装置が開示されている。この障害情報トレーサ装置は、実行形式のプログラム、履歴情報を編成する実行履歴収集部、履歴情報を記憶させるトレースメモリ、その記憶内容を被試験装置にダンプさせるデバッグモニタから構成されるものである。また、被試験装置は、履歴情報を導入するデバッガソフト、履歴情報がファイルされたトレースメモリダンプ結果ファイル、プログラムのソースファイル群、障害解析のための該当箇所を出力するトレース情報解析プログラムから構成されるものである。
また、特許文献5(米国特許第6161216号明細書)には、ソースコードのデバッガを用いてソースコードをデバッグする方法と装置が記載されている。この場合、スクリプトジェネレータがソースコードの命令を受け取るようにする。スクリプトジェネレータは、ソースコード命令を読み取り、実行ブロックまたは制御境界を規定する命令の型に基づいて、トレースポイントの仕様を満たすデバッグスクリプトを自動的に生成する。このデバッグスクリプトをソースコードデバッガに引き渡す。
また、消費電力の最適化に関する従来例として、特に、動作時の回路電圧や装置温度のモニタリングに関しては、特許文献6(米国特許第6、556、900号明細書)に、電圧、温度あるいはプロセス用のセンサーを付けた集積回路装置と、それを用いたモニタリング方法が開示されている。
特許文献1から4に記載の発明は、積極的にデバッグ用の情報を出力させるようにプログラムを改変するものではない点において本発明とは異なっている。また、特許文献5に記載の発明では、デバッグスクリプトを生成するスクリプトジェネレータを用いている点において、本発明とは異なっている。また、特許文献6にはプログラムの進行との関わり方が開示されていないため、これは本発明とは異なるものであることが明らかである。このため、特許文献1から6の開示を単に組み合わせても、本発明に想到することは不可能である。
実開平5−17738号公報 特開平6−348540号公報 特開平8−335177号公報 特開2001−331344号公報 米国特許第6,161,216号明細書 米国特許第6,556,900号明細書
プログラム方式の電子情報処理装置において、プログラムのデバッグをより効率的に行なうことに加えて、低発熱化つまり低消費電力化を図るためのプログラム開発についてもデバッグし易いようにする。
本発明の電子計測器は、プログラム方式の電子情報処理装置であるターゲットデバイスの動作ステップと連動して、該ターゲットデバイスの、(1)指定された回路の電流、(2)指定された部位の電圧、(3)指定された部位の温度、(4)指定された部位の振動、または、(5)指定された部位の被照射光量、などの物理データ計測を行う計測部と、
前記ターゲットデバイスのプログラムであるソースコードをコンパイルし、そのコンパイル時にデバッグ行を挿入するプログラム処理コンピュータ(以下、第1コンピュータ)と、
前記ターゲットデバイスの出力からソースコード番号データを収集し記憶するとともに、該ソースコード番号データの収集に同期して上記計測部からの物理データを収集し記憶するデータ収集器と、
上記データ収集器から収集データをデータ処理コンピュータ(以下、第2コンピュータ)に伝送する通信路と、を備え、
上記デバッグ行は、ソースコード上の位置情報を示す情報を、上記データ収集器へ出力するものである。つまり、上記デバッグ行は、ソースコード上の位置情報を示す情報を、前記ターゲットデバイスのアドレスバス上の予め決められたアドレス向けのデータとして出力するものである。第1コンピュータと第2コンピュータは、同一のコンピュータを時分割で使用するようにしてもよい。
また、上記デバッグ行は、上記デバッグデータとして上記デバッグ行を通過した時刻情報を含むデバッグ情報を出力する内容のものである。
また、上記データ収集器は、上記収集データを圧縮して記憶するものである。
また、上記データ収集器は、物理データ計測を行う計測部のデータを定期的に監視して、予め指定した値と上記物理データが一致した場合に、上記物理データを計測した時刻を収集する。これによって、データ量を抑制することができる。
また、上記の予め指定した値は、上記物理データの値が増加する場合と減少する場合とで異なる値を用いることで、ロジック電圧レベルの高電圧と低電圧を設定することができる。
上記ターゲットデバイスは、予め決められた書込手続きの必要な半導体メモリを備え、上記半導体メモリに割り当てられたアドレス宛てに、上記の書込み手続きを含まない書込コードを出力するデバッグ行を用いることで、デバッグデータを出力するアドレス数を増大させることができる。
また、前記ターゲットデバイスのアドレスバスの信号が予め決められた少なくとも1つのアドレスに一致する場合に、上記ソースコード番号データと上記計測部からのデータを収集し記憶するようにしてもよい。
プログラム処理を中断することなく、デバッグ作業を進めることができ、同時に、低発熱化するためのきめ細かなプログラム開発ができるようになり、処理を中断する従来例に比べて、より実際の動作に即した状態でプログラム開発を行うことができるようになる。
また、デバッグ行やモニタリング行を残したままでも、実際のプログラム処理を何らの支障も伴う事無く行うことができるので、検証したプログラムを実際の処理に適用することができるようになる。
さらに、上記の様にプログラム処理速度を低下させることなくデバッグ作業を進めることができるため、従来に比べて多数のデバッグ行やモニタリング点をソースコードに挿入することができるようになり、プログラム開発作業をより容易にすることができる。
本発明の電子計測器の例を示す図である。 本発明の電子計測器を用いたテスト支援システム内での処理の流れを示す図である。 本発明の電子計測器を用いた解析の流れを示す図である。 本発明の電子計測器を用いてデバッグする場合のフローチャートを示す図である。
以下に、この発明の実施の形態を図面に基づいて詳細に説明する。以下の説明においては、同じ機能あるいは類似の機能を備えた装置に、特別な理由がない場合には、同じ符号を用いるものとする。
図1は、本発明の電子計測器100を示す図で、データ収集器1でターゲットデバイス3からのトレースデータ4を収集するための構成を示すブロック図である。ターゲットデバイス3には、トレースデータを出力するためのデバッグ行を付けたプログラムを流す。このデバッグ行は、ソースコード上の位置情報を示す情報を、前記ターゲットデバイスのアドレスバス上の予め決められたアドレス向けのデータとして出力するものである。つまり、このトレースデータは、実行位置を示す指標、例えばソースコード番号やソースコード位置であり、ターゲットデバイスの、例えば出力ポート用のアドレスや特定のアドレスに出力される。この出力は、データ収集器1のFPGA(フィールドプロラマブルゲートアレイ)で構成したデジタル信号処理器1Aに入力される。デジタル信号処理器1Aは、高速データ入力を実現するためのフロントエンドプロセッサであって、高速データ入力をする必要が無い場合は、デジタル信号処理器(DSP)1Bに直接入力することも可能である。デジタル信号処理器1Bは、通常のマイクロプロセッサでよく、信号処理とデータの記憶や照合に使用する。
また、デジタル信号処理器1A、あるいはデジタル信号処理器1Bで、例えば、入力データの選択処理や簡単な加工などを行う。つまり、例えば、入力データに履歴特性を設定したもので、閾値1(例えば、ロジック電圧レベルの高電圧側)を超えて増加した場合や、閾値2(例えば、ロジック電圧レベル低電圧側)以下に減少する場合にデータ取込みを行うものである。
データの記憶は、メモリ1Cで行い、デジタル信号処理器1Bからの要請に応じて、外部出力ポート1Dを通じて出力する。メモリ1Cが充分に大きな容量を持つ場合には、この出力を計測後に行うことができる。この際、必要に応じてメモリ内容をデータ圧縮を施して記憶することにより、効率的な記憶とすることができる。また、外部出力ポート1D用には、例えば、USB(ユニバーサルシリアルバス)やイーサネット(登録商標)やIEEE1394などの高速回線を用いることができる。データ収集器1としては、大容量記憶装置を備えた通常のパーソナルコンピュータ(PC)を用いることもできる。この場合は、上記USB端子を用いる必要がない。
上記トレース行をソースプログラムへ挿入するに当たっては、PC(第1コンピュータ20)を用いて自動的に挿入することは容易である。また、ソースプログラムのコンパイル時にトレース行を挿入する様にしてもよい。また、出力内容としては、実行位置を示す指標であればよく、ソースプログラムの行番号やサブルーチン名でもよい。また、トレース行を通過する時刻も出力するようにするが、出力文字数を少なくしたい場合は、デジタル信号処理器1Bで時刻情報を付加するようにしてもよい。
ターゲットデバイス3には、各種物理データ、例えば、電圧、電流、温度、振動、光量、気圧、磁界強度などのデータを入力する計測回路2を備える。この入力において、上記物理データがアナログデータであればデジタルデータに変換する。
ここで電圧や電流は、例えば、ターゲットデバイス3に設けられたテストポイントや特にそのターゲットデバイス3上の半導体チップに設けられたモニタ素子での電圧や電流である。
また、温度は、ターゲットデバイス3の基板や半導体チップ上に設けられた温度センサーやそのターゲットデバイス3上の半導体チップに設けられた温度モニタによる温度である。
また、振動については、ターゲットデバイス3の基板や半導体チップ上に設けられた加速度センサーやマイクロフォンである。
光量は、光センサーで計測するが、遠赤外線からガンマ線までどの光センサーを用いてもよく、使用目的によって決定すればよい。
気圧センサーの場合は、例えば、ターゲットデバイス3が例えば減圧雰囲気で使用される場合には、熱放散が起こりづらくなりデバイス温度が上昇しやすくなる場合に、モニタデータとして活用することができる。
また、ターゲットデバイス3が強磁界中で使用される場合は、ターゲットデバイス3に磁界センサーを設けておくことが望ましい。磁界強度が変化する際には、ターゲットデバイス3の回路中に誘導電流が流れることがあるためである。
計測回路2からデジタル信号処理器1Aへは常時デジタルデータを供給し、デジタル信号処理器1Aは、そのデータの入力タイミング時に、トレースデータと共に、実質的に同時に上記物理データを取り込むものである。上記のデータ入力タイミング時は、例えば、上記トレースデータの出力時である。
次に、本発明の電子計測器100を用いたデバッグ作業について、図2、図3を参照して説明する。
図2は、電子計測器100を用いたテスト支援システム内での処理の流れを示すフローチャートである。図2(A)では、ソースコードを解析し、例えば、関数の出入りや分岐処理の箇所に、自動挿入してコンパイルする。デバッグ行の数は、プログラムの実行に影響がない程度の数であることが望ましい。このデバッグ行は、図1に示すトレースデータ4を出力するためのものである。図2(B)では、デバッグ行の実行を検知してトレースデータを物理データと共に記録する。図2(C)で、記録したトレースデータ4を解析し、ソースコードやテストパターンと照合し、プログラム実行状況や検証結果、測定した物理データをグラフィカルに表示する。
トレースデータの解析で注目する点は、例えば、プログラムの進行に伴う変動において、電圧変動や電流変動が許容範囲にあるか、動作温度が許容範囲にあるか、また温度分布に偏りはあるか、などである。また、外部の擾乱、例えば、急激な振動が加わった場合、赤外が照射された場合、気圧の急激な変動があった場合、磁界強度の急激な低下があった場合にもそれぞれの物理センサーの出力をトレースデータ4と共に記録する。また、1つのテストポイントの電圧と電流の積を蓄積モニタすることで、モニタ部分の消費電力を知ることができる。ターゲットデバイスが単一電源のものであれば、その電源ラインにテストポイントを設け電圧と電流をモニタするようにしてその積の総和をとるようにすれば、ターゲットデバイスの消費電力を知ることができる。
また、図2(D)では、プログラムを目的に沿うように変更して再実行する。例えば、低消費電力化を図る場合は、上記の様に電源ラインにおけるモニタ結果が最低の消費電力を示すようにプログラムを修正する。このように処理することにより、評価結果をオンラインで保存し、バージョン毎に管理することが可能になる。また、検証結果を帳票出力することで、製品の検査証明のドキュメントとして利用できるようにもなる。
図3は、本発明の電子計測器100を用いたデバッグのみを行うための解析の流れを示す図である。図3(A)では、ターゲットデバイス上でプログラムを実行する。図3(B)では、予めプログラムに組み込んでおいたデバッグ行が実行されトレースデータが出力されたことをデジタル信号処理器1Aが検知し、出力されたトレースデータを収集してデータ収集器1を通じて第2コンピュータ21へ転送する。図3(C)では、潜在する問題を素早く検出し分析することができるようにするために、プログラムの実行状況を視覚的に捕らえるように表示する。図3(D)では、プログラムに問題が見つかれば、修正し再度実行する。図3(E)では、問題が無くなれば完了するが、その際、使用したデータはそのままプログラムの品質を保証するドキュメントとなる。
以下に、処理の流れを順に示す。
(1)デバッグ行の埋め込み
(図2(A))各種ターゲットのソースコードに対して、デバッグ行を埋め込む。
デバッグ行の埋め込みに当たって、アドレスとデータの組み合わせにより、デバッグ行がソースコードのどの箇所に埋め込まれたかを認識できるように埋め込む。例えばC言語の場合、ポイントとなる情報は、一関数の先頭と最後、分岐命令の直後、変数の情報などである。
この埋め込み作業は、第1コンピュータ20上で、専用アプリケーションを用いて実行する。他の独立したコンピュータ上で行ってもよいことは明らかである。
(2) コンパイル・動作確認
デバッグ行を埋め込んだソースコードをコンパイルし、このコンパイルされたソースコードをターゲットデバイスで走らせ、そのシーケンスの確認を実際の動作に即して行う(図3(A))。
(3) 出力されるコードの抽出とPCへの転送(図2(B)、図3(B))
データ収集器1は、デバッグ行でターゲットデバイス3から出力されるトレースデータ4を取り込み、第2コンピュータ21への転送を行う。又、取り込み開始や取り込み停止などの操作は第2コンピュータ21上から専用アプリケーションを用いて行う。また、ターゲットデバイス3から出力されるデータのすべては取り込む必要がない場合は、第2コンピュータ21からデジタル信号処理器1Aに、取り込むべきアドレスを設定して選択する。このデジタル信号処理器1Aは、高速でデータ処理を行なう必要があることから、マルチコアの汎用マイクロプロセッサやFPGAを用いて構成した専用のデジタル信号処理器であることが望ましい。
また、デジタル信号処理器1Aは、CPUの外部バスに出力される波形を取り込む際に、情報が出力されるアドレスのデータを、ターゲットデバイスの、あるいはデータ収集器1のタイムスタンプを付加してメモリ4に蓄える。―定量メモリにデータが蓄積された時に順次、解析装置(PC7)へとデータを転送する。あるいは、PC7からの要求に従って転送する。
収集する情報としては、例えば、(1)プログラムの、どの箇所が、いつ実行されたか、また、(2)プログラムの、どの部分で指定された変数に設定された値か、等が分かる情報である。
(4)出力データの解析(図2(C))
次に、データ収集器1が第2コンピュータ21へ転送したデータ(以下、ログデータ)を、第2コンピュータ21上で専用アプリケーシヨンで解析する。この解析は、他のコンピュータでも行なうことができることは明らかであるが、この実施例では、なるべく少ない装置で処理する構成としている。
この解析については、図3(C)に示す様に、プログラムの実行状況を視覚的に捕らえ、潜在する問題を素早く検出・分析できるように表示することが望ましい。
ここでの解析により、例えば次の事項について明らかにすることができる。
(イ)プログラムの実行順番を確認する事により、設計フロ―との相違を確認でき、異常個所の発見と正常に動作していることの証明が可能となる。
(ロ)プログラムの実行時のタイムスタンプ情報から、それぞれのデバッグ行間で処理に掛かった時間や、その処理が実行される間隔などのプログラムのリアルタイム性が、異常動作または正常動作の結果であるかどうかの判別が可能となる。
(図2(D))上記の解析結果からソースコードヘのフィードバックを繰り返し行なうことで、プログラム作成が完了する。つまり、ユーザーは、解析結果を自分の設計思想と照らし合わせて分析し、異常個所の修正などを行いソースコードを変更し、上記(1)〜(4)を実行して設計思想との整合性を高めていく。また、図3(E)に示す様に、問題が無くなれば、使用したデータをそのままプログラムの品質を保証するドキュメントとすることもできる。
上記において、ターゲットデバイス3からトレースデータ4を出力するに当たっては、ターゲットデバイス3の出力ポートを用いることができるが、ターゲットデバイス3のコントロールバスやアドレスバスあるいはデータバスからデジタル信号処理器1Aに入力するようにすることによって、これらのバスを通じて出力することもできる。
この場合には、ターゲットデバイス3用のソースコードに対して、デバッグ作業以外では通常ターゲットデバイスが使用しない外部バスに出力するためのアドレスにデータを書込むコード(以下、トレースコード)を埋め込む。
上記トレースコードの埋め込みに当たっては、アドレスとデータの組み合わせにより、トレースコードがソースコードのどの箇所に埋め込まれたかを認識できるように埋め込む。例えばC言語の場合、ポイントとなる情報は、関数の先頭と最後、分岐命令の直後、変数の情報などである。
この埋め込み作業は、第1コンピュータ上で、専用アプリケーションを用いて実行する。他の独立したコンピュータ上で行ってもよいことは明らかである。
この方法の特長として、使用しない外部バスのアドレスに対しての書込みであることから、CPUへの負荷を少なくしてトレースコードを実行できる点を挙げることができる。又、トレースコードの出力では、アドレスとデータの組み合わせでデバッグ行の位置を判別できるようにすることで、デバッグ行を埋め込める場所が従来の場合に比べて格段に増加する。
また、上記ターゲットデバイスが、フラッシュメモリやEEPROMなどの、書込みの際に予め決められた書込み手続きの必要な半導体メモリを備える場合には、その半導体メモリに実際には書込みを行なわないが書込みを行なうように振る舞う擬似書込みを行なうようにすることで、上記半導体メモリに割り当てたアドレスを、上記トレースコードを出力するためにも用いることができる。この擬似書込みを行なうには、上記予め決められた書込み手続きから外れた書込み手続きを次の様に行なう。
書込み手続きは、例えば、JEDEC(半導体技術協会)標準型コマンド互換方式のフラッシュメモリの場合は、予め決められたアドレスに、コマンドを発行することで行われる。このコマンドは、データバス上の2進データである。例えば16ビットのデータバスの場合、※を16進表示で0からFまでの任意の値として、
※※29、※※30、※※80、※※90、※※A0、※※B0、※※F0を、
アドレス=(※※※※※※A4、※※※※※※54)、のデータとして、書込むことで書込手続きが完了する。
このメモリのいかなるアドレス値に対しても、この書込みが行なわれないようにするためには、上記のデータが発生しないようにすればよい事は明らかである。例えば、16ビットデータから上記の値を除いた集合を用いて、上記トレースコードの出力を行えばよい。必要に応じてデータ変換を行う。特に簡単な例としては、例えば、※※00、を用いてアスキーデータとして出力することで、実際には書込みを行なわない擬似書込みとすることができる。
上記の埋め込みは、従来のUART(Universal Asynchronous Receiver Transmitter)等の通信バスヘ情報を出力する方法に比べて、CPUへの負荷を軽減でき、また、GPIO(汎用ポート)へ出力する方法に比べて、埋め込める情報を増やすことができる、また、内部メモリヘ保存する方法では、エミュレーター等の接続が必須で、使用場面が限られるが、本発明では、実機を用いてデバッグすることができる。
プログラムを開発するに当たってのフローチャート例を図7に示す。
図1に示すターゲットデバイス3には、計測しようとする物理データを出力するセンサーを適切に設けてあるものとする。
特に、電源ラインの電圧と電流とが計測できる場合は、これらの積の総和をとることで消費電力を求め、適用するプログラムP1について、デバッグと低消費電力化を行うことができる。
また、特定の発熱部分に温度センサーを設けておくことで、その点の温度が、許容範囲を超えない様に、デバッグと低消費電力化を行うことができる。
また、例えばターゲットデバイス3に圧電効果を利用した素子を用いている場合に、ターゲットデバイス3に加速度センサーを設けてそのデータを用いることで、最低動作電圧の最適化するためのデバッグを行うことができる。
また、ターゲットデバイス3に赤外線が照射される環境では、赤外線光センサーを設けてそのデータを用いることで、赤外線照射化での最低動作電圧の最適化するためのデバッグを行うことができる。
また、ターゲットデバイス3の近傍に気圧センサーを設け、そのデータを用いる場合は、気圧変化によって生じる熱放散効率の変化によるデバイス温度の変化やキャパシタの容量変化に伴う電圧変動による動作規格の逸脱を避けるためのデバッグを行うことができる。
また、ターゲットデバイス3が変動強磁界中で使用される場合は、回路中に誘導電流が流れて、その動作限界付近では、プログラム動作が影響を受ける場合がある。このため、磁界センサーを設けてそのデータを用いることで、変動強磁界中で使用するターゲットデバイス3の限界電圧を拡大するためのデバッグを行うことができる。
デバッグしようとするプログラムP1を、P2で機能ごとに分解し、P3でそれぞれの機能の分類の中で各モジュールに分割する。P20でこの機能ごとの分解に沿って機能テスト仕様書が作られる。例えばモジュールAについては、P4で関数毎に分割する。例えば関数Aでは、P5で関数を設計する。この関数の設計では、データ構造や制御構造の決定も行なう。P6でこの設計をもとにソースコードを作成する。次に、P7で本発明の特徴の一つであるトレースコードの埋め込みを行なう。この埋め込みに沿って、P21でモジュールテスト仕様書が作られる。
トレースコードの埋め込まれたソースコードは、P8で統合される。動作検証においては、必ずしも全てのモジュールや全ての機能部分を揃える必要はなく、動作可能となったものから検証作業を行なうこともできる。P9で上記の統合されたソースコードが実行されると、各トレースコードが予定のアドレスに出力されるので、これらを本発明のデータ収集器1で収集する。この際、計測しようとする物理データも合わせて収集する。分類することで、上記の単体テスト、結合テスト、あるいは総合テストを同時に行なった場合と等価な結果を得ることができる。また、P22で単体テスト結果レポート、P23で結合テスト結果レポート、P24で総合テスト結果レポートを得ることができる。また、プログラムを変更した場合は、その検証結果についてソフト変更検証レポートが発行される。
このように、本発明のデータ収集器1を用いることによって、検証作業を一括で行なうことができ、しかも実際に用いる状態で検証作業を行なうことができるので、最適化やデバッグ作業が効率的になり、より容易に検証を行なうことができるようになる。
中継器20とCPUの外部メモリバスとの接続には、専用のフレキシブルプリント基板(FPC:Flexible Printed Circuits)で半田付けして接続することで、あるいは、テスト用のソケットを設けてそれを通じて接続することで、インピーダンスの低下を抑制して電気的に接続することができる。高速の外部メモリバスでない場合は、CPUと基板の接続にソケットを用い、そのソケットに配線引き出し用下駄履き状ソケットを用いることもできる。また、電気光学結晶を用いて光学的にデジタル信号を抽出することも可能である。
ソースコードに挿入するデバッグ行のコメント部分に、所定の書式で、別のデバッグ行からの所要時間などの設計目標値を追記しておき、この目標値と実際に収集したデータとを比較してレポートする機能を設けることで、デバッグ作業をより効率化できる。この機能を発展させて、ソースコードにおいて、実行コードにならないコメント部分に、設計段階で、各種の設計目標値を設計者が追記しておくことで、この目標値と実際のデータとを比較することができる。この機能を活用することで自動テスト判定システムが実現できる。
1 データ収集器
1A デジタル信号処理器
1B デジタル信号処理器
1C メモリ
1D 外部出力ポート
2 計測回路
3 ターゲットデバイス
4 トレースデータ
5 物理データ
6 計測データ
7 収集データ
8 記憶データ
9 読出しデータ
10 出力データ
20 第1コンピュータ
21 第2コンピュータ
100 データ収集器1

Claims (5)

  1. プログラム方式の電子情報処理装置であるターゲットデバイスの動作ステップと連動して、該ターゲットデバイスの、(1)指定された回路の電流、(2)指定された部位の電圧、(3)指定された部位の温度、(4)指定された部位の振動、(5)指定された部位の被照射光量、(6)環境の気圧、および(7)環境の磁界強度、である物理データのうち1又は2以上の上記物理データ計測を行う計測部と、
    前記ターゲットデバイスのプログラムであるソースコードにデバッグ行を挿入しコンパイルしデバッグ情報を外部に出力するプログラムを作成するプログラム処理コンピュータと、
    上記プログラムを実行する前記ターゲットデバイスの出力からソースコードに挿入されたデバッグ情報を収集し記憶するとともに、該ソースコードのデバッグ行のデバッグ情報の収集に同期して上記計測部からの物理データを収集し記憶するデータ収集器と、
    上記データ収集器から収集データをデータ処理コンピュータに伝送する通信路と、を備え、
    上記デバッグ行は、ソースコード上の位置情報を示す情報を、上記データ収集器へ出力するものであり、
    上記ターゲットデバイスは、予め決められた書込み手続きの必要な半導体メモリを備え、上記半導体メモリに割り当てられたアドレス宛てに、上記の書き込み手続きを含まない書込みコードを出力するデバッグ行を用いることを特徴とする電子計測器。
  2. 上記デバッグ行は、上記デバッグ行を通過した時刻情報を更に含むデバッグ情報を、デバッグデータとして出力する内容のものであることを特徴とする請求項1に記載の電子計測器。
  3. 上記データ収集器は、上記収集データを圧縮して記憶するものであることを特徴とする請求項1あるいは2のいずれか1つに記載の電子計測器。
  4. 上記データ収集器は、物理データ計測を行う計測部のデータを定期的に監視し、予め指定した値と上記物理データが一致した場合に上記物理データを計測した時刻を収集することを特徴とする請求項1から3のいずれか1つに記載の電子計測器。
  5. 上記の予め指定した値は、上記物理データの値が増加する場合と減少する場合とで異なる値であることを特徴する請求項4に記載の電子計測器。
JP2010006884A 2010-01-15 2010-01-15 電子計測器 Active JP5316810B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010006884A JP5316810B2 (ja) 2010-01-15 2010-01-15 電子計測器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010006884A JP5316810B2 (ja) 2010-01-15 2010-01-15 電子計測器

Publications (2)

Publication Number Publication Date
JP2011145930A JP2011145930A (ja) 2011-07-28
JP5316810B2 true JP5316810B2 (ja) 2013-10-16

Family

ID=44460720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010006884A Active JP5316810B2 (ja) 2010-01-15 2010-01-15 電子計測器

Country Status (1)

Country Link
JP (1) JP5316810B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103198256B (zh) * 2012-01-10 2016-05-25 凹凸电子(武汉)有限公司 用于检测应用程序状态的检测系统及方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62175841A (ja) * 1986-01-30 1987-08-01 Mitsubishi Electric Corp マイクロプロセツサの走行トレ−ス装置
JPH04260938A (ja) * 1991-01-24 1992-09-16 Mitsubishi Electric Corp 故障診断装置
JPH05197596A (ja) * 1991-12-20 1993-08-06 Nec Ibaraki Ltd トレーサ
JPH0619746A (ja) * 1992-07-03 1994-01-28 Mitsubishi Electric Corp 故障診断装置
US5748878A (en) * 1995-09-11 1998-05-05 Applied Microsystems, Inc. Method and apparatus for analyzing software executed in embedded systems
US6615370B1 (en) * 1999-10-01 2003-09-02 Hitachi, Ltd. Circuit for storing trace information
JP2004287855A (ja) * 2003-03-20 2004-10-14 Ricoh Co Ltd 監視方法、監視システム及びプログラム
JP4389215B2 (ja) * 2004-10-29 2009-12-24 日本電気株式会社 構成装置監視システム及び構成装置監視方法

Also Published As

Publication number Publication date
JP2011145930A (ja) 2011-07-28

Similar Documents

Publication Publication Date Title
CN101739339B (zh) 一种基于程序动态依赖关系的软件故障定位方法
CN100449477C (zh) 用于嵌入式系统的实时调试器接口
US9507688B2 (en) Execution history tracing method
US8683282B2 (en) Automatic identification of information useful for generation-based functional verification
CN110632499B (zh) 基于测试对象的测试向量生成方法及存储介质
CN104216746A (zh) 一种星上设备dsp程序地面在线烧写的实时监控和校验方法
Ramanathan et al. Sieve: A tool for automatically detecting variations across program versions
JP5316780B2 (ja) ソースコードトレーサ
JP5316810B2 (ja) 電子計測器
CN112731117A (zh) 芯片的自动验证方法和系统,及存储介质
CN111680463A (zh) 一种文件检查方法和装置
JP2013218492A (ja) ソフトウェアテスト自動評価装置および方法
CN112346918A (zh) 芯片验证中辅助波形debug的方法及应用
KR102165747B1 (ko) 보안성을 고려한 경량 크래시 리포트 기반 디버깅 방법
CN115758963A (zh) 芯片eda仿真中打印信息的处理装置、方法及系统
CN113378502B (zh) 验证信号走向配码的测试方法、装置、介质及设备
JP5397648B2 (ja) ソースコードトレーサ
CN115470106A (zh) 一种可重构芯片的验证方法和系统
CN114660437A (zh) 一种波形文件生成方法及装置
US8370797B2 (en) Data processing apparatus, method therefor, and computer program
CN110598320B (zh) 一种基于硬件仿真加速器的指令集模拟器校准方法
CN1936861A (zh) 程序执行追踪方法及系统以及计算机可读取储存介质
CN102426335B (zh) Dsp器件测试图形向量的自动生成方法
US11487561B1 (en) Post simulation debug and analysis using a system memory model
WO2017149737A1 (ja) 高位合成装置、高位合成方法及び高位合成プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130412

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130528

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130625

R150 Certificate of patent or registration of utility model

Ref document number: 5316810

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250