SEGGER System View
WIndowsでいうタスクマネージャをエンベデッドシステムのなかで!
SEGGER SystemViewは、システム全体のデバッガの可視化を実現させた。アプリケーションの実行時 の動作を深く理解するためにリアルタイム録画と可視化ツールです。 開発のとき、問題を分析し、非効率性を見つけるために、複数のスレッドと割り込みとの複雑なシステムで作業するが可能です。
SEGGER System View
• 侵入最小。
• サイクル精度のプロファイリング
• フリーツール。いいえライセンスコストなし、隠れた手数料。
• 追加のハードウェアは必要ありません。
• RTOSは、トレースとRTOSなしトレース割り込み。
• J-LinkとSEGGER RTT技術と連続リアルタイムレコーディングやライブ分析。
• 任意のCPU上で動作します。
SEGGER SystemViewでできることは
ターゲットシステム上の情報を収集し、可視化します。SystemViewは、2つの部分から構成されています。
SystemViewerホストアプリケーションは、組み込みシステムの挙動の解析やプロファイリングが可能になります。 これは、組み込みシステムで生成され、別のウィンドウ内の情報を可視化されたモニタ・データを記録します。 記録はシステムの文書化のための分析用にファイルに保存することができます。
モニタデータは、追加のハードウェア(特に余分なピンが)SystemViewを使用するために必要とされないことを意味し、デバッグインターフェースを介して記録されます。 これは、デバッグ・アクセスを可能にする任意のシステムで使用することができます。
SEGGER J-Linkのリアルタイム転送(RTT)技術とSystemViewerで連続的にデータ記録、分析をリアルタイムでそれを視覚化することができます。
SystemViewは、タスクとソフトウェアタイマが実行されています、どのくらいの頻度正確にどのくらいデバイスが動作、割り込みをどれくらい行っているのか分析することが可能になります。 正確にどの順番で何が起こったかに光を当て、どの割り込みどのタスクスイッチをトリガしたのか、中断したタスクは、基礎となるRTOSのAPI関数を利用したのかがわかります。
サイクル精度のプロファイリングを行うことができ、さらにユーザー機能をクロックすることができます。
SystemViewは、予想されると、このような余分とスプリアス割り込み、および予期しないタスクの変化などの問題や非効率を、見つけるために使用することができるよう、組み込みシステムの動作ことを確認するために使用されるべきです。 これは、インストルメントRTOSなしSystemViewイベント関数を呼び出すためにインスツルメントされた任意の(RT)とOSだけでなく、システムで使用され得るか、またはまったくRTOSなしで、タイムクリティカルなサブルーチンのような割り込み実行と時間にユーザー機能を分析します。
どのように動作しますか?
ターゲット側の小さなソフトウェアモジュールで、SYSTEMVIEW及びRTTが必要があります。
SYSTEMVIEWモジュールは、収集し、監視データをフォーマットし、RTTに渡します。 RTTモジュールがサポートされているシステム上で、J-Linkで連続記録だけでなく、任意のシステムに記録シングルショットを可能にするターゲットバッファにデータを格納します。
ターゲット・システムは、割り込み開始と終了を中断し、イベントを監視するなど、特定の状況において、SYSTEMVIEW関数を呼び出します。 SystemViewは、RTTターゲットバッファに、設定可能な、高精度のタイムスタンプと一緒にこれらのイベントを格納します。 タイムスタンプは、200 MHzのCPUで5nsに相当する1 CPUサイクル、限り正確であることができます。
どのようなリソースがターゲット側に必要とされていますか?
RTTとSYSVIEWモジュールの組み合わせROMのサイズは2KB未満です。 典型的なシステムでは、RAMの約600Byteは、J-Linkので連続記録には十分です。 システムトリガーバッファサイズを記録する時間とイベントの量によって決定される記録します。 他のハードウェアは必要ありません。 CPUは、毎秒10,000事象を持つシステムでは1%未満のオーバーヘッドになり(200 MHzでのCortex-M4のCPUに基づく)は、典型的なイベントのために1未満を必要とします。 デバッグインタフェース(JTAG、SWD、FINE、...)は、データを転送するために使用されるので、追加のピンが必要とされません。
どんなCPUが使用するSystemViewが利用できますか?
SystemViewは、任意のCPU上で使用することができます。 連続リアルタイム録画は、J-LinkのRTT技術がサポートしているシステム上で行うことができます。 RTTは、プログラムの実行中にデバッグインタフェースを介してメモリを読み取る能力が必要です。 これは特に、ARM Cortex-M0、M0 +、M1、M3、M4プロセッサだけでなく、すべてのルネサスRXデバイスも含まれています。 バッファが満たされるまで、シングルショットの撮影を可能にするシステムが停止されたときにバッファの内容を手動で読み取ることができRTT技術でサポートされていないシステムでは。 シングルショットの記録は、記録の開始時に制御できるようにシステムによってトリガすることができます。
ターゲット・システムに追加することは大変でしょうか?
非常に多くありません。 ファイルの数が少ないが、メイクファイルまたはプロジェクトに追加する必要があります。 オペレーティングシステムがSystemSiewをサポートしている場合、唯一の関数が呼び出される必要があります。 RTOSまたは非インストルメントRTOSないシステムでは、コードの2行は、監視されるべき機能の割り込み毎に追加される必要があります。
SystemViewでシステムを分析
それが実行されている間SystemViewerは、ターゲット・システムからのデータを記録することができます。 記録されたデータを分析し、システムの動作は、異なるビューに可視化されます。