OY が 2026年02月23日18時11分38秒 に編集
コメント無し
本文の変更
# はじめに 秋月電子で販売されているSTM32C011F4P6 ブレークアウトモジュールキットを使ってLチカ(LED点滅)を行います。 STマイコン用デバッガとして、1.ST-LINK/V2、2.Nucleo開発ボード(ST-LINK/V2-1)を使います。 ※デバッガ:STM32マイコンにプログラム書き込み、動作を確認(デバッグ)する装置 「ArduinoやESP32, RaspberryPi Picoのようなマイコンボードは触ったけど、ワンチップマイコンは初めて」 といった方向けに記載しています。 また電子工作初心者ですので、誤ったことを記載している可能性があります。 ご了承ください。 ## 備品,部品類 ### 部品 AE-STM32C011F4P6-DIP(秋月電子キット) ST-LINK/V2(白い筐体) Nucleo Board STM32C031C6 →ST-LINKとNucleoはどちらか一つでOKです。 はんだ作業が必要ですがNucleoがおすすめです。 ブレッドボード(BB-801を使っています) ジャンパーワイヤー オス-オス ジャンパーワイヤー オス-メス リードLEDとリード抵抗(今回は赤色LEDと220Ω抵抗) USB A-マイクロB(2.0) (Nucleoボード接続用) ### 備品, ソフト パソコン(Windows11を使いました) はんだごて、はんだ STM32CubeMX STM32CubeIDE # ソフトのインストール ## STM32CubeIDE 下記よりSTM32CubeIDEをダウンロードします。 https://www.st.com/ja/development-tools/stm32cubeide.html#get-software ※事前にMySTアカウントの登録、ログインが必要 下図、自分のパソコンにあったものをダウンロード(Windowsの場合は最下部)、 インストールします。  IDEを起動すると下図ウインドウが表示されます。 私は上を選択しました。(Windowsdifenderから除外) STM32CubeIDEはいったん閉じてもOKです。  Microsoft Windows Defender が有効になっているため、STM32CubelDE の起動と全体的なパフォーマンスが大幅に低下する可能性があります。 Microsoft Defender によるこのインストールの処理方法を選択してください。 ・パフォーマンスを向上させるため、STM32CubelDE をスキャン対象から除外します。 (一般的に、除外を追加すると、このコンピューターのセキュリティレベルに影響を与える可能性があります) ・STM32CubelDE を Microsoft Defender によるスキャン対象のままにします。 詳細と設定オプションについては、「スタートアップとシャットダウン」の設定を参照してください。 詳細と設定オプションについては、「スタートアップとシャットダウン」の設定を参照してください。 ## STM32CubeMX ピン設定のコード生成機能について、元々はSTM32CubeIDEに含まれていたようですが、あるタイミングでSTM32CubeMXに分離したようです。 下記からSTM32CUbeMXダウンロード(Windowsの場合は最下部)し、インストールします。 https://www.st.com/ja/development-tools/stm32cubemx.html#get-software  # 初期設定とプログラムのビルド ## ピン設定等の初期設定、コード生成 STM32CubeMXを起動します。 File → New Project をクリック。  ウインドウが表示されますので使用するマイコンを「Commercial Part Number」に入力します。(今回はSTM32C011F4P6) MCUs/MCUs Listから選択 → Start Project をクリック。  ピンの設定画面が表示されますので、ピン設定を行います。 LED接続用にPA3(10pin)を「GPIO_Output」に変更


「Project Manager」タブを押し、 「Project Name」にファイル名を記入 「Project Location」にて保存場所を選択 「Toolchain /IDE」をSTM32CubeIDEを選択 「GENERATE CODE」を押し、コード生成 ※プロジェクトネームに"()"を使うと、ビルド時にエラーが発生するため使わないでください。 ※プロジェクトロケーションは「CubeMX」直下としてください。 「CubeMX\プロジェクトネーム」とした場合、CubeIDEでエラーが発生します。  初回はファームウェアのダウンロードが必要です。 「Yes」をクリック  ライセンスを同意にチェックし、「Finish」をクリック。  コード生成後のウィンドウで、「Open Project」をクリックすると 自動でSTM32CubeIDEが起動し、インポートしてくれます。


## Lチカ コード入力、ビルド STMCubeIDEのインポートしたプロジェクト内「Core」 → 「Src」 → 「main.c」にコードを記入します。 ※CubeMXのコード生成時に削除されるため、下記に囲まれている部分に記載する必要があります。 /* USER CODE BEGIN WHILE */ コード記入箇所 /* USER CODE END WHILE */  コードはwindows11のCopilotに書いてもらいました。 ```C:Lチカ_main.c /* USER CODE BEGIN WHILE */ while (1) { HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_3); // LED反転 HAL_Delay(500); // 500ms待つ } /* USER CODE END WHILE */ ``` メニューの「Project」 → 「 Build All」 を押しコンパイル&ビルドします。  問題がなければ、下部のコンソール画面に「0errors, 0warnings」と表示されます。  # 配線、Lチカ動作(デバッグ) ## マイコンとLEDの配線 下記のように配線します。  今回使ったLEDの最大電流は20mAですが、 マイコン保護のために8mA以下に抑えています。 IF = (E - VF) / R IF = LEDに流れる電流 = (3.3V - 2.05V) / 220Ω = 5.68mA E = 3.3V (マイコンからの電圧) VF = 2.05V(LEDの順方向電圧) R = 220Ω(電流制限抵抗) ※LEDの制限電流、VFはLEDのカタログより ## マイコンとST-LINK/V2の接続 ST-LINK/V2とマイコンも接続します。 #### デバッガ - マイコン接続 ST-LINK - マイコン(STM32C011F4P6) pin1(VDD検知) - pin4(VDD) 7(SWDIO) - 18(SWDIO) 9(SWCLK) - 19(SWCLK) 15(NRST) - 6(NRST) 19(VDD3.3V供給) - 4(VDD) 20(GND) - 5(VSS) ※ST-LINK側のGNDは20以外の3~6など、どれか1つ接続でOKとのこと  ST-LINK/V2ユーザーマニュアルのコネクタ図は、プリント基板に刺した上面から見た図です。 コネクタにジャンパーワイヤーを接続する際は、左右が反転するため注意してください。 (ケーブル不足のため枠線の色と一部変更しています。 赤→白、黒→茶色)  ## Lチカ動作(デバッグ) ST-LINK/V2とパソコンをUSBで接続します。 「Run」 → 「Debug」をクリック  初回は「Edit Configuration」ウィンドウが表示されます。 「OK」をクリック 初回のため、ST-LINK/V2のアップデートウインドウも出ました。「OK」をクリック。 ※事前にアップデートできるようです。 その場合は「Help」 → 「ST-LINK更新」  ウインドウが切り替わるため、ST-LINKとPCのUSBを抜いて、刺す、 数秒以内に「Refresh device list」→「Open in update mode」 「update」ボタンが有効化したらクリック アップデートが始まります。  ST-LINKアップデート後、再度「Run」 → 「Debug」をクリック デバッグ画面に切り替えを提案されるため、「Switch」を押して了承する。 「▶」Resumeボタンをクリック  LEDが点滅します。 ST-LINKのUSBを外すと消灯しますが、次回以降はUSBを刺すだけでLEDが点滅します。(マイコンにプログラムが書き込まれたため)  # Nucleo開発ボードC031C6をデバッガとしてつかう ## Nucleo-64開発ボード ST-LINK/V2-1の準備 STM32 Nucleo-64開発ボードの一部をデバッガ(ST-LINK/V2-1)として使う方法は、下記マニュアルに記載されています。 ネットではボードを分割する事例が多いですが、分割しなくてもデバッガとして使えます。 またST-LINK/V2(白い筐体)ではシリアルモニターを使えませんが、NucleoのST-LINK/V2-1ではシリアルモニターを使うことができます。 ※シリアルモニター:マイコンの動作状況やデバッグ用のメッセージを、パソコンの画面に文字として表示するための仕組み。 STM32 Nucleo Board STM32C031C6マニュアル https://www.st.com/ja/evaluation-tools/nucleo-c031c6.html  CN2から2つのジャンパーピンを外します  Nucleoボード裏面のSB23のジャンパーチップ(0Ωチップ)をはんだごてで外します。 SB23は、nucleoボード上のST-LINK/V2-1とオンボードMCUのNRST接続箇所のようです。 接続した状態ではST-LINK/V2-1と外部STM32のデバッグがうまくいきませんでした。  #### デバッガ - マイコン接続 ST-LINK - マイコン(STM32C011F4P6) CN3 pin1(VDD検知) - pin4(VDD) pin2(SWCLK) - pin19(PA14 SWCLK) pin3(GND) - pin5(VSS) pin4(SWDIO) - pin18(PA13 SWDIO) pin5(NRST) - pin6(NRST) CN6 3V3(3.3V給電) - pin4(VDD)  接続図がわかりづらく申し訳ないです・・・ ## NucleoボードでのLチカ動作(デバッグ) ST-LINK/V2(白い筐体)同様に、LEDと抵抗をつなぎます。 またST-LINKの更新も同様に行います。 NucleoボードとパソコンをUSBで接続します。 「Run」 → 「Debug」をクリック 初回は「Edit Configuration」ウィンドウが表示されます。 「OK」をクリック デバッグ画面に切り替えを提案されるため、 「Switch」を押して了承する。 「▶」Resumeボタンをクリック。LEDが点滅します。  # 参考リンク ## STマイクロニクス公式ドキュメント STMicroelectronics, DS13866 Rev 4:STM32C011x4/x6データシート https://www.stmcu.jp/stm32/stm32c0/stm32c0x1/97032/ STMicroelectronics, UM1075 rev10:ST-LINK/V2ユーザーマニュアル https://www.st.com/ja/development-tools/st-link-v2.html STMicroelectronics, UM2953 Rev 2:STM32 Nucleo Board STM32C031C6マニュアル https://www.st.com/ja/evaluation-tools/nucleo-c031c6.html ## Lチカ全体の流れ コテツ商会(技術書典), WindowsではじめるSTM32 2021年版 https://techbookfest.org/product/5750763357732864?productVariantID=6244791165648896 ## ソフトのインストール 島津あおん, STM32 インストール/セットアップ/基本操作 https://zenn.dev/shimazu_aon/articles/a4b2746d68e9fd STMicroelectronics, STM32CubeIDE https://www.st.com/ja/development-tools/stm32cubeide.html#get-software Qiita @denkisuiso0116, STM32CubeIDE Ver.2.0.0の仕様変更 https://qiita.com/denkisuiso0116/items/b5e09e9cc336011f7916 Satのロボット工房, 秋月電子で最安のSTM32マイコンSTM32C011F4P6でLチカしてみる https://sat-robotics.com/stm32c011f4p6_led_flash/ STMicroelectronics, STM32CubeMX https://www.st.com/ja/development-tools/stm32cubemx.html#get-software ## LEDの使い方 marutsu, LED基本ガイド LEDの基本を詳しく解説 https://www.marutsu.co.jp/pc/static/large_order/led?srsltid=AfmBOorefzAGiEBI6sZbdY2ccRgUthxcIYoDrPZXju5rxepjp9IKFmmM ## ST-LINK/V2接続方法 なんとなく活動記録。, ST-Link/V2を買ったので記す https://blueeyes.sakura.ne.jp/2020/08/23/3357/ ##NucleoボードST;LINK/V2-1でのデバッグ ZeptoElectronicDesign, STM32 Nucleoをデバッガ ST-Linkとして使う方法 https://zeptoelecdesign.com/stm32-nucleo-stlink/