tattaka/ぐだぐだcoder

アクアリウムとかマイクロマウスとかアリュージョニストとかそのへん

STM32CubeMXのMakefile出力機能でSTM32お手軽開発環境構築

最近というほど最近ではないのですが,STM32の初期化コード自動生成ツールであるCubeMXにMakefileを出力する機能が追加され,ソフト文鎮EclipseなどのIDEを使わないで開発することが容易になりました.自分のための備忘録も兼ねて開発環境のセットアップから書き込みまでの手順をまとめておこうと思います.

 開発環境のインストール

必要なソフトウェアは以下の通り

  • gcc-arm-none-eabi

インストールに関しては以下のページの通り

Linuxに関してもMacと同様にインストールできる

qiita.com

  • STM32CubeMX

本来ならここからインストールできるはず(10/11日現在リンクが消えてるので復活するまで待ちましょう......)

www.st.com

  • stm32flashやstlinkなどの書き込みツール

stm32flashは以下のリンクから自分のOSに応じてダウンロードしインストールする

sourceforge.net

stlinkは以下のページを参考にOSに応じてインストール

github.com

  • 好きなエディタ

自分はAtomで開発してます.

プロジェクト作成

STM32CubeMXを起動しNew Projectを選択

f:id:tattaka5X:20171011124721p:plain

以下の画面になったら使用したいボード・CPUを選ぶ

f:id:tattaka5X:20171011124735p:plain

今回はNucleoF446ボードを例にやっていきます.

f:id:tattaka5X:20171011125850p:plain

ProjectタブのSettingsを開いて

f:id:tattaka5X:20171011125957p:plain

以下のようにします(プロジェクトの場所は任意で)

f:id:tattaka5X:20171011130151p:plain

f:id:tattaka5X:20171011130324p:plain

設定が終わったらOKを押し,Generateボタン(歯車っぽいボタン)を押してコードを生成します.

先に設定した場所を見るとプロジェクトが生成されていることがわかります.

f:id:tattaka5X:20171011130850p:plain

コンパイル

このままだとコンパイルが通らないので生成されたMakefileの中のBINPATHにgcc-arm-none-eabiのPATHを入力します.

#######################################
# binaries
#######################################
BINPATH = /PATH/gcc-arm-none-eabi/bin/
#gcc-arm-none-eabiのバージョンや場所は各々の環境に応じて変更する

また,自分で新しく.cファイルを作った場合は

######################################
# source
######################################

以下に作った.cファイルを追記しなければいけません.

 

修正が終わったら

make all

してコンパイルができるはずです.

書き込み

コンパイル後のバイナリファイルは新しく作られたbuildディレクトリの中に生成されます.

たくさんファイルが出来ていますがデフォルトだとプロジェクト名と同じ名前のファイル(.bin,.elf,.hex,.map)があると思います.

生成されたバイナリファイルを書き込みツールを用いてマイコンに書き込めれば成功です!

まとめ

これで一通りSTM32の開発環境が整ったと思います. 

自分の使いやすいエディタで良きSTM32ライフを!