(57)【要約】ＣＰＵ（１）、ＣＰＵバス（２）及びメモリ（３）を有する埋め込みシステム（９）の解析装置を記載している。この埋め込みシステムは、解析データを試験インタフェース（５）を介して入力又は出力するために、少なくとも一つの通信モジュール（４）を有する。この通信モジュールを用いて、ＣＰＵ（１）のクロックサイクルを使用することなく、埋め込みシステムの内部メモリ及びＩ／Ｏアクセスを監視及び／又は記録することができる。
2006507586.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵ（１）、ＣＰＵバス（２）及びメモリ（３）を有する埋め込みシステム（９）用の解析装置であって、この解析装置が、試験インタフェース（５）を介して、解析データを入力又は出力するために、少なくとも一つの通信モジュール（４）を有する解析装置において、
この通信モジュールを用いて、ＣＰＵ（１）のクロックサイクルを使用することなく、埋め込みシステムの内部メモリ及びＩ／Ｏアクセスを監視及び／又は記録することができることを特徴とする解析装置。
【請求項２】
二つの、特に少なくとも三つの自由に選択可能な解析モードであって、これらの解析モードが、解析目的でデータをリード及び／又はライトする際におけるＣＰＵ１の関与の方法及び程度に関して、互いに異なっている解析モードを特徴とする請求項１に記載の解析装置。
【請求項３】
当該の選択した解析モードに応じて、
・クロックサイクルを使用することなく、特に規定可能なアドレス範囲へのＣＰＵのすべてのライトアクセスを記録するか、
・ＣＰＵのすべてのリードアクセスを記録するか、
・クロックサイクルを使用して、ＣＰＵと外部メモリ（６）間でダイレクトリード／ライトを実行するか、
のいずれかが実行されることを特徴とする請求項２に記載の解析装置。
【請求項４】
当該の通信モジュールが、コントローラーを有し、このコントローラーが、データバス及び／又は制御バス及び／又はアドレスバスとの接続を介して、埋め込みシステムのこの又はこれらのバスに、個別にアクセスして、リアルタイムで、即ちＣＰＵに影響を与えることなく、ライト及び／又はリードアクセスをトレースすることができることを特徴とする請求項１から３までのいずれか一つに記載の解析装置。
【請求項５】
当該の通信モジュールが、バッファメモリ（８）と接続されているか、或いは特にバッファメモリを有し、その際当該のライト及び／又はリードアクセス時に伝送されるデータを、このバッファメモリに記憶することができることを特徴とする請求項１から４までのいずれか一つに記載の解析装置。
【請求項６】
当該のバッファメモリから、試験インタフェース（５）を介して、バッファする形でデータを出力するか、或いはこのバッファメモリに、このインタフェースを介して、データをライトすることができることを特徴とする請求項１から５までのいずれか一つに記載の解析装置。
【請求項７】
当該の外部メモリ（６）が、コアメモリ又はデュアルポートメモリであることを特徴とする請求項１から６までのいずれか一つに記載の解析装置。
【請求項８】
当該の通信モジュール（４）が、埋め込みシステムに統合されていることを特徴とする請求項１から７までのいずれか一つに記載の解析装置。
【請求項９】
当該の試験インタフェース（５）が、埋め込みシステムの外に配置されたメモリ（６）と接続されていることを特徴とする請求項１から８までのいずれか一つに記載の解析装置。
【請求項１０】
当該の通信モジュールから外部メモリへのデータの伝送が、パラレルインタフェースを介して行われることを特徴とする請求項１から９までのいずれか一つに記載の解析装置。
【請求項１１】
外部メモリ（６）が、外部デバッグ用アプリケーションとのインタフェース接続（１４）を提供するデータ編集装置（７）と接続されていることを特徴とする請求項１から１０までのいずれか一つに記載の解析装置。
【請求項１２】
中央処理装置（１）、ＣＰＵバス（２）及びメモリ（３）を有する埋め込みシステムにおいて、
このシステムが、請求項１から１１までのいずれか一つに記載の解析装置を有することを特徴とする埋め込みシステム。
【請求項１３】
請求項１から１１までのいずれか一つに記載の解析装置を有する埋め込みシステムの解析方法において、
少なくとも一つのモードが有り、このモードでは、当該の解析データを、リアルタイムで、少なくともＣＰＵ、データメモリ、プログラムメモリ及びＩ／Ｏ部品を有するシステムからリード及び／又はこのシステムにライトすることが可能であり、その際解析のために、このシステムを停止又は中断する必要がないことを特徴とする方法。
【請求項１４】
当該のメモリ内容又は埋め込みシステムの対応する評価可能な情報を、完全に又は部分的に、リアルタイムで外部メモリにコピーし、その際特に事前に、データをバッファすること、及び／又は、
外部メモリ（６）のメモリ内容又はこのメモリ（６）のメモリ内容に関する対応する評価可能な情報を、完全に又は部分的に、リアルタイムで埋め込みシステムのメモリにコピーし、その際特に事前に、データをバッファすること、
を特徴とする請求項１３に記載の方法。
【請求項１５】
当該の外部メモリが、典型的なデバッグ用アプリケーションにデータを伝送するために使用されることを特徴とする請求項１３又は１４に記載の方法。
【請求項１６】
ＲＡＭ３へのＣＰＵのアクセスの際に、当該のデバッグに必要なデータだけを、外部メモリ（６）に伝送することを特徴とする請求項１３から１５までのいずれか一つに記載の方法。
【請求項１７】
バッファメモリを用いて、ＣＰＵのライトアクセス及び／又はリードアクセスを記録することを特徴とする請求項１３から１６までのいずれか一つに記載の方法。
【請求項１８】
当該のライトアクセスに関する情報を、ＣＰＵ命令を追加することなく、バッファメモリ（８）又はダイレクトに通信モジュール（４）にライトするとともに、当該のリードアクセスに関する情報を、ＣＰＵのアクティブな支援により、このバッファメモリにライトすることを特徴とする請求項１３から１７までのいずれか一つに記載の方法。
【請求項１９】
ＣＰＵのすべてのライト及びリードアクセスを当該の通信モジュールに転送する、埋め込みシステムのモードが規定されていることを特徴とする請求項１３から１８までのいずれか一つに記載の方法。
【請求項２０】
ＣＰＵのライトアクセス又はリードアクセスのどちらかだけを当該の通信モジュールに転送するとともに、それ以外のＣＰＵのメモリへのアクセスを、ＣＰＵがアクティブに当該の外部メモリに記録する、埋め込みシステムのモードが規定されていることを特徴とする請求項１３から１９までのいずれか一つに記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、請求項１の上位概念にもとづく解析装置、請求項１２の上位概念にもとづく埋め込みシステム、並びに解析装置を用いた埋め込みシステムの解析方法に関する。
【背景技術】
【０００２】
埋め込みシステム用ソフトウェアの効果的な開発を可能とするためには、通常動作時における誤り識別（デバック）を可能とする装置を備えるのが一般的である。所謂ＪＴＡＧインタフェース（ジョイント・テスト・アクション・グループ、非特許文献１）を介した埋め込みシステムの周知のデバック体系では、「バウンダリスキャン」試験方法による検査作業を実行することができる。この方法は、プロセッサのステップ・バイ・ステップでの実行（シングルステッピング）、停止ポイントの設定（ブレイクポイント）及び所謂ウォッチポイントの設定を可能とするものである。これらによって、確かに周知の誤り識別用の補助手段で、基本的なプログラムの実行と個々の変数値の状態をトレースすることができるが、そのためには、通常動作しているシステムを停止させなければならない。しかし、この場合、不利なことには、もはやマイクロプロセッサの出力をリアルタイムに続行することはできない。
【０００３】
ここで、埋め込みシステムは、多くの場合、その典型的な利用分野がリアルタイム制御／運転であるために、デバック目的での、少なくともリアルタイム処理に関連して変化するデータを検査するための停止が許されないリアルタイムシステムであるという問題が有る。
【０００４】
更に、リアルタイム解析用の「ボンドアウト」チップを用いて、すべての関連するＣＰＵバス信号（アドレス信号、データ信号及び制御信号）を、筐体ピンを介して、例えば外部のロジック解析装置に延伸することが可能である、所謂トレース・インタフェースが知られている。ボンドアウトチップは、別の筐体のマイクロコントローラー（ＭＣＵ）であり、これを用いて、プロセッサバス（データ信号、アドレス信号及び制御信号）を外部と接続するものである。
【０００５】
今日における埋め込みシステムに対して一般的な数百メガヘルツの高いシステム周波数と現在のキャッシュを有するメモリアーキテクチャでは、高い速度に対する要求のために、もはやこの誤り解析方法を使用することはできない。通常使用する技術にもとづき決まるシステム周波数とそれから得られる帯域幅のために、比較的大きなデータメモリ（例えば、１００Ｋバイト以上の大きさ）のリアルタイム出力は、可能ではない。リアルタイムによるデータの伝送に必要な帯域幅を提供するために考え得る可能性は、伝送するデータをパラレルに出力することである。しかし、通常そのために使用されるピン数は、特に費用の面から制約されている。
【非特許文献１】IEEE Standard 1149.1-1990, "IEEE Standard Test Access Port and Boundary Scan Architecture", Institue of Electrical and Electronics Engineers Inc., New York, USA, 1990
【発明の開示】
【発明が解決しようとする課題】
【０００６】
以上のことから、この発明の課題は、今日の一般的な高速の埋め込みシステムにおいても使用することができる、埋め込みシステムの解析装置を提供することである。
【課題を解決するための手段】
【０００７】
この課題は、請求項１にもとづく解析装置によって解決される。
【０００８】
この発明は、次の考えをベースとしている。一つには、埋め込みシステムの内部システム状態は、その時点でのデータメモリ内容（ＲＡＭ）によって記述又は解析することができる。このことから、このメモリ内容をリアルタイムで外部のデータメモリにコピーすることができる場合、それにもとづき、後続の評価ユニットによって、システム状態を更に処理して、評価できる可能性が生じるものである。
【０００９】
この解析装置では、有利には、内部システム状態のコピーが、リアルタイムで外部メモリにライトされる。
【００１０】
この解析装置は、有利には、特に自動車のブレーキシステムに関する電子制御機器に使用される埋め込みシステムの構成要素である。この発明にもとづく埋め込みシステムでは、有利には、例えば一つ又は複数のＣＰＵやメモリなどの、システムの基本的な部品が、部分的又は全体的な冗長系として実現される。こうすることによって、埋め込みシステムの信頼度が向上する。
【００１１】
有利には、データの記録は、メモリ内容全体又は全メモリ領域の内容を伝送する形で行うのではなく、メモリの変化分、特にＣＰＵ及び／又は周辺機器のすべてのライトアクセスだけを伝送する。この方法で、データ出力に必要な帯域幅の低減を実現することができる。
【００１２】
その他、このシステムは、有利には、ＣＰＵによるダイレクトデータ出力手段を有する。このダイレクトデータ出力手段以外に、特に解析モジュールによるバックグラウンドでのデータの自動複写手段を備える。これによって、データ出力における柔軟性を向上できる利点が得られる。
【００１３】
この発明では、特にこのケースのアプリケーションに関して、（一時的にでも）システムを停止させることなく（非割り込み式により）、埋め込みシステムとのデータ交換をリアルタイムで行うことができる形に調整された汎用的なデータ入力・出力モジュールを提案している。
【００１４】
従来技術で周知のソフトウェア・デバッグ装置と比較して、この発明にもとづく解析装置は、例えば自動車のブレーキシステム用の制御アルゴリズムを開発する場合、デバッグ時において、特に制御変数の、ダイナミックなシステム挙動を追跡することができるという利点を有する。更に、ハードウェア・イン・ザ・ループ・シミュレータ又はラピッド・プロトタイピング・システムへの埋め込みシステムの利用に対して、埋め込みシステムへのデータ入力を行うことができるのは有利である。
【００１５】
更に、この発明は、前述した請求項１２にもとづく解析装置を有する埋め込みシステムの解析方法に関する。
【００１６】
この方法は、埋め込みシステムの処理速度が、バックグラウンドで進行するデバッグプロセスによって低減されないという利点を有する。これによって、デバッグ時においても、データのリアルタイム処理が可能である。
【００１７】
この発明にもとづく方法は、有利には、完全なデータメモリ内容をリアルタイムに出力する工程をも有する。
【００１８】
別の有利な実施構成は、従属請求項により明らかにされている。
【発明を実施するための最良の形態】
【００１９】
以下において、図１に関連した実施例にもとづき、この発明による解析装置及びこの発明による方法について述べる。
【００２０】
埋め込みシステム９は、一つ又は複数のＣＰＵ１、一つのＲＡＭ３、一つの解析装置４及び一つのデバッグ用インタフェース５を有する。ブロック接続図を簡略化するために、ＲＯＭ、クロック発生器、ＩＯなどの、その他の一般的な埋め込みシステムの機能部品は、図示されていない。
【００２１】
この解析装置は、以下に述べる三つの動作モードを有する。動作モード１では、解析装置は、データメモリ３へのＣＰＵ１のすべてのライトアクセスをモニターする。即ち、データメモリ３へのＣＰＵ１のすべてのライトアクセスは、ＣＰＵバス２を介して、ここで提案する拡張データ入力・出力ユニット４（ＥＤＰ、拡張データポート）により、そこに有るコントローラーを用いて、パラレル・インタフェース５を経由して、外部データメモリ６に自動的にライトされる。このために、このコントローラーは、少なくとも使用しているメモリ３と同じ帯域幅を持たなければならない。コントローラーは、データバスとの接続以外に、特に制御バス及びアドレスバスとの接続をも有し、そのため、この方法の有利な実施構成では、解析のために、特別に選定したアドレス範囲及び／又は特別に選定したデータタイプだけをトレースすることができる。従って、ＣＰＵ１は、データのタッピングとデータの伝送のために、追加のコマンドを実行する必要がない。
【００２２】
外部データメモリ６は、有利にはデュアルポート・メモリとして実現され、通常ＲＡＭ３の監視しているメモリ範囲又はＲＡＭ３の全メモリ内容の正確なコピーを有する。このメモリ６は、コアメモリとすることもでき、このコアメモリは、その後の（オフラインでの）解析のために、入ってくるデータフローを記憶するものである。
【００２３】
外部インタフェース５は、有利にはＣＰＵバスの帯域幅より小さい帯域幅を有する。この場合、データ出力ユニット４内に配置されたＦＩＦＯメモリ８は、タッピングしたデータの一時的なバッファリング機能を提供するものである。この方法では、ファンクションのスタート時におけるキャッシュライン又はＣＰＵレジスターダンプのリライトを実行するアクセスを、インタフェース５に出力することも可能である。
【００２４】
機能モード２では、解析装置４は、データメモリへのＣＰＵ１のすべてのリードアクセスをモニターする。このモードは、かなりの部分が機能モード１と同じであるが、次の相違点が有る。すべてのリードアクセスは、自動的にインタフェース５を経由して出力される。この場合、解析装置４は、ＣＰＵバス上で監視可能である、リードサイクル、ライトサイクルなどの、すべてのオペレーションを登録する（モニターする）。機能モード２では、ＣＰＵ１は、メモリダンプをアクティブに行うが、もっとも、このことは、僅かなランタイムのロスを生じるが、許容可能なものである。この解析装置４のモニターによって、データワードの出力に必要となるクロックサイクル数が、低減されるか、或いはそれどころか全く不用となる。
【００２５】
ＣＰＵ１は、データメモリ内容を、ＣＰＵの図示されていないレジスターにリードする。その際、レジスターに有ったデータを、解析装置４にライトすることができる。ここに記載した機能方法は、これ以降に述べる機能モード３と基本的に同じである。
【００２６】
この例（機能モード２）で提案している解析装置では、ＣＰＵ１は、データメモリ内容をＣＰＵレジスターにリードしている。これと並行して、データバスをモニターしているデータ出力ユニット４は、対応するデータを自動的に出力する、即ちデータ出力用の明示的なライトサイクルは、解析するのに必要ではない。
【００２７】
機能モード３では、データ出力ユニットへのダイレクトライト又はデータ出力ユニットからのダイレクトリードが行われる。即ち、機能モード３は、ＣＰＵ１が解析装置４にデータをアクティブに外部出力する、或いはそこからアクティブにリードするという事までは、機能モード１と同じであるが、もっとも、そのことによって追加のクロックサイクルが必要となる。
【００２８】
この解析装置は、モジュール７を介して、外部メモリ６から、例えばシステム状態のリアルタイム監視１０、モジュールを介した完全なデータメモリのコピーを提供するオフライン解析１１、通信チャネルを介したフラッシュダウンロード１２（プログラムメモリのプログラミング）、埋め込みシステムの動作中でのパラメータ変更、システム・スティミュラスの伝送、ラピッド・プロトタイピングやハードウェア・イン・ザ・ループ・シミュレーションなどの典型的なデバッグ用アプリケーションに、データを伝送することができる。
【図面の簡単な説明】
【００２９】
【図１】この発明による解析装置４を有する埋め込みシステム９。
【符号の説明】
【００３０】
１    ＣＰＵ
２    ＣＰＵバス
３    メモリ
４    解析装置
５    デバッグ用インタフェース
６    外部メモリ
７    データ収集モジュール
８    ＦＩＦＯメモリ
９    埋め込みシステム
１０    デバッグ用アプリケーション（リアルタイム監視）
１１    デバッグ用アプリケーション（ＲＡＭコピーのオフライン解析）
１２    デバッグ用アプリケーション（フラッシュダウンロード）
１３    デバッグ用アプリケーション（パラメータ変更、スティミュラス）
【図１】
2006507586.tif 000003
【国際調査報告】
2006507586.tif 000004
2006507586.tif 000005
2006507586.tif 000006
2006507586.tif 000007
2006507586.tif 000008
2006507586.tif 000009