VSCodeでDAPLink搭載Mbedボードのデバッグ環境を構築する

これは、Mbed Advent Calendar 2017の6日目の記事です。

Visual Studio Code (以下、VSCode)上で、DAPLinkファームウェアを搭載しているボードを使ってビルド、デバッグを行う方法を記載します。 Mbed 2 (Classic) 対応ボードのでコンフィグレーションは若干面倒なので、ここではMbed OS 5対応のボードを使った場合に限定した説明になります。

DAPLink(またはCMSIS-DAP)ファームウェアが搭載されているボードは、以下です。

https://os.mbed.com/platforms/?mbed-os=21&interface=8&interface=20

また、pyOCDにも対応したボードを使う必要があります。こちらのリスト内にあるボードが使用可能です。

https://github.com/mbedmicro/pyOCD/blob/master/pyOCD/board/mbed_board.py

STM32マイコンを使う場合は、こちらをご覧ください。

必要なソフトウェアのインストール

VSCodeのダウンロードとインストール

使用するホストマシンに応じたインストーラをダウンロードして、インストールを行います。 https://code.visualstudio.com/Download

C/C++機能拡張のインストール

VSCodeを起動します。メニュー「表示」から「機能拡張」を選択し、C/C++機能拡張をインストールします。

pyOCD のインストール

以下のコマンドでpyOCDをインストールします。

$ pip install pyocd

サポートしているボードは、以下のコマンドで表示されます。

$ pyocd-gdbserver --list-targets

Mbed OS用ビルドツールのインストール

以下のnotebookの「Mbed CLIと関連ツールのインストール」の項目を参照してください。
https://os.mbed.com/users/MACRUM/notebook/mbed-offline-development/

Windowsの場合は、この他にmakeユーティリティのインストールが必要です。
http://gnuwin32.sourceforge.net/packages/make.htm

プロジェクトの設定

プロジェクトを作成します。ここでは、Mbed OSのサンプルコードをインポートしてみます。

$ mbed import mbed-os-example-blinky

VSCode用にプロジェクトをエクスポートします。

$ mbed export -m K64F -i vscode_gcc_arm

上記操作でビルドとデバッグに必要なファイルが生成されるので、同じディレクトリからVSCodeを開きます。

$ code .

プロジェクトファイル内の.vscode/launch.jsonを開き、以下を変更します。

MIDebuggerPath の変更(Windows):

"MIDebuggerPath": "C:\\Program Files (x86)\\GNU Tools ARM Embedded\\5.4 2016q3\\bin\\arm-none-eabi-gdb.exe",

MIDebuggerPath の変更(Mac):

"MIDebuggerPath": "/usr/local/bin/gcc-arm-none-eabi-6-2017-q1-update/bin/arm-none-eabi-gdb",

Information

上記パス名は使用している環境に合わせてください。

ビルドとデバッグ

メニュー「デバッグ」から「デバッグの開始」を選択して、デバッグセッションを開始します。

/media/uploads/MACRUM/vscode.png

汎用レジスタの表示などは出来ませんが、デバッグコンソールから以下のコマンドを入力して表示可能です。

-exec info registers

/media/uploads/MACRUM/vscode_reg.png


Please log in to post comments.