PlatformIO IDE + STM32 Nucleo で Arduino コードのデバッグをする
昨年の ET2019 の STMicro ブースでもらった STM32 Nucleo、開発環境のインストールめんどいなと放置していたら、PlatformIO から使えるんですね。。しかも Arduino でも mbed でも書けるし、デバッガもそのままで使えるしで、とても快適。
使った(もらった)ボードはNucleo F401REです。OS は macOS です。
プロジェクトのビルド
PIO Home で New Project の作成をします
- Name: てきとう
- Board: ST Nucleo F401RE (手持ちのボードに合わせてください)
- Framework: Arduino (mbed とかも選択可能)
コードは適当に L チカなものを用意しました。
#include <Arduino.h>
unsigned int counter = 0;
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
delay(100);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
counter++;
}
てっきり Nucleo = mbed で書かないとと思い込んでいたけど、Arduino なコードも動くんですね。
初回のビルドではコンパイラやらライブラリやらのダウンロードで数分かかるようです。
デバッガ
で、ここからが本番。
F401RE には STLink というデバッガが付属しているので、そのままでステップ実行とかできるんですね。
まず、platform.ini に debug_tool = stlink
を追記します:
[env:nucleo_f401re]
platform = ststm32
board = nucleo_f401re
framework = arduino
debug_tool = stlink
そして先ほどのコードにブレークポイントを設定します(行番号をクリック):
この状態で デバッグ > デバッグの開始(もしくは F5)をすると、
なにやら見慣れないところで止まりました。とりあえずデバッグコンソールで c (continue) を入力してみましょう。
先ほどのブレークポイントで止まりました。やったね!
あとはステップインするなり、変数の値を見るなり、いつもの gdb のように使えます。
JTAG ICE を接続してデバッガをインストールして設定してー、と面倒な作業をせずとも、ふつーのプログラムのようにマウスぽちぽちでデバッグできて大変便利ですね。
Author And Source
この問題について(PlatformIO IDE + STM32 Nucleo で Arduino コードのデバッグをする), 我々は、より多くの情報をここで見つけました https://qiita.com/zakkied/items/bab049b934fa25c54701著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .