AtomでSTM32の開発環境をたてる(CubeMX、nucleoオフラインビルド対応) 【Windows版】

AtomでSTM32を開発する話

Sat, 30 Dec 2017

 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を選びます。

f57d1d5c297d425ea40c17168104e87c

517166f96fe4ac6aa2391fc9d3a726a0

設定画面がでます。今回はすでに設定されているLEDでLチカするので追加で設定はしません。

ae1200b91cb2809e00da09fc219a631e

赤丸の歯車を押すと環境をエクスポートしてくれます。今回は初回なのでプロジェクト設定の画面が出ます。そこで名前やToolchainをmakefileに設定します。

d754c878f88ba34c2a54708ba5a11206

 

その他、コードの出力設定が出てきます。今回は画像のようにします。

これでOKを押せば、環境が出力されます。

 

次にmakefileを環境に合わせます。

後に出てきますが、今回はコンパイラにパスを通すので、makefile内のパス指定を消す必要があります。(そっちのほうがたぶん楽?)

makefileをエディタで開き、画像のようにします。具体的には「$(BINPATH)/」を消します。

66c19942ab4ba346fdb64ccc04cde373

 

2.1.2 nucleoオフラインビルド

mbedオンラインコンパイラにログインし、プロジェクトを右クリック、プログラムをエクスポートします。

20161229171809

66c19942ab4ba346fdb64ccc04cde373 1

ダウンロードしたZIPを展開して終わりです。makefileは書き変えなくても大丈夫です。

 

2.2 ビルド(make)

以下の3つをインストールし、すべてに環境変数のバスを通します。すべてexeでダウンロードすることができます。

これで、makefileがあればmakeできるようになります。

CubeMXまたはmbedでエクスポートしたフォルダでmakeを実行すればバイナリが生成されます。ここまで導入がうまくいっているか確かめるために必ずこの段階でmakeしてみてください。

2ecb2ca17bf06659aa0df1e722dd1814

 

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

ここからダウンロード、インストールしてください。

https://atom.io

また、追加でパッケージを2つ入れます。

パッケージはAtom上から入れられます。

045f0ad87ed1b02c7157cdc0cd1b6c96

39aeb135a8b6601dc3aa904b27a77dc8

また、新規ファイルで「.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上だけでさくさく開発できる環境ができました。(デバッグできないけど・・・)

 

5. 参考文献

http://yuqlid.sakura.ne.jp/wp/2017/12/01/stm32devenvvscode/

© anbalab 2019