NUCLEOボードでArduino その1 Blinkまで
STMicroelectronics の評価ボードSTM32 Nucleoシリーズは、3種類の形状があります。
- NUCLEO-32 Arduino Nanoコネクタ
- NUCLEO-64 Arduino Uno Rev3コネクタ
- NUCLEO-144 Arduino Uno Rev3コネクタ+α
マイコンはCortex-Mシリーズで、フラッシュ・メモリのサイズは、16kバイトから2Mバイトと多岐にわたります。いずれも低価格なボードです。いろいろな開発ツールをサポートしていて、多くはmbedの開発環境で使われることが多いかもしれません。
2017年5月からメーカによるArduino IDEのサポートが開始されました。現在、2018年1月18日に出たバージョンが最新で、Arduino IDE 1.8.5で動作します。
●入手したのはNUCLEO-F303RE
Cortex-Mシリーズは、スマホなどに使われている仮想記憶が利用できるシリーズではなく、組み込み用途向けマイコンです。一番ローエンドがCortex-M0もしくはM0+で、32ビットCPUですが、価格はPICやAVRの8ビット・マイコンに近い設定です。このシリーズが出る前は、ARMはすべてカスタムの設計だったため、一般ユーザが利用できる汎用品がほとんどありませんでした。
ここでは、Cortex-M3に単精度浮動小数点演算命令が追加されたCortex-M4を搭載したNUCLEO-F303REボードを選びました。Cortex-M0+とボード自体の価格はほとんど同じで、1800~1900円で入手できます。フラッシュ・メモリは512Kバイト、SRAMは96kバイトです。
●Arduino IDEで利用する手順
ESP8266やMicro:bitなどと同じ手順です。
STEP1 メニューのファイルから環境設定を立ち上げる。追加のボードマネージャのURLに、
https://raw.githubusercontent.com/stm32duino/BoardManagerFiles/master/STM32/package_stm_index.json
を入れる。すでに別のCPUの記述があれば、カンマ,で区切ってその後ろに記述する。
STEP2 メニューのツールからボードマネージャを起動。STM32で検索。STM32 CoreのMore infoからinstall。
STEP3 メニューのツールからボードのリストを出し、NUCLEO-64を選ぶ。
STEP4 Board part numberでNUCLEO F303RE を選択。そのほかの設定は次の図のとおり。USB miniケーブルをつなぎ、最後に、シリアルポートを選ぶ。
●サンプルBlink
メニューのファイル->スケッチ例->01.BasicsからBlinkを選びます。スケッチの中に3か所のLED_BUILTINを13に書き換えます。マイコンに書き込みます。一度だめなら、再度書き込みます。
コンパイルの時間はArduino UNOより倍以上の時間がかかっています。CPUパワーも必要のようです。