開発環境を構築する
マイコンで何かをする上で常々面倒だと感じるのが開発環境の構築です。
環境さえ構築してしまえば、実験的に試行錯誤して何とでもなるのですが、
PCの設定だったり、ハードと関係のないところだったりで苦心するこの作業は個人的には好きでなかったりします。
とはいえプログラミングにしろ、マイコンにしろ避けては通れない作業ですので、調べながらえっちらおっちらやってきましょう。
Nucleo Boardの開発環境
他の開発環境と同じように、Nucleo Boardを使うにあたっての開発環境は別に一通りではなく、いろいろな選択肢から選ぶことができるようです。
こちらのサイト様にいろいろなIDEが載っておりましたが
いろいろありすぎて眩暈がします。
が、今回についてはSTM32の開発元STMicroが出している"CubeMX"というものを使用することにします。
選択の理由としては、
- 面倒なピン配などのコンフィグ設定を丸投げできる
この一点ですね。
細かい設定などでどうせいじらなければいけない時は来るんですが、今回は取り合えず動かすことを目標としているので、面倒なことはできる人に任せましょう。
使用するのは、CubeMXのEclipseプラグイン版です。
環境を構築する
はじめに
STマイコンボードをいじるにあたり、いろいろなサイトで解説がされているのですが、もとめているものと違ったり、私がインストールする上で少し首をひねった部分があったので、自分の言葉で記録していこうかと思います。
環境としては以下の通りです。
- OS:Windows10 Pro 64bit
- マイコン:STM32F446
Eclipseのインストール
今回はCubeMXのEclipseプラグイン版を使用するので
何はともあれEclipseをインストールする必要があります。
まず、https://www.eclipse.org/downloads/ からEclipseのインストーラをダウンロードします。
ダウンロードが完了したらexeファイルを実行してください。
インストールにJavaが必要なようで、必要なインストールがされていない場合、「必要なJavaが入ってへんで!」とJavaのダウンロードをするように誘導されますので、そのページからJavaのインストールを行ってください。
ちなみに誘導ページに記載がありますが、Windowsの場合、Javaは Oracle JDK 8 をインストールしないとインストーラが走りません。最新版を入れても誘導ページに飛ばされ続けるので注意してください。
インストーラが起動したら、Eclipse IDE for C/C++ Developersを選択しインストールを開始して下さい。インストーラは管理者権限で起動してください。
インストールの最中に同意を求められますが、基本的にすべてAcceptで処理してください。
インストールが終了したら、LAUNCHで立ち上げてください。
ダイアログが表示される場合は、特に変更せずにOKで大丈夫です。
画面が立ち上がれば、Eclipseのインストールが完了です。
CubeMXのインストール
STMicroページからプラグインをダウンロードします。
ページ下部にダウンロードボタンがありますのでそこからダウンロードします。
この後ライセンスの同意を求められますが、Acceptを押してください。
なおプラグインのダウンロードにはMySTへのログインが必要になります。
アカウントを持っていない方は作成してください。
ファイルはzip形式ですので、ダウンロードが完了したら解凍します。
Eclipse上からダウンロードしたプラグインのインストールをします。
インストールは画像の通り、Help > Install New Softwere から行います。
クリックするとこんな画面が出てきますので、
Addをクリックします。
するとまたこんな画面が出てきますので、
Local...をクリックし、先ほどダウンロードしてきたフォルダを参照します。
"stm32095"というところで止めてくださいね。
またまたウインドウが出てきますので、
赤丸部分にチェックを入れて、ウィンドウ下のNextを押しましょう。
インストールが開始されます。
ここのインストールでも何かしらの同意を求められますが、こちらも同意しておきます。
これでCubeMXのインストールは完了です。
インストールが完了するとEclipseの再起動が必要です。
SW4STM32のインストール
ここでSW4STM32というソフトをインストールします。
実はとんでもない勘違いをしていたのですが、このSW4STM32が開発環境本体らしいのです。
CubeMXのほうは開発支援ソフトという位置づけのようです。
ちなみにこのSW4STM32はSTMicroのHPにも紹介はあるのですが、STとは関係のない第三者により提供されているとの記載がされています。
ではSW4STM32を入れていきましょう。
この項目は途中まで上のCubeMXのインストールと同じです。
分岐するのはファイルの選択の部分です。
先ほどはLocal...から選択していましたが、今回は、
http://ac6-tools.com/Eclipse-updates/org.openstm32.system-workbench.update-site-v2
とLocationに直接入力してください。
するとこのようにチェックボックスが表示されますので、
全部チェックして画面下部のNextを押しましょう。
こちらもインストール開始後に同意を求められます。
このようにしてFinishを押しましょう。
これでSW4STM32のインストールが完了です。
こちらも適用にはアプリの再起動が必要です。
CubeMXの起動
インストールが完了したら起動してみましょう。
はじめてだとアイコンが起動するためのアイコンが表示されていないと思いますので、
Perspective > Open Perspective > Other.. をクリックしましょう。
ウィンドウが出てくるので、"STM32CubeMX"を選択して"Open"を押してください。
CubeMXが起動します。
次回からの起動は2枚上の画像の左端にある小さな青色のMXのアイコンをクリックすることでできます。
ライブラリのインストール
CubeMXの起動をしたら、今回使うのマイコンのライブラリをインストールしましょう。
CubeMXを起動をするとホーム画面が表示されますので、右のINSTALL/REMOVEボタンをクリックします。
ウィンドウが開きますので、使用するマイコンに合わせた最新のライブラリをインストールしましょう。
今回はSTM32F446を使用しますので、STM32F4のライブラリパッケージをインストールします。
STM32F4の左の▲をクリックしタブを開くと、各バージョンが出てきますので一番上にチェックを入れて、Install Nowをクリックします。
これでライブラリのインストールは完了です。
GNU MCU Eclipse のインストール
GNU MCU EclipseはEclipseのライブラリですので、Eclipse上でダウンロードできます。
画面上の Help > Eclipse Marketplace をクリックします。
すると下のような画面が出てきますので、左上の検索窓からに"GNU"と入力してください。
下の欄に検索結果が出てくる思いますので、"GNU MCU Eclipse"の"install"をクリックしてください。
あとは画面に従い、インストールをすれば完了です。
OpenOCD のインストール
次はOpenOCDのインストールをします。が、これが曲者でした。
欲しいのはOpenOCDなのですがこれを入れるためにいろいろしなければいけません。
OpenOCDを入れるのにxpmを。xpmを入れるためにNode.jsを入れる作業をします。
Nude.jsのインストール
Node.jsを入れます。
https://nodejs.org/ja/download/
こちらからダウンロードします。
今回はWindows 64-bit Installer版をダウンロードします。
.msiファイルがダウンロードされますのでインストーラを起動します。
特に設定は変えずにNextを押してインストールします。
(つっかかる場所はなさそうなので画像は省略します。)
xpm(xPack package manager) のインストール
まずはコマンドプロンプトを起動します。
起動したら、
C:\>npm install --global xpm
このように入力してください。
特にエラーが出なければ、xpmのインストール完了です。
因みにルードフォルダが指定されていないとインストールに失敗します。
C:> 以外になっている場合は、
cd \
と入力することで、ルートフォルダに帰れます。
OpenOCDのインストール
OpenOCDもxpsと同様にコマンドプロンプトからインストールします。
こちらもルートフォルダを指定して、以下のコマンドを打ち込んでください。
C:\>xpm install --global @gnu-mcu-eclipse/arm-none-eabi-gcc
C:\>xpm install --global @gnu-mcu-eclipse/windows-build-tools
C:\>xpm install --global @gnu-mcu-eclipse/openocd
OpenOCD以外にもいろいろ混じっていますが、とりあえず入れといてください。
ドライバ、ST-LINKのインストール
ST-LINKをインストールします。
以下のURLからソフトをダウンロードしてください。
https://www.st.com/ja/development-tools/stsw-link009.html
例のごとくSTのソフトですので、上で登録したアカウントでSTにログインしてからダウンロードとなります。
圧縮ファイルがダウンロードされるので、解凍して"stlink_winusb_install.bat"を実行します。
実行すればインストール完了です。
もひとつダウンロードするものがあります。
https://www.st.com/ja/development-tools/stsw-link007.html
こちらからソフトをダウンロードしてください。
こちらも解凍してください。
解凍するとフォルダのWindows内のST-LinkUpgrade.exeを実行します。
実行してウィンドウが表示されたら、PCにマイコンボードを接続します。
接続したら、"Device Connect"をクリックします。
ボードをきちんと認識すると、画像のように"Yes>>>>"が有効になりますので、クリックします。
アップデートが完了したら作業は終了です。
環境構築完了!
こちらでNucleo Boardをいじくる準備ができました。
正直かなり苦労しました。実はこの記事も何度も書き直しています。
というのも、これで終わったと思って書き込み作業を行ったらWarningが出てきたりして実は出来てないということを繰り返しています。
この記事ももしかしたら不要なソフトをインストールさせているかもしれません。
ソフトの役割を完全に理解しているわけではないので、手探り状態です。
しかしまあ一応これで動いてますので、ご愛嬌ということで。
今後の調査でソフトの役割などがわかったらまた記事にしようかと思います。
次回は実際にLチカをさせたいと思います。
それではまた次回。
参考
環境構築にあたり、以下のサイト様を参考にさせていただきました。
各サイト様とも大変分かりやすく解説されております。インストールに詰まりましたら以下サイト様なども参考にしてください。
- ARM開発環境まとめ
ARM開発環境まとめ - QiitaARM開発環境まとめ ARM(特にSTM32)の開発環境をまとめてみました。 対象コアは大雑把なので、実際に対応しているかどうかは、公式サイトを参照してください。 またボードが対応しているかどうかも重要です。 サンプルやテンプレ... - STM32 CubeMX Eclipse 環境構築 完全版
STM32 CubeMX Eclipse 環境構築 完全版 - Qiitaこの記事の対象者 STM32をこれから触るひと STM32 CubeMXのインストール方法をど忘れした人 前書き モチベーション STM32 CubeMX のEclipse環境構築をまとめます。これに関する情報は色... - ARM開発環境構築(Eclipse+OpenOCD+ST-LINK)
ARM開発環境構築(Eclipse+OpenOCD+ST-LINK) - Qiitaはじめに ARM開発環境構築記事はいくつかあるが、最新版でないため現在の設定を載せる。 STM32F3Discoveryを使って試したが、cfgファイルを変えれば他のボードでも出来ると思われる。 インストール 最新のWin... - GNU MCU Eclipse
GNU MCU → Eclipse Embedded CDT!A family of Eclipse CDT extensions and tools for GNU Arm & RISC-V development
コメント