ロボカップジュニアでも一時期盛り上がったNucleoですが、開発ツール”mbed”がWebに接続するタイプであった為に、話題になる頻度が減った様に思います。
いざ本番の大会会場でWiFi禁止によってmbedが使えず苦戦を強いられたチームもあるようです。
最近メーカーであるSTマイクロもローカルで使える開発ツール”STM32CubeIDE”を無償配布してますが、使いこなすのは大変です。
Nucleo-64シリーズはピン配置もArduino互換になってます。
価格もリーズナブルなので、なんとか開発環境を改善したい所です。
ArduinoIDEを使う
ArduinoIDEをつかうメリットは
●Arduinoを使っている人は”ボード指定”を変えるだけのお手軽さ
●Arduinoのソフトウエア資産(過去に作ったソース)を使える
●Armプロセッサ上でpulseIn()、constrain()、map()、servo.attach()、servo.write()などのArduino便利関数が使える
ArduinoIDEをNucleo用に設定する
以下の手順を行えば、ArduinoとNucleoの開発環境の切り替えはボード選択を変えるだけです。
Nucleoをボードマネージャに追加
追加のボードマネージャのURL: へ下記URLをコピーして”OK”
https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json
”STM32 Cores”を検索
バージョンを選択してインストール インストールには時間がかかります!
これでOKです。
Nucleoボード選択方法
”Nucleo-64”を選択
Boardpart number:で使用ボード名を選択
シリアルポート:を接続したNucleoのCOMポートNo.に設定すれば設定完了!
これで、いつも通りにArduinoUNOにプログラミングしている感覚でストレスなくArmプロセッサのプログラミングができます。
ビルド時間が長くなるのでフリーズと間違えない様に、ビルド完了を待って下さい。
手元にあったNucleo L053R8、Nucleo F446REでの動作確認済みです。
ピン配置の互換性について若干の注意点がありますが、別の機会に記事にします。