インテル® System Studio 2014 – JTAG デバッガーがさらに多くのプロセッサー・ファミリーをサポート

同カテゴリーの次の記事

インテル® 開発ツール・スイート Linux* 対応

この記事は、インテル® デベロッパー・ゾーンに掲載されている「Intel® System Studio 2014 – JTAG Debugger Supports More Processor Families」の日本語参考訳です。


はじめに

これまで、インテル® System Studio の JTAG デバッガーは、インテル® Atom™ プロセッサー・ファミリーのみサポートしていました。インテル® System Studio 2014 では、Silvermont と Haswell マイクロアーキテクチャー・ベースのプロセッサーを搭載したシステムでも JTAG デバッグを利用できます。ここでは、JTAG デバッグの基本的な要件とこれらのプロセッサーで利用可能ないくつかの機能について説明します。

はじめに

2014 年第 1 四半期にリリースされたインテル® System Studio 2014 では、JTAG デバッグのプロセッサー・サポートが拡大しました。それまで、インテル® Atom™ プロセッサー・ファミリー (N2xxx、D2xxx、Z5xx、E6xx、CE42xx、CE 53xx) のみサポートしていましたが、インテル® System Studio 2014 では、Silvermont マイクロアーキテクチャー・ベースのプロセッサー (Avoton、Bay Trail、Rangeley など) と第 4 世代インテル® Core™ プロセッサー・ファミリー (Haswell) もデバッグできるようになりました。新しくサポートされたプロセッサーに関する最新情報は、ark.intel.com (英語) を参照してください。

http://ark.intel.com/products/codename/54859/Avoton
http://ark.intel.com/products/codename/55844/Bay-Trail
http://ark.intel.com/products/codename/60191/Rangeley
http://ark.intel.com/products/codename/42174/Haswell

必要条件

JTAG デバッグには、ターゲット – ホスト環境が必要です。インテル® System Studio は、ホストシステムにインストールします。ホストと Silvermont/Haswell ターゲットの接続には、インテル® ITP-XDP3 を使用する必要があります。その他のモデルは、現在これらのプラットフォームではサポートされていません (各プロセッサーでサポートされているプローブの種類については、リリースノートを参照してください)。以下の写真は、インテル® ITP-XDP3 を購入すると提供されるものです。米国式の 3 極コンセントを使用できない場合は、デスクトップ PC で使用されているような IEC-60320 C13 国際規格に準拠したコンセントを使用します。

インテル® ITP-XDP3 に含まれるもの

各ターゲット・プラットフォームで JTAG デバッグを有効にする必要があります。以下の写真のように、PCB に XDP ポートがなければなりません。

オンボード XDP ポート

XDP ポートの詳細と JTAG デバッグを有効にする方法については、システムベンダーのドキュメントを参照してください。

ホスト・コンピューターは、Linux* ベースと Windows* ベースのどちらもサポートしています。ホストとターゲット環境の詳細な最新のソフトウェア/ハードウェア要件については、インテル® System Studio 2014 リリースノート (「関連情報」セクションにリンクがあります) およびインテル® System Studio 2014 と一緒にインストールされる『Intel® JTAG Debugger User and Reference Guide』を参照してください。

機能

インテルのマイクロアーキテクチャーとチップセットをフルサポート

アーキテクチャー・レジスター (インテル® ストリーミング SIMD 拡張命令) を含むインテル® プロセッサー固有の機能やインテル® Atom™ プロセッサーのグラフィックス・チップセット・レジスターの詳細を確認できます。デバッガー GUI で周辺機器レジスター、ビット・フィールド、オンラインドキュメントを表示できるため、システム設定を検証/変更する際に非常に便利です。

レジスターの変更

実行トレースのサポート

実行履歴を表示し、システム全体の実行コードフローの詳細を理解できます。実行パスを解析してエラーを見つけたり、例外の原因を特定できます。

新しくなった [Source Files] ウィンドウ

[Source Files] ウィンドウは、ターゲットにロードされたすべてのソースファイルをツリー構造で表示します。ライブラリーごとにフォルダーとソースファイルが表示されます。検索フィールドを使用して表示されるファイルをフィルターすることができます。ツリーにあるソースファイルをダブルクリックすると、ソースファイルが開きます。

[Source Files] ウィンドウ

Linux* OS 認識/カーネルモジュールのデバッグ

インテル® JTAG デバッガーを使用することで、Linux* システムを簡単にデバッグできます。現在アクティブなカーネルスレッド、現在ロードされているモジュールとそのステータス情報、初期化とクリーンアップ・メソッドのメモリー位置が表示されます。カーネルモジュールをデバッグするには、モジュールロード、初期化、クリーンアップ/終了にブレークポイントを設定します。ブレークポイントに到達すると、モジュールのソースコードが表示され、コードをシングルステップ実行できます。アンロードされたカーネルモジュール は、モジュール名を入力し、ブレークポイントを設定することで、OS にロードされているモジュールと同様にデバッグできます。

電力イベントの処理

ターゲットがリセットされたり、ターゲットの電源がオフになった場合、デバッガーは設定を保持し、電源が復帰するとリセットベクトルでターゲットの停止を試みます。

開始後の JTAG デバッガー

アドレスの変換

物理アドレス空間と仮想アドレス空間は簡単に変換できます。そのため、実行中のコードやコードが実際にアクセスしている物理メモリー位置を特定できます。

アドレスの変換

スクリプト言語

非インタラクティブ・モードのデバッグ用に強力なデバッグコマンドが多数用意されています。完了時に結果を記録して解析できます。この機能は、リグレッション・テストに役立ちます。以下は、単純なサンプルです。起動コードを実行し、デバッグする EFI ファームウェアからシンボルをロードするため、ターゲットをリセット後に使用します。

!creation date: Wed Nov 06 14:56:30 2013 STEP /ASSEMBLER 38 efi "loadthis 0x00000000FFFFB5D8" run until @line 1409

UEFI ファームウェアのデバッグ

インテル® JTAG デバッガーは、UEFI ファームウェア/BIOS のソースコードをデバッグできるだけでなく、モジュールの特定に役立ついくつかの機能を備えています。ここで問題となるのは、モジュールをロードして、正しいソースコードをアセンブリーコードに割り当てることです。コードにステップインしたら、デバッガーコンソールに次のコマンドを入力します。

efi "loadthis"
これにより、デバッガーに現在の IP 以降にあるモジュールヘッダーを探すように指示します。ヘッダーが見つかると、デバッガーはそのモジュールのソースコードをロードし表示します。この機能は、BIOS が RAM に移動し、すべてのアドレスが変わった場合に便利です。
efi "loadthis"
上記のコマンドで再度モジュールヘッダーを検索し、ソースコードを表示できます。ヘッダーが見つかると、次のような画面になります。コンソールウィンドウにコマンドが表示されています。また、デバッガーにより C ソースコードがロードされているのが分かります。

UEFI デバッグ

フラッシュ・プログラミング

一部のインテル® Atom™ プロセッサーでは、JTAG デバッガーのプローブによりフラッシュメモリーのプログラミングが可能です。サポートされるプロセッサーとフラッシュメモリーについては、リリースノートを参照してください。

将来の展望

将来、新しいマイクロアーキテクチャーとプロセッサーが市場に投入されたら、インテル® System Studio でそれらがサポートされるでしょう。インテル® System Studio は、引き続き、インテル® アーキテクチャー・ベースのプラットフォーム向け組込みアプリケーション/システムソフトウェア開発において、優れたソリューションを提供します。

参考文献

Web セミナー -「Intel® System Studio: Embedded application development and debugging tools」(英語)
http://software.intel.com/en-us/articles/webinar-intel-system-studio-embedded-application-development-and-debugging-tools
インテル® JTAG デバッガーとイベントトレースの併用によるシステム・ソフトウェア・デバッグ
https://www.izzz.us/products/iss/intel-system-studio-jtag-sven-sdk/
システムソフトウェアの問題を迅速に特定する – インテル® System Studio のインテル® JTAG デバッガー
http://software.intel.com/en-us/find-and-fix-system-software-issues-with-intel-JTAG-debugger
インテル® System Studio リリースノート
http://www.xlsoft.com/jp/products/intel/system/?tab=4
インテル® System Studio 製品ページ
https://www.izzz.us/article/intel-software-dev-products/intel-system-studio/

開発コード名

コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

関連記事