Eclipse と pyOCD でプロジェクトをデバッグする

このドキュメントは、mbed からエクスポートされたプロジェクトを eclipse と pyOCD でデバッグする方法を説明します。プロジェクトをデバッグするには、最初に makefile としてプロジェクトをエクスポートし、次に makefile を eclipse でインポートし、最後にデバッガの設定を行います。以下に詳細を説明します。

最初のセットアップ

  • eclipse with CDT の最新版をダウンロードする
  • GNU ARM Eclipse plugin をインストールする
    • Eclipse を開く
    • Help メニューアイテムをクリックし、Install New Software を選択する
    • Work with 内にインストールアドレス http://sourceforge.net/projects/gnuarmeclipse/files/Eclipse/updates/ をペーストし、Enter を押す
    • GNU ARM C/C++ Cross Development Tools パッケージが表示されるので、それを選択する
    • Next を複数回クリックし、licence agreements に同意する
    • Finish をクリックする。eclipse の再起動が促されたら Yes を選択する
  • makefile プロジェクト用に必要なツールをインストールする:
    • GCC ARM Embedded
    • Windows のみ
      • インストール後に GCC ARM Embedded の bin ディレクトリを PATH に追加する。 - 例: C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2015q2\bin
  • python 2.7.9 または最新版をインストールする
    • Windows のみ - インストール時に "Add to path" が選択されているのを確認する
  • "pip install pyocd" を実行し、pyOCD をインストールする

Eclipse でのインポートとビルド

  • mbed オンラインコンパイラからデバッグしたいプロジェクトを GCC (Arm Embedded) でエクスポートする
  • アーカイブされたプロジェクトファイルを展開する
  • Eclipse を開く
  • File メニューアイテムをクリックし、New にマウスオーバーして、Makefile Project with Existing Code を選択する
    • Existing Code Location に、プロジェクトファイルの場所をペーストする
    • Project Name は自動生成されるので、任意の名前に変更する
    • Toolchain for Indexer Settings は、 Cross ARM GCC を選択する
    • Finish をクリックしてプロジェクトを生成する
  • Eclipse のビルド設定を行うために Project メニューアイテムから Properties を選択する
    • C/C++ Build を選択する
    • Use default build command の選択を解除する
    • Build command で、make DEBUG=1 と入力する
      • 参考: DEBUG=1 は、デバッグ情報を付加してビルドします
    • Apply をクリックし、OK を押す

      /media/uploads/c1728p9/30_-_build_config.png
  • build ボタンを押し、プロジェクトがビルドされることを確認する

デバッグコンフィグレーション

デバッグを行うためにコンフィグレーションを設定します。これはプロジェクト毎に設定する必要があります。一度設定されればコンフィグレーションはリビジョンコントロールシステムでチェックすることも可能です。

  • Run メニューアイテムから Debug Configurations... を選択し、コンフィグレーションを行う
  • GDB pyOCD Debugging を右クリックし、New を選択する
  • Main タブを開き、Project が正しく設定され、C/C++ Application に正しい .elf ファイルが設定されているか確認する

    /media/uploads/c1728p9/10_-_debug_main_3.png
  • Debugger タブを開く
    • pyOCD Setup ボックス内 :
      • Start pyOCD locally をチェックする
      • Executable:pyocd-gdbserver がインストールしたフルパス付きで指定する
      • GDB port: にデフォルト値 3333 を設定する
    • GDB Client Setup ボックス内 :
      • Executablearm-none-eabi-gdb.exe に設定する(フルパス付加)
      • Commands:set mem inaccessible-by-default off を設定する
    • コンフィグレーションの設定例 :

      /media/uploads/c1728p9/11_-_debug_debugger_2.png
    • Startup タブはデフォルトのまま
    • Source タブはデフォルトのまま
    • Common タブを開く
      • Save asShared fileを選択する
      • Display in favorites menu で、Debug をチェックする

デバッグ

デバッグセッションを開始するにはバグアイコン隣のドロップダウンメニューから、作成し他でバッグコンフィグレーションを選択するのが簡単です。これによりプログラムが自動的にロードされ、デバッグセッションが開始されます。ここから、breakpoint や watchpoint を設定したり、register や disassembly を表示したり、メモリやコールスタックをブラウズすることが可能です。

/media/uploads/c1728p9/21_-_debugging_4.png


1 comment on Eclipse と pyOCD でプロジェクトをデバッグする:

21 Mar 2018

ありがとうございます。 macos 上の Virtualbox (ubuntu) でeclipse CDTを使って mbed のデバッグまでたどりつけました。 ただし、 ubuntu (16.04LTS)の場合は、コマンドラインから sudo eclipseで起動する必要がありました。しないと、mbedデバイスの検出ができませんでした。(pyocd-tools, pyocd-flashもsudo必要)

Please log in to post comments.