Cube IDE の使い方
このページでは、講習会のスライドをベースにCubeIDEの基本的使い方を説明します。 デバックなどの機能についての説明は割愛しています。必要に応じて、STMのドキュメントやネット上の情報を参照してください。
目次

CubeIDEの使い方
プロジェクトの作成まで

ワークスペースの選択
ワークスペースはプロジェクトを管理するためのフォルダです。任意の場所に作成してください。
パスに日本語が入っていると、後々ビルドエラーになる可能性があるので、英数字のみのパスを選択することをおすすめします。


メニューバー、またはメインウィンドウのアイコンから、プロジェクトの作成を開始します。

プロジェクトの作成
ここでは、プロジェクトの名前と、ターゲットマイコンを選択します。
今回はNucleo G474REを選択していますが、使用しているボードに合わせて選択してください。





プロジェクトの作成完了
プロジェクトが正しく作成されると、プロジェクトエクスプローラーにプロジェクトが表示されます。
ライブラリの追加

ライブラリの追加
mkdir Library
cd Library
git submodule add https://github.com/NITIC-Robot-Club/HALbed.git
プロジェクトの設定
次にプロジェクトの設定を行います。 

インクルードパスの追加
プロジェクトのプロパティから、C/C++ General -> Paths and Symbols -> Includes -> GNU C++を選択し、インクルードパスにLibrary/HALbed/Incを追加します。
他のライブラリを追加する場合
インクルードパスの追加は、追加するライブラリごとに行う必要があります。
例えば、Library/AnotherLib/Incを追加する場合は、同様にインクルードパスに追加してください。

ビルドの設定
プロジェクトのプロパティから、C/C++ General -> Paths and Symbols -> Source Locationを選択し、Libraryフォルダをソースフォルダとして追加します。
これにより、Libraryフォルダ内のソースコードもビルドの対象になります。
ビルド設定は設定されたフォルダの中を再帰的に検索するため、Libraryフォルダを追加すれば、HALbedや他のライブラリも自動的にビルドされます。

floatのサポート
HALbedはfloatを使用しています。プロジェクトのプロパティから、C/C++ Build -> Settings -> Tool Settings -> MCU Settings を選択し、Floating Point Unit/Floating point ABI でFPUが有効化されていることを確認してください。Use float with... にチェックを入れてください。
app_mainの作成
プロジェクトのSrcフォルダに、app_main.cppというファイルを作成し、以下のコードを追加してください。 


app_mainの呼び出し
main.cでapp_main.cppのコード(app_main())が呼び出されるようにします。
/* USER CODE BEGIN 2 */
extern void app_main(void);
app_main();
/* USER CODE END 2 */Lチカをしてみよう

.ioc ファイルの編集(CubeMX)



Lチカのコード
app_main.cppに以下のコードを追加してください。
#include "main.h"
#include "../../Library/HALbed/Inc/HALbed.hpp"
using namespace HALbed;
DigitalOut LED(PA_5);
extern "C" void app_main(void) {
while (1)
{
for (int i = 0; i < 5; i++){
LED.toggle(); // 点滅
HAL_Delay(500);
}
for (int i = 0; i < 20; i++){
LED = 1; // 点灯
HAL_Delay(100);
LED = 0; // 消灯
HAL_Delay(100);
}
for (int i = 0; i < 40; i++){
LED.write(!LED.read());
HAL_Delay(50);
}
}
}DigitalOutの使い方については、APIリファレンスを参照してください。
ビルドと書きこみ


