マイクロマウス研修(のり)マウス自作研修

マイクロマウス研修(のり)[18]STM32F446 CubeMXセット

マイクロマウス研修(のり)

記事一覧 のり マイクロマウス研修

前回、デバッガ&ライタST-LINKの話を行いました。
次は、自作STM32F446汎用基板の書込みと動作確認を行っていきます。

これから確認しながら行うため自作汎用基板の回路図を再掲載
自作汎用基板の回路図

ハードウェアをセッティング

今回は、Nucleoに標準搭載されているST-LINKを使って書込みしてみます。

  1. Nucleoの基板の、CN2のジャンパを外す
  2. NucleoのCN4(SWD)と自作汎用基板のJ3(SWD)をピンソケットケーブルで接続
  3. NucleoとパソコンをUSBminiケーブルで接続
  4. 自作汎用基板とパソコンをAE-FT234X経由で接続(5V,GND,Tx,Rx)

Nucleoに標準搭載されているST-LINKを使った書込み

STM32CubeMXのセット

自作汎用基板のピン設定をSTM32CubeMXで行っていきます。

  • 8MHzの共振子を接続
  • 32.768kHzの水晶振動子を接続
  • SWDの接続
  • USARTの引き出し
  • USB_OTGの引き出し
  • プログラマブルLEDの名前をD2に
  • スイッチの名前をSW1に

プロジェクト新規作成

前に作ったNucleoプロジェクトをClose Allした後、新しくProjectを画像の手順で作成します。
新しくProjectを作成

実装したマイコンの型番は、STM32F446RCT6なので、以下のように入力してマイコンを選択します。
マイコンを選択

名前を入力して、Finishを押します。
名前を入力して、Finishを押下

STM32CubeMXの画面になります。
STM32CubeMX

Pinout & Configuration

GPIO_Output&GPIO_Input

簡単なところから始めると、PA5はLEDに繋がっているので、outputに切り替えていきます。
PA5のピン領域で左クリック、GPIO_Outputを選択。
PA5のピン領域で左クリック、GPIO_Outputを選択

切り替わりました。
切り替わった図

名前をシルクに合わせてD2に変更していきます。
PA5の場所で右クリック、Enter User Laberを選択。
PA5の場所で右クリック、Enter User Laberを選択

D2を入力してEnterキーを押す。
D2を入力してEnterキーを押下

変更完了です。
変更完了

同じようにPC13のピンも、GPIO_Inputに設定してSW1に変更。
同じようにPC13のピンも、GPIO_Inputに設定してSW1に変更

周波数設定

次は、クロック入力周りの、8MHzの共振子と、32.768kHzの水晶振動子を設定していきます。
System CoreのRCCを選択して、HSEとLSEを両方共Crystalを選択すると、ピン領域が緑色に変わり設定されます。

周波数の入力は、隣のタブであるをクリック。
画像のように、左側のInput frequencyのLSEのところに”32.768″を、HSEのところに”8″を入力します。

真ん中の更新アイコンを押すと、周辺回路で使用する周波数が自動で変更されます。

ST-LINK(SWD)

ST-LINK経由による書込やデバッグが行えるようにするには、
System CoreのSYSをクリックして、DebugにSerial Wireを選択すると、下記のようにPA13、PA14、PB3,のピン領域が変更されます。
System CoreのRCCを選択して、HSEとLSEを両方共Crystalを選択すると、ピン領域が緑色に変わり設定される

USART&USB OTG

通信周りである、USARTとUSB_OTGをセットしていきます。
Connectivityをクリックして、USART3をクリック。Asynchronous(非同期)を選択します。
Connectivityをクリックして、USART3をクリック。Asynchronous(非同期)を選択

USB_OTG_FSをクリックして、OTG/Dual_Role_Deviceを選択します。
USB_OTG_FSをクリックして、OTG/Dual_Role_Deviceを選択

これでSTM32CubeMXの設定は完了したので、保存します。
保存

そうすると、コードを生成するか聞かれるのでYesボンタをクリックします。
Yesをクリック

生成コード確認と書込

main.cを開いて、91〜93行目に自動でコードが生成されているのを確認したら、
D2のLEDを点滅させるプログラムを入力して、コンパイル&ST-LINK経由で書き込みしてみます。
D2のLEDを点滅させるプログラムを入力して、コンパイル&ST-LINK経由で書き込み

無事、1Hzの周期でLEDが点滅してくれました。
1Hzの周期でLEDが点滅

次は、UARTとUSB経由での書込みを行ってみます。

タイトルとURLをコピーしました