STM32 Nucleoの開発環境を整える

Make a develop environment for STM32 Nucleo
 
STマイクロエレクトロニクス(以下ST)のマイコン開発ボードに備わっている機能をフルに発揮できるようにするため、ここではEclipseベースの統合開発環境「TrueSTUDIO」とSTM32フレームワーク「STM32CubeMX」による開発環境の構築例を紹介しています。

TrueSTUDIOはST社のサイトよりダウンロードできます。かつてはAtollic社が開発した有償のソフトウェアだったのですが、2017年末にSTが買収したことにともない、従来のPro相当の機能がすべて無料で使えるようになりました。

STM32CubeMXはGUIでチップのピン配列やクロック数を指定した情報を元に、必要なライブラリコード一式を生成するフレームワークツールです。公式サイトよりダウンロードしたファイルはEclipseプラグインとしてアーカイブされています。

TrueSTUDIOを起動したら「ヘルプ→新規ソフトウェアのインストール」を選びます。
「作業対象」の右隣にある「追加」ボタンより、ダウンロードしたzipファイルを指定します。
プラグインのチェックを確認して、インストールを続行します。
TrueSTUDIOが再起動されたら、ツールメニューの「ウィンドウ→ビューの表示→その他」より「STM32CubeMX」を選択します。
ホームページが表示されたら「New Project」の下にある「ACCESS TO BOARD SELECTOR」をクリックします。
一覧から手持ちの開発ボードと同じ型番を見つけたら、それを選択し、ウィンドウ右上の「Start Project」をクリック。
ピン配置を標準的なものにするか問われるので、ここでは「はい」を選択。
MCU設定画面が表示されます。まずは「Pinout & Configuration」タブより、割り当てたいピンの機能を再指定します。
標準ではB1はNucleoにある青いプッシュボタン、LD2は同じくボード上のLEDライトにつながっています。
となりの「Clock Configuretion」ではCPUや各種モジュールの周波数を調整できます。標準では内部16MHzクロックが基調となりますが、外部クロックを選ぶこともできます。NucleoではSTLink2にある8MHzクリスタルを共有するか、任意の水晶発振器とコンデンサーをボードの指定位置に半田付けするか、対応番号のピンからケーブルで接続することになります。値をいじりすぎたようであれば「Resolve Clock Issus」ボタンで問題点を解決するか、左にあるリセットボタンを押して初期値に戻します。
「Project Manager」タブではプロジェクト全体の設定を行います。少なくとも「Toolchain / IDE」の項目は「TrueSTUDIO」にしておきます。
このページにある「Advanced Setting」では2種類のドライバーを選択することができます。「LL」は「HAL」に比べてハードウェアとの親和性が高いプログラムコードが生成・使用されるため、最適化という面では優位ですが、プログラムの移植性は低くなります。このブログのプログラム例は主にHALを使用します。
設定が終わったら「GENERATE CODE」ボタンを押してプロジェクトファイル一式を生成させます。「.cproject」拡張子のファイルがすでにTrueSTUDIOと関連付けられているのであれば、この直後のダイアログの「Open project」よりプロジェクトを直接開くことができます。
2019/03/04