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パワーも必要のようです。