LoginSignup
0
1

More than 3 years have passed since last update.

Arduino Due互換機でST-Link V2を使用してブレークポイントデバッグをする

Posted at

ArduinoDue互換機でブレークポイントデバッグができることが判ったので手順をまとめました。投稿者が使用した互換機はDUE COREですが、正規のArduinoDueや他のご互換機でも同じだと思います。

【前提】
・VSCode + PlatformIOのセットアップが済んでおり、Dueにプログラム書き込みができている(書き込みケーブル用のデバイスドライバもインストール済み)。
・ST-Link V2(パチモンでもOK)を持っていて、このデバイスのドライバもインストール済みである。
dd.PNG

【手順】
1. platformio.iniを下記を参考に書き換えます。upload_portを固定で指定しているのは投稿者の環境で同じデバイス(書き込みケーブル)が複数ありオートで識別しなかったためです。オート(ポート無指定)でもうまくいく環境もあると思います。

platromio.ini
[env:due]
platform = atmelsam
board = due
framework = arduino
debug_tool = stlink
upload_protocol = sam-ba
upload_port = COM3 ;デバイスマネージャで確認して正しいポートを指定
  1. デバッグしたいソースをVSCodeで開き、ブレークポイントを適当に貼ります(F9押下)。
    bp.PNG

  2. 書き込みケーブル(投稿者の環境では下の画像のようなもの)、ST-Link V2をDue基板に接続します。
       Due        ST-LinkV2
    PB28/TCK/SWCLK --- SWCLK
    PB31/TMS/SWDIO --- SWDIO
    DSC_1175.JPG

  3. Due基板のERASEボタンを押下してflashをクリアします(デバッグ用のプログラムをアップロードするため)。

  4. VSCodeの"Run"メニューからStart "Debugging"を選びます。

  5. プログラムのアップロードとデバッガの接続が終わるとブレークポイントでプログラムが停止します。このとき何か所かブレークを貼っていなくても止まってしまう箇所(OSの中)がありますが、それはF5でスキップしてください。

  6. 希望の位置でブレークしたら成功です。F10でステップ実行、F11で関数の中に入る、F5で次のブレークポイントまで一気に実行、変数の書き換えなどいろいろ試してみてください。
    running.PNG

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1