最近というほど最近ではないのですが,STM32の初期化コード自動生成ツールであるCubeMXにMakefileを出力する機能が追加され,ソフト文鎮EclipseなどのIDEを使わないで開発することが容易になりました.自分のための備忘録も兼ねて開発環境のセットアップから書き込みまでの手順をまとめておこうと思います.
開発環境のインストール
必要なソフトウェアは以下の通り
- gcc-arm-none-eabi
インストールに関しては以下のページの通り
- STM32CubeMX
本来ならここからインストールできるはず(10/11日現在リンクが消えてるので復活するまで待ちましょう......)※追記(11/11) インストールできるようになってました
- stm32flashやstlinkなどの書き込みツール
stm32flashは以下のリンクから自分のOSに応じてダウンロードしインストールする
stlinkは以下のページを参考にOSに応じてインストール
- 好きなエディタ
自分はAtomで開発してます.
プロジェクト作成
STM32CubeMXを起動しNew Projectを選択
以下の画面になったら使用したいボード・CPUを選ぶ
今回はNucleoF446ボードを例にやっていきます.
ProjectタブのSettingsを開いて
以下のようにします(プロジェクトの場所は任意で)
設定が終わったらOKを押し,Generateボタン(歯車っぽいボタン)を押してコードを生成します.
先に設定した場所を見るとプロジェクトが生成されていることがわかります.
コンパイル
このままだとコンパイルが通らないので生成された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ライフを!