OpenOCD* でインテル® System Debugger を使用する

同カテゴリーの次の記事

Connected World のためのソフトウェア・ツール

この記事は、インテル® デベロッパー・ゾーンに掲載されている「Using Intel® System Debugger with OpenOCD*」の日本語参考訳です。


必要条件

Linux* セットアップ

デフォルトでは、非ルートユーザーは USB 接続された JTAG ポッドにアクセスできません。非ルートユーザーが OpenOCD* を実行できるようにするには、デバイスが接続されるたびに、適切な /dev/bus/usb エントリーに書き込みアクセス権限を与える必要があります。udev ルールを追加することで、この処理を自動化できます。rules ディレクトリーにテキストファイルを作成します。

$ sudo vim /etc/udev/rules.d/99-openocd.rules

ID は JTAG デバイスに依存します。Flyswatter2* と Olimex* ARM-USB-OCD-H の場合、次の項目をルールファイルに追加する必要があります。

SUBSYSTEM=="usb", ATTR{idVendor}=="0403",
ATTR{idProduct}=="6010", MODE="0666"

SUBSYSTEM=="usb", ATTR{idVendor}=="15ba",
ATTR{idProduct}=="002b", MODE="0666"

Windows* セットアップ

選択したプローブ用の USB ドライバーをインストールします。

  1. プローブをホストマシンに接続します。
  2. http://zadig.akeo.ie/ (英語) から Zadig* をダウンロードします。
  3. プローブを選択し、両方のインターフェイス (インターフェイス 0 と 1) 用の WinUSB ドライバーをインストールします。

ハードウェア・セットアップ

次の図は、デバッグ用に推奨するセットアップを示します。

  1. ホストシステム
  2. USB 2.0 オス-オス A-B ケーブル
  3. JTAG プローブ
  4. ARM-JTAG-20-10 アダプター
  5. JTAG ポート
  6. インテル® Galileo ボード
  7. ブートプロセスを表示するためのシリアルケーブル
  8. 電源

注: Flyswatter2* と多くの JTAG アダプターは JTAG とシリアルを同時にサポートします。上の図のようにシリアルケーブルを (7) と (3) に接続すると、JTAG とシリアルコンソールのデータが USB (2) 経由でホストシステム (1) に送られます。上の図では次のケーブルが使用されました: http://www.sfcable.com/D935-06.html (英語)

デバッグセッションを開始する

OpenOCD* を起動する

  • OpenOCD* コンポーネントのインストール・ディレクトリーに移動します。
  • OpenOCD* を起動します。

INSTALL_DIR> bin\openocd.exe  -f scripts\interface\ftdi\olimex-arm-usb-ocd-h.cfg -f scripts\board\quark_x10xx_board.cfg

注: 斜体の個所は、使用するホストと OS と JTAG デバイスに依存します。

インテル® System Debugger の起動

ターゲットの電源をオンにして、OpenOCD* を起動します。

  • “start_xdb_gdb_remote.bat/.sh” を実行するか、
  • インテル® System Debugger の GUI で左上にある [connect icon] をクリックします。

自動的に OpenOCD* のローカルホストのデフォルト設定 (127.0.0.1:3333) に接続しようとします。

異なる接続設定を使用する場合は、

次のようにコンソールで <IP ADDRESS> を指定します。

xdb_D> connect "<IP ADDRESS>:3333" servertype=openocd

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

関連記事

  • 最新の IoT と組込みテクノロジーを利用したスマートな開発最新の IoT と組込みテクノロジーを利用したスマートな開発 この記事は、インテルの The Parallel Universe Magazine 24 号に収録されている、最新の IoT […]
  • インテリジェント・システムと組込みデバイス向けソフトウェア開発ツールの使用法インテリジェント・システムと組込みデバイス向けソフトウェア開発ツールの使用法 この記事は、インテル® デベロッパー・ゾーンに掲載されている「How to use Software Development Tools Targeting Intelligent Systems and Embedded […]
  • SVEN (System Visible Event Nexus) の概要SVEN (System Visible Event Nexus) の概要 この記事は、インテル® デベロッパー・ゾーンに掲載されている「SVEN Overview」の日本語参考訳です。 SVEN とは? SVEN は、カーネル、ユーザーそしてファームウェアで実行中のユニットからのイベントをトレースして記録するための基盤と API です。SVEN は航空機のフライトを記録する “ブラックボックス” […]
  • インテル® 開発ツール・スイート Linux* 対応インテル® 開発ツール・スイート Linux* 対応 この記事は、インテル® デベロッパー・ゾーンに掲載されている「Intel® Tool Suites for Linux*」の日本語参考訳です。 マルチスレッド・アプリケーションを作成するため、高度に最適化されたパフォーマンス・ライブラリーとともにインテル® […]
  • Parallel Universe マガジンParallel Universe マガジン Parallel Universe へようこそ。 米国インテル社が四半期に一度オンラインで公開しているオンラインマガジンです。インテルの技術者によるテクノロジーの解説や、最新ツールの紹介など、並列化に関する記事を毎号掲載しています。第1号からのバックナンバーを PDF 形式で用意しました、ぜひご覧ください。 12 […]