この記事は、インテル® デベロッパー・ゾーンに掲載されている「Using Intel® System Debugger with OpenOCD*」(https://software.intel.com/en-us/articles/using-intel-system-debugger-with-openocd) の日本語参考訳です。
必要条件
- JTAG デバイス: Olimex* ARM-USB-OCD-H または TinCanTools* Flyswatters2*
- TinCanTools* FLYSWATTER2*:
https://www.tincantools.com/openocd/ (英語) - Olimex* ARM-USB-OCD-H:
https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ (英語)
https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-20-10/ (英語) - TinCanTools* FLYSWATTER2*:
- インテル® Quark SoC ベースのターゲット・プラットフォーム
- インテル® System Studio (インテル® System Debugger と 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 ドライバーをインストールします。
- プローブをホストマシンに接続します。
- http://zadig.akeo.ie/ から Zadig* をダウンロードします。
- プローブを選択し、両方のインターフェイス (インターフェイス 0 と 1) 用の WinUSB ドライバーをインストールします。
ハードウェア・セットアップ
次の図は、デバッグ用に推奨するセットアップを示します。
- ホストシステム
- USB 2.0 オス-オス A-B ケーブル
- JTAG プローブ
- ARM-JTAG-20-10 アダプター
- JTAG ポート
- インテル® Galileo ボード
- ブートプロセスを表示するためのシリアルケーブル
- 電源
注: 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
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。