AtomでSTM32の開発環境をたてる(CubeMX、nucleoオフラインビルド対応) 【Windows版】
AtomでSTM32を開発する話
1. はじめに
デバッグできません。すいません。
今回はCubeMXやmbedコンパイラから環境をエクスポートし、makeでビルドします。Atomを使ってビルド、書き込みを行って、GUIでぽちぽちやることをAtomで簡略化します。
あといろいろn番煎じですが、たまにはがっつりまとめ記事書かないといけないなーって思って書きます。
2. 準備
2.1 ソースコード
2.1.1 CubeMXでHAL
CubeMXをダウンロードインストールして起動します。STM公式からのダウンロードなのでアカウント登録(無料)が必要になります。
※初回起動だと様々なタイミングでファームウェアのダウンロードがいろいろと来るので全部yesで入れてください。
http://www.st.com/ja/development-tools/stm32cubemx.html
New Projectを押すとチップ&ボードの選択画面が出てきますので、使うマイコンまたは評価基板を選びます。今回はボードからNucleo-F446を選びます。
設定画面がでます。今回はすでに設定されているLEDでLチカするので追加で設定はしません。
赤丸の歯車を押すと環境をエクスポートしてくれます。今回は初回なのでプロジェクト設定の画面が出ます。そこで名前やToolchainをmakefileに設定します。
その他、コードの出力設定が出てきます。今回は画像のようにします。
これでOKを押せば、環境が出力されます。
次にmakefileを環境に合わせます。
後に出てきますが、今回はコンパイラにパスを通すので、makefile内のパス指定を消す必要があります。(そっちのほうがたぶん楽?)
makefileをエディタで開き、画像のようにします。具体的には「$(BINPATH)/」を消します。
2.1.2 nucleoオフラインビルド
mbedオンラインコンパイラにログインし、プロジェクトを右クリック、プログラムをエクスポートします。
ダウンロードしたZIPを展開して終わりです。makefileは書き変えなくても大丈夫です。
2.2 ビルド(make)
以下の3つをインストールし、すべてに環境変数のバスを通します。すべてexeでダウンロードすることができます。
これで、makefileがあればmakeできるようになります。
CubeMXまたはmbedでエクスポートしたフォルダでmakeを実行すればバイナリが生成されます。ここまで導入がうまくいっているか確かめるために必ずこの段階でmakeしてみてください。
2.3 書き込みソフト
SWDを使ったSTM32の書き込みには2種類あります。最低どちらか一方をインストールし、make同様にパスを通します。もちろん両方入れて好きな方選んでもらって構いません。
makeしたときと同様のCMDで書き込みのコマンドを実行します。ここまで導入がうまくいっているか確かめるために必ずこの段階で実行してみてください。
ST-LINK\_CLI -C SWD -P build/F446\_LED_Blink.hex -rst
STM32\_Programmer\_CLI -c port=SWD -w build/F446\_LED\_Blink.hex -s
2.4 Atom
ここからダウンロード、インストールしてください。
また、追加でパッケージを2つ入れます。
パッケージはAtom上から入れられます。
また、新規ファイルで「.atom-build.yml」を作成します。ここには書き込みのコマンドを入れます。
cmd : ST-LINK\_CLI -C SWD -P build/F446\_LED_Blink.hex -rst
cmd : STM32\_Programmer\_CLI -c port=SWD -w build/F446\_LED\_Blink.hex -s
3. Atom上でコンパイル書き込みする
Atom上で「Crtl+r」をすると、makeが実行されます。(make-runnerより)
また「Ctrl+Alt+b」で書き込めます。(buildと.atom-build.ymlより)
4. まとめ
Atom上だけでさくさく開発できる環境ができました。(デバッグできないけど・・・)