メカトロニクス研究部会

プロジェクトを作ってみよう その2

note_add 2025/05/27
update 2025/05/28

前回はCubeMXでプロジェクトを生成しました。
今回はCLionでプロジェクトを開きつつ、まだやっていないであろうCLionの初期設定共をこなします。

プロジェクトOPEN!

まずCLionを開きます。JetBrains Toolbox内からでもスタートからでもデスクトップからでもお好きにドーゾ。
初回起動時なんか聞かれた気がしなくもないけど、取り敢えず言語に日本語、地域にアジア(中国以外)、チェックボックス系はとりま全部ONでいいと思います。知らんけど。(TODO)

で、何だかんだ進むとようこそ画面が出ます。大体こういうツールはようこそ画面がある気がする。[要出典]

CLionのプロジェクトを開く画面

開く(①)を押すと場所選択させられるので前回作ったプロジェクトが入ってるディレクトリを選択(②)します。
.iocではなく.iocが入ったディレクトリ(かその中のCMakeLists.txt) を選択して下さい。
OK(③)を押せばプロジェクトが読み込まれます。

CLionのCMakeプロジェクト初回ロード時に出る画面

ちょい待つとCLionがCMakeプロジェクトだと勝手に認識してくれるので、初回設定画面が出てきます。
①はもうON固定でいいです。いくらか楽になります。
諸々設定する前にインストールしたARMのツールチェーンをCLionに登録する必要があるので②を押します。

ツールチェーン追加

CLionのツールチェーン管理画面、ツールチェーンを追加

そしたらツールチェーンの管理画面が出てくるので左上の+(①)から「システム」(②)を押します。

CLionのツールチェーン管理画面、ツールチェーンを編集

編集できるようになるので好きな名前にして下さい。(①)
この後すぐ使うので覚えといて下さい。

②にはぞれぞれのツールの場所を指定します。環境構築の時に分かりやすい場所に置いたと思うので、それぞれ指定して下さい。

ビルドツールは今回Ninja Buildを使うのでWindows勢ならninja.exeを、それ以外勢はninjaをフルパス(PATH通ってればフルパスじゃなくていいけど)で指定して下さい。
Cコンパイラー・C++コンパイラー・デバッガーはArm GNU Toolchainのヤツを使うので、コヤツのインストール先にあるarm-none-eabi-gcc(.exe)・arm-none-eabi-g++(.exe)・arm-none-eabi-gdb(.exe)をそれぞれ指定して下さい。
うまく行ってればC++コンパイラー欄の下には何も出ず、デバッガー欄の下にはデバッガーの(=コンパイラーの)バージョン情報が出てるはずです。

ツールチェーンの設定が済んだのでOK(③)からCMakeの初期設定に戻りましょう。

仕上げ

CLionのCMakeプロジェクト初回ロード時に出る画面、ツールチェーンを変更

戻ってきたら、まず①でさっき作ったツールチェーンを選択します。プロファイル名末尾にその名前が自動で追記されます。

これで下準備は完了したのでOK(②)で閉じます。

OpenOCD

さて、初期設定を済ませたいのでもうひと頑張りします。
基板に実行ファイル書き込むためのソフトであるOpenOCDの場所をCLionに教えてやらねばなりません。

CLionのエディタ画面、設定を開く

設定は右上の歯車(①)を押して出てくるメニューにいます。「設定」(②)を押します。

CLionの設定画面、組み込み開発設定

CLionの設定はいくつかのカテゴリに分かれています。
目的の場所は「ビルド、実行、デプロイ」(①)の中の「組み込み開発」(②)にあります。

各種ツールの場所を指定する欄が現れるのでOpenOCDの実行ファイルの場所を③にぶち込みます。Windowsならopenocd.exe、それ以外ならopenocdの場所ですね。

すぐ下にCubeMXの場所を指定する欄(④)もあります。空欄にしといてもいいですが、ここで指定しておくとCLion上で.iocを開くとCubeMXが立ち上がってくれるようになります。

終わったら⑤で閉じて下さい。

書き込み設定

更にもうひと頑張り、OpenOCDに関連して書き込むための設定をやって行きます。

CLionのエディタ画面、構成を削除し編集画面を開く

上の方にある「(プロジェクト名)」が書いてある欄(①)をクリックします。これは横の実行ボタンで何をするか選択するトコです。
今回はPC上で実行するわけではないので、あらかじめ用意されているものは要らないので削除します。
横の三点リーダー(②)を押すとメニューが出てくるので「削除」(③)を押します。これをもう一つにもやった後、④で編集画面に行きます。

CLionの構成編集画面、構成を追加

構成の編集画面が出てくるので左上の+(①)を押して「OpenOCDをダウンロードして実行」(②)を選びます。

CLionの構成編集画面、構成を編集

流石に名称未設定は可哀想な気がするのでテキトーな名前を付けて(①)やります。
②のチェックは後々チームで開発する時、設定を共有出来るのでONでいいと思います。
③は実際に書き込む実行ファイルを選択します。クリックするとプロジェクト名と同じ名前があるはずなので選択します。

ここまでは全ボード共通です。何故なら、次に指定するボード構成ファイルがボードごとの違いを吸収してくれるためです。
というわけで指定していくのですが、なんと有り難いことにCLionがOpenOCDの場所を元にボード構成ファイルをリストアップして選びやすくしてくれます。「支援⋯」(④)を押します。

CLionの構成編集画面、ボード構成ファイルを選択

選びやすく、と言ってもあくまで列挙するだけなので大量の中から目的のものを探す必要があります。
我々が使ってるのはSTM32なので大体st_始まりかstm32始まりで目星を付けると見つかります。

今回はNUCLEO-F446REなのでst_nucleo_f4.cfgを使います。
この時、左の「使用」ではなく、真ん中の「プロジェクトにコピーして使用」(②)を押して下さい。
自分だけで開発するなら影響はないんですが、チーム開発だとOpenOCDの場所に左右される関係で人によっては動かない、という事態になりかねません。

押すとウィンドウが閉じて無事にボード構成ファイルが選択されてるはずなので、構成編集画面を閉じます。(OK押すなりなんなりお好きに)
これで下準備は完了です。

次回予告

今回はプロジェクトをCLionで開いて、ついでに初期設定まで行いました。
これはあくまで初期設定なので、次新しくプロジェクト作るって時はCMake部分の設定だけで済みます。

あと、設定は項目がいっぱいあるので自分好みにカスタマイズしとくと捗ります。

次回はゴールにはあまり関係はないですが、エアシリンダーを動かします。

前へ次へ

ロボット制御入門Topへ