STM32CubeMX プロジェクト
CLion は、 STM32(英語) ボードをターゲットとする組み込みプロジェクト向けに STM32CubeMX(英語) と統合されています。 IDE でこれらのプロジェクトを操作する前に、STM32CubeMX と STM32CubeCLT(英語) をインストールする必要があります。 その後、既存の STM32CubeMX プロジェクトを開くか、新しいプロジェクトを作成してください。
プロジェクトを開く
CLion を起動したら、 ようこそ 画面で オープン をクリックします。

次に、プロジェクトフォルダーに移動して選択し、 Openをクリックします。 すると、CLion がプロジェクトを CMake として開きます。
プロジェクトフォルダー内の .ioc ファイルを選択し、 プロジェクトとして開く をクリックすることもできます。 .ioc ファイル名にスペース、非ラテン文字、その他の特殊文字が含まれていないことを確認してください。
CLion がすでに実行されている場合は、 に移動し、プロジェクトフォルダーまたは .ioc ファイルを開きます。
新規プロジェクトを作成する
CLion で、 に移動し、プロジェクトタイプとして STM32CubeMX を選択します。

その後、 新規プロジェクト 画面に表示される手順、または以下の詳細な手順に従います。
STM32CubeMX を起動します。 開いたウィンドウで、 MCU セレクターへのアクセスをクリックします。 ボードセレクターへのアクセスを選択することもできます。

リストで MCU またはボードを見つけて、右上隅の プロジェクトを開始をクリックします:

Pinout & Configurationタブが開きます。 そこから、 Pinout viewに表示されるデフォルト設定を変更したり、追加のパラメーターを設定したり、必要に応じてミドルウェアをインストールしたりできます。

Project Managerタブをクリックします。
ツールチェーン / IDE ドロップダウンメニューから CMake を選択します:

プロジェクト名フィールドにプロジェクトの名前を入力します:

右上隅の コード生成をクリックします。
生成が完了したら、 コード生成ウィンドウを閉じます:

キーボードショートカットを使用して ツールチェーンフォルダーの場所フィールドからパスをコピーします:macOS 上の ^C または Windows/Linux 上の Ctrl + C :

CLion 新プロジェクト ウィンドウに戻ります。 ダイアログ上部の ロケーション フィールドにコピーしたパスを入力し、 続行 をクリックします:

プロジェクトを開くウィザード ダイアログが開きます。 そこから以下の操作を行います。
リストからデフォルトの デバッグ プロファイルを削除します。
デバッグ - デバッグ プロファイルを選択します。
プロファイルで、 有効化 をクリックし、 OK をクリックします:

STM32CubeMX プロジェクトが作成されます。

ソースコードを編集する
STM32CubeMX によって生成されたファイルを編集する際は、必ずコードを
/* USER CODE BEGIN ... */および/* USER CODE END ... */疑似コメントで囲んでください。 次に例を示します。/* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { HAL_GPIO_TogglePin(LD3_GPIO_Port, LD3_Pin); HAL_Delay(1000); /* USER CODE END WHILE */これにより、コードの再生成中に STM32CubeMX によってコードが上書きされるのを防ぐことができます。
ソースファイルまたはヘッダーファイルを追加する場合は、 Src ディレクトリと Inc ディレクトリに配置してください。 また、コードの一部を個別の .c ファイルまたは .h ファイルに抽出してください。
プロジェクトを構築する
プロジェクトをビルドするには、メインツールバーの ボタンをクリックします。

すべてが正しく動作している場合は、 メッセージ ウィンドウに Build finished が表示されます。

プロジェクトをデバッグする
適切な実行 / デバッグ構成と ST-LINK デバッグサーバーが設定されていることを確認してください。 新しい STM32CubeMX プロジェクトの場合は、CLion が事前設定したデフォルト設定を使用できます。
ソースコードにブレークポイントを設定し、メインツールバーの
ボタンをクリックします。

すべてが正しく動作している場合は、デバッガーの タブに
Debugger connected to ST-LINKというメッセージが表示されます。プログラムが一時停止されると、次のようなさまざまなアクションを実行できます。
.svd ファイルで定義されている レジスタとペリフェラルを表示します。 STM32 MCU の場合、これらのファイルは STM32CubeCLT インストールディレクトリ内の STMicroelectronics_CMSIS_SVD ディレクトリにあります。
ライブウォッチを使用して、グローバル変数をリアルタイムで監視します。
逆アセンブルされたコードをデバッグします。
実行中のプロセスの 生のメモリを表示します。
