STM32CubeIDEを使ってみよう　How To STM32CubeIDE 日本語版　Lチカ編

STM32を使用する環境としてSTM32CubeIDEのLチカまでを説明します。
（当初はSW4STMのHowToを書こうと思っていましたが、STM32CubeIDEがでたのでこちらに変更しました。）

なお、本内容は、YoutbeのHow to use STM32CubeIDEをもとに作成しています。
https://www.youtube.com/watch?v=eumKLXNlM0U
# ダウンロードする
まずは、こちらからダウンロードしましょう
__最新バージョンを取得__ をクリックする事でダウンロードできます。
https://www.st.com/ja/development-tools/stm32cubeide.html
![スクリーンショット 2022-10-10 183442.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/9d5b12a9-4ac2-f3e5-030d-03e8ad3ca0f5.png)
## 古いバージョンをダウンロードする
__バージョンを選択__ をクリックする事で古いバージョンを選択してダウンロードすることが可能です。
![スクリーンショット 2022-10-10 183442.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/9d5b12a9-4ac2-f3e5-030d-03e8ad3ca0f5.png)
## ダウンロードの前に
ソフトウェア入手の画面が出てきますので、__ログイン__ または必要事項を入力して __ダウンロード__ をクリックします。
![スクリーンショット 2022-10-10 183525.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/c7654a61-8c55-2534-c879-33076fca9ebb.png)
# インストールする
次にインストールです。
![1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/b1381921-3590-4d83-167e-eaa3b9aa6d6f.jpeg)
![2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/fea3117f-9275-d9cb-9625-bc4b2fb4c93a.jpeg)
![3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/5389b568-a8dd-4b56-944c-cfa4c4d683b9.jpeg)
![4](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/95340846-76fe-4f5a-de65-6a77fc4a01a0.png)
![5.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/a48d7bac-07d8-5055-a616-8d4dab13d49d.jpeg)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/1155cc77-2994-c5dd-0b96-db6651da5bce.png)
![7.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/958998cf-da16-4af7-9ef6-b5e09ccc2dec.jpeg)
![8.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/9477671b-0297-b6aa-f46c-1b1a60c33ad6.jpeg)
![9.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/66589193-9ca6-fbf2-6b8f-95096a4388bd.jpeg)

起動します。
![10.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/48d3cd24-2ef7-54ed-4a7a-b51813c1f642.jpeg)
![11.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/1c481a56-05bb-cee5-2b36-828696824644.jpeg)
使用するディレクトリを設定しましょう。
![12.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/4b7116eb-ab57-8a2c-cda7-a600fbcc67ab.jpeg)
Start New STM32 Projectをクリックします。
![13](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/8fe2cb13-23f2-ecfa-7fdd-49d52967f9e2.png)
アクセス許可が出ることがあります。
![13-1](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/6143beac-f79e-fc0d-989c-0f85247f1189.png)
![14.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/657b0e9a-7855-2280-ea6a-3caa705bc3b9.jpeg)
![15.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/343af8b4-a6c3-6215-2d04-d2fecd898e28.jpeg)
ここから使用するボードを選択します。
今回は、CortexM4コアであるSTM32F401を搭載したNUCLEO-F401REを選択します。
Board Selector⇒Vender⇒Type⇒BoardList
![16.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/09c32554-6127-7e4b-f86b-09b8556229a1.jpeg)
次にプロジェクト名を設定します。
![17.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/3fd1795f-4691-9b7a-33bc-96caf43ff857.jpeg)
![18-1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/c5f5cb85-4397-3acc-695c-5602cd74557d.jpeg)
![18-2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/3efcebb6-7188-61b5-2295-5428e40250ab.jpeg)
![18-3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/8f1d47d2-298b-d5b4-8311-22dfb4845109.jpeg)
![18-4.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/c7cdcb2b-e131-77b8-c580-69de78fb5ae6.jpeg)
許可の画面が出た場合はagreeにチェックしてFinishします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/2aedbb6d-4c60-45c5-476e-b2e694103c64.png)
次へ次へと進むと今回のソースコードを生成してくれます。
左側のツリーの中にソースコードがあります。
今回は、Lチカをしてみましょう。
なお、__Core⇒Src⇒main.c__ をダブルクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/934e7aec-10ee-90c6-6203-afce430b3c4a.png)
### 古いバージョンの場合
SRC⇒main.cをダブルクリックします。
![20-1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/d145d169-e573-cf8c-631e-94173ad9ff05.jpeg)

次に、101行目前後に行きます。
__*以下において104行目という記載がありますが、現在は101行目になっていると思われます。
今後も行数が変化する可能性があります。__
ここに以下のコードを追加します。
![20-0-0.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/fa45242d-119c-921b-67e9-b6bc0963c905.jpeg)

```
 HAL_Delay(500);
 HAL_GPIO_TogglePin(LD2_GPIO_Port,LD2_Pin);
```
ではやってみましょう。
104行目でHALと打ち、キーボードのCtrlとスペースを押しましょう。
するとEclipseでコード補完をしてくれます。
 HAL_Delay(Delay)を選びましょう。
![20-0-1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/60599b19-677b-a6b2-9ac3-92457d9eb818.jpeg)
Delayに入れるのは待ち時間です。
今回は、500と入れました。
行の最後に「;」を入れるのを忘れないでください。
;は補完してくれません。
![20-0-3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/2233fdc0-eadb-d530-6cb5-2c3b3c6faccb.jpeg)
次はHAL_Gあたりまで打ってCtrl+スペースを押します。
![20-0-4.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/fe83b6b3-9597-e4f5-0e94-d6e1d61fc0d4.jpeg)
GPIOxはGPIOのポートをGPIO_PinはGPIOのピンを設定します。
今回はLD2_GPIO_Port,LD2_Pinになります。
![20-0-6.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/726b3f4b-54a3-4807-0883-bf3ce46e51f7.jpeg)

正しく打てたらRUN⇒DEBUGを押します。
F11でも構いません。
初回時は以下のような確認が出ることがあります

![20-0-9.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/8800518a-60ee-73f8-42b6-534d0746b153.jpeg)
![20-0-10.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/9da670a7-e110-9843-0731-bb7e71d0abf8.jpeg)
![20-0-11.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/128bfab6-a136-f459-0030-47c50547729d.jpeg)
![20-6.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/f7e5054a-3c68-4cab-65b2-d87a90023624.jpeg)
ボードがつながっていないと、Errorになります。
![21-2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/63a0d035-cad1-f237-b74d-854486358d82.jpeg)

ボードがつながっていて問題なくデバッグが完了し、ボードにファームウェアの転送が完了するとsuccessfullyと出ますので
矢印の再生ボタンを押します
![21-0.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/67889aea-7875-872d-4b3d-9db162544c35.jpeg)

すると、LEDがチカチカすると思います。
![21-1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/bed60d5b-6aba-5af3-ec81-4d8b6de29276.jpeg)

これで、Lチカができました。

アドインの追加等は、こちらのサイトさんもご覧ください。
https://yukblog.net/stm32cubeide-startup/
・プラグインの導入