もりぶーノート

DIYとか電子工作とか

CLion on WindowsでSTM32環境構築

記事概要

JetBrains社が開発しているC言語開発環境CLionでSTM32Fシリーズマイコンを開発するための環境をWindows上に構築します。

背景

自宅でちょっとした電子工作をする際には、入手性が良く安価なSTM32Fシリーズを使用する事が多いのですが、ここ数年(2018~2019)でSTMicroelectronics(以下ST)がTrueStudioを開発しているIDEのベンダを買収したかと思えば、その開発環境が新規非推奨になったりして開発環境を乗り換える必要が出てきました。

現在STは、無償の開発環境としてSTM32FのコンフィグツールSTM32CubeMXと前述のTrueStudioを統合したSTM32CubeIDEを推奨しているようですが、Twitterを見るとまだ微妙なバグ等があるようで呪詛を吐かれている方を見かける事があります。

CLionの組み込み開発対応

私は、C/C++の開発を行う際JetBrains社のCLionを使用しています。Python開発環境のPyCharmで馴染みのある方もいるのでは無いでしょうか。有償ではありますが、リファクタリング機能やコーディング中の補完機能が非常に優秀で気に入っています。

素のCLionは組み込み開発に対応していないのですが、2016年頃からプラグインの形式でSTマイコンの対応が始まり、2019年のCLion 2019.1 EAPで統合され、安定版としては2019.2で正式に統合されました。せっかくなのでCLionで開発したい。

blog.jetbrains.com

環境構築の微妙なつまづき

3Dプリンタで出力するモデル等を作るためにメカCADを使用する事があるのでWIndows環境と決別はできません。 オフィシャルドキュメントを見つつ環境構築をしたのですが、Windowsでの開発環境構築に詳しく無い事も相まって微妙に躓いてしまったので備忘録として残しておこうと思います。

本記事を参照した後に下記のオフィシャルドキュメントに沿って進めていけばスムーズに進められるように書いていきたいと思います。

www.jetbrains.com 日本語解説はこちら

開発環境構築

想定読者

  • Windows上のCLionでSTM32用の開発環境を構築したい方
  • CLionの基本的な操作方法は分かる方
  • STM32CubeMXの使い方自体はある程度分かっている方
  • 開発環境の構築について詳しく無い方

インストールするソフト

まず初めに上記のソフトをインストールします。CLion自体のインストールは特筆すべき事もないのでここでは割愛します。

MinGW

まずMinGWですが MinGWMinGW-w64のサポートのみですので、いずれかをダウンロードします。 CLionのツールチェイン設定画面の+ボタンを押した後、Environment項のDownloadをクリックすることでダウンロードページへジャンプ1できるので、ここから行くのが確実です。

f:id:molyb:20200308140831p:plain
MinGW
インストール時にアーキテクチャ等各種設定を求められますが、オフィシャルドキュメント上で今回の目的に対するベストな設定等の説明は見当たらなかったのでググって最初に出てきたページと同等にしてあります。2

最初はGNU Embedded ToolchainにMinGW環境も入っていると勘違いしていて妙に時間を浪費してしまいました…

GNU Embedded Toolchain

次にARM CPU用のコンパイラツールチェインをインストールします。オフィシャルのドキュメントを参照するとバージョンは2019-q3をインストールするよう記載がありますが、私がインストールした時点で2019-q4が公開されていたので、こちらをインストールしていますが、今のところ問題はなさそうです。 こちらは基本的に初期設定のままインストールしています。

インストール後に再度ツールチェインの設定画面を開けば下図の様にコンパイラとデバッガが自動で検出されていると思います。

f:id:molyb:20200308142710p:plain
コンパイラ検出

OpenOCD/STM32CubeMX

次にOpenOCDとSTM32CubeMXをインストールします。オフィシャルページからOpenOCDへのリンクも貼ってありますが、リンク先ではソースで配布されておりいささか手間です。こちらOpenOCDは[Windows環境用にビルドされたファイル]がありましたので、そちらを展開してCドライブ直下に置いています。

本記事を読んでいる方はSTM32CubeMXを既にインストールされている方が多いかと思いますが、まだの方はこちらからダウンロードしてインストールしておきます。

最後に再度CLionのSettings画面に戻りEmbedded DevelopmentでOpenOCDとSTM32CubeMXのパスを設定し、Testボタンを押して正常に動作するか確認します。

f:id:molyb:20200308143748p:plain
OpenOcd_STM32CubeMX

以降に関してはオフィシャルドキュメントに詳しく説明が載っているため、STM32CubeMXの操作自体に慣れている方であれば特に困ることなくビルドが通る所までいくと思います。

www.jetbrains.com

さいごに

自分の知識不足があるとは言え、環境構築(特にWindows)って変なところで躓いたりめんどくさかったりしますよね。 皆さんがこれを見てスムーズに環境構築できれば幸いです。


  1. 私が実行した際には mingw-w64.org のからSourceforgeにジャンプしてダウンローダを入手できました

  2. 追々ちゃんと調べたい…