より高速なデバッグと解析を実現! Arm の第二世代デバッグ プローブ DSTREAM-PT 登場

スポーツ ファンとして、私は大抵のイベントはスタジアムで観戦するよりも、家で観る方が好きです。その理由の一つは、ゴールやタッチダウンなど面白い出来事が起こった場合に、テレビではすぐにそのシーンのリプレイを見ることができるからです。リプレイを見ながらゴールの直前に何が起こったのか分析することができるので、どのように点数が入ったのかより良く理解することができ、なぜ得点が入ったのかわかります。

ソフトウェア開発者にとって、トレースはテレビでのリプレイと同じです。ほとんどの Arm システムにはトレース データを生成する機能が備わっており、例えば、中断が実行される直前に何が起こっていたかなど、ターゲットで起こっていたことを理解する手助けになります。検証および検証コードが完全にかつ正確に実行されたかを確認することもできますし、また、割り込みを処理するために実行されたサイクル数のカウントなど、低レベルの性能解析に使うことも可能です。

Arm のトレース技術

大きく分けると、トレースには二種類あります。 実行された命令 (および可能な限りのすべてのデータ アクセス) の完全な履歴である「ハードウェア トレース」と、ユーザーがトレース メッセージを出力するようプログラムにアノテートする「計装トレース」です。CoreSight Embedded Trace Macrocell (ETM) がハードウェア トレースの主な情報源です。デバイスの内部で Arm プロセッサーと並んで配置され、ソースコードに変更を加えることなく、プロセッサーの活動状況を監視します。
一方、Instrumentation Trace Macrocell (ITM) と System Trace Macrocell (STM) は、トレース ストリーム内で取得された結果を出力する、printf 形式のリソースとして使用されます。これらのいずれかを組み合わせて利用した場合、ターゲットから大量のトレース データが生成されるため、データ収集の問題が発生します。

DSTREAM-PT とは

第二世代のデバッグ プローブ DSTREAM-ST の成功を基に、Arm は DSTREAM-PT を開発しました。DSTREAM-PT では、デバイス上の多数のソースからトレース データを収集するために必要な帯域幅が提供されます(“PT” は本製品のパラレル トレース機能から付けられました)。ターゲット上での最大 32 ビット幅のパラレル トレース ポートに対応し、8GB ものデータを格納できるトレース バッファーが備わっており、DSTREAM-ST でこれまで実行できなかった使用方法が可能になります。

例えば、Cortex-R52 ベースのプラットフォームを自動車アプリケーションで使用している場合、発生するすべての命令とデータ アクセスを検証する必要があります。データ アクセスのトレースは、帯域消費型であり、大量のトレース データが生じます。一般的なオンチップ ソリューションでは、必要な分のトレース情報の履歴を保持するためのバッファーがありません。狭いオフチップ トレース ポートの場合は、それだけの量のデータに直面すると、常にオーバーフローしてしまいます。DSTREAM-PT を使用すれば、こういった問題は起こりません。

DSTREAM-PT は、Arm Development Studio と一緒に使うことで、生成されたすべてのトレース データをソース別に自動的に並び替えて、デコードして表示することができます。グローバル タイムスタンプが提供されたら、各ソースのトレース ビューは同期されるため、特定の時間に何が発生していた全体像を把握することができます。以下の図は、Cortex-A7 および Cortex-M4 プロセッサーの両方を含む単一のターゲットからのトレース例です。

さらに、Streamline パフォーマンス アナライザーでトレース データを基にプロフラムのフローを表示したり、コード内で最も時間が掛かっている箇所をハイライトして表示することができるため、最も大きな効果が得られる箇所の最適化に専念することができます。


ターゲットへの接続

開発ボードには、単一の MIPI-60 コネクターを介して接続することができます。また、Mictor や CoreSight コネクターなど、他の一般的なピン配列のアダプターも提供されます。デバッグのシグナルが、トレース コネクターを介して送信されない場合、DSTREAM-ST を直接ターゲットに接続することができます。プローブは自動的にターゲットに併せて調整され、最も信頼性が高いトレースの取得を保証します。

提供時期について

DSTREAM-PT は 2019年 4月から提供開始されました。それ以降にリリースされるバージョンの Development Studio でサポートされます。Arm による最高の性能のデバッグおよびトレース ソリューションをぜひご検討いただければ幸いです。

DSTREAM-PT を含む Arm のデバッグ プローブ製品の詳細に関してはこちらをご覧ください。


この記事は、Arm 社の Software Tools Blog に公開されている「Enhanced debug and analysis: introducing DSTREAM-PT parallel trace debug probe」の日本語参考訳です。

タイトルとURLをコピーしました