STM32F446の開発環境構築を行っていきます。
STMicroelectronics社から、統合開発環境としてSTM32CubeIDEが提供されていますので、今回はそちらを使用します。
STM32の開発環境構築に関して参考になるサイトは先達が上げてくれています。
DCマウス研修[05] STM32の開発環境
SW4STM32、STM32CubeMX、OpenOCD
マイクロマウス研修(kora編)[21] STM32マイコンの初期設定
マイクロマウス研修(kora編)[22] STM32マイコンでLチカ
SW4STM32、STM32CubeMX、STM32CubeProg、Windows10
環境構築とLチカ (STM32/Makefile/VSCode) – 元Web屋のマウス製作記 Part.15
Ubuntu: 18.04.3 LTS、GNU Make: 4.1、GNU Arm Embedded Toolchain: 6.3.1
OpenOCD: 0.10.0、VisualStudio Code: 1.41.1
STM32CubeMX: 5.4.0、STM32CubeF1: 1.8.0
マイクロマウス研修(しおたに)その19[Cube IDEの導入]
マイクロマウス研修(しおたに)その20[STBee F4miniでLチカ(DfuSe編)]
STM32CubeIDE、Dfu file manager、DfuSe Demo、Windows10
私の開発環境構築の確認は以下で行います。
STM32CubeIDE 1.3.0、Ubuntu18.04.4 LTS
最初は、自作ボードでの動作確認をいきなりせず、Nucleoボードの後に行います。
正常動作しなかった場合、ハード(自作ボード)が悪いのかソフトが悪いのかわからなくなるためです。
まずは、STM32CubeIDEのサイトに行き、説明文を読みます。
まずは、アカウント作成が必要なので、ページ右上にあるログインをクリックして、
新規登録を行います。ここに関する詳細は省きます。
ログインした後、サイトに戻って、STM32CubeIDE-Lnxをダウンロードしていきます。
ライセンスに関する文面がでてきますので、同意をクリックすると、ソフトのダウンロードが開始されます。容量としては744MBなので、回線速度によって5~10分程かかります。
私がダウンロードしたときは、以下のファイル名になっていました。
en.st-stm32cubeide_1.3.0_5720_20200220_1053_amd64.sh.zip
ダウンロードされたZIPファイルを展開すると、ディレクトリが作られ、以下のシェルスクリプトが入っていました。
st-stm32cubeide_1.3.0_5720_20200220_1053_amd64.sh
英語ですがインストールマニュアルがありました。翻訳すると、以下のようです。
1.コマンドコンソールを開き、ダウンロードした場所に移動
2.コマンドコンソールに、sudo sh ./st-stm32cubeide_VERSION_ARCHITECHURE.PACKAGE
3.コマンドコンソールに表示される指示に従う
だそうなので、ファイル名を読み替えて、
1.ZIPを展開したディレクトリ内で端末を開く。
2.端末で、$ sudo sh ./st-stm32cubeide_1.3.0_5720_20200220_1053_amd64.sh を実行
ライセンスに関する文面が出てきたので、一つ一つEnterキーで進み、同意するか聞かれるたところで、yでEnterキーを押す。
※Enterを長押ししていると、インストールに失敗します。ちゃんと読ませるインターフェースのようです。面倒ですが、読み進めていきます。
失敗したときは、sudo rm -r /opt/stを実行して、やり直します。
yを入力してEnterキー
インストールディレクトリの場所を、/opt/st/stm32cubeide_1.3.0でいいか聞かれるので、Enter
st-stlink-udev-rules software version 1.0.2で続けていいか聞かれるので、yを押してEnter
J-LinkやQtに関するライセンスの文面も出てきたので、Enterキーで進み、yを押してEnter
License accepted.が出たら、インストール完了です。
Ubuntuのアプリケーションで、IDEアイコンが増えているので、クリックします。
※ここから先は、WindowsやMacでも作業は同じになります。
workspace(作業場所)を聞かれるので、デフォルトのままで良ければLaunchボタンを押します。
プロジェクト作成画面になりました。
マニュアルを見ながら行う場合は、Getting Started with STM32CubeIDEを押すとPDFが開きます。
また、ダウンロードサイトの下の方に動画もあるのですが、小さくて細かいところが読めないので、雰囲気だけ見ておきます。
PDFのマニュアルを見ながら、続けていきます。
Start new STM32 projectをクリックすると、STM32の種類選択画面になります。
①上にあるタグの、Board Selectorをクリック
②Part Number Searchで、今回はNUCLEO-F446REを選択
③右側画面のBoards Listで候補が1つだけ出るので、クリック
④Next > ボタンを押します。
セットアップ画面がでるので、まずはLEDの点滅のサンプルプログラム作成のため、BlinkとProject Nameに記入して、Finishボタンを押します。
他はデフォルトのままにしましたが、適宜必要に応じて変更します。
初回だと、ペリフェラル初期化でデフォルトモードでいいかを聞かれますが、そのままYesで進みます。
この種類のプロジェクトは、STM32CubeMXのパースペクティブ(定義?)に関連しています。このパースペクティブを開きますか?」という文章が表示されるので、Yesボタンをクリックします。
STM32F4のソフトウケアパッケージのダウンロードがはじまります。5〜10分ほどで完了です。
Blinkプロジェクトが無事できました。Nucleoの設定が既に記入済みなので、ボードを動かすためのコードが自動生成されています。
これからLED点滅のプログラムを記述する場所ですが、左側のProject Explorerの▼を開いていくと、main.cがあるので、それをダブルクリックすると、以下の画面になります。
USER CODE BEGINとコメントがある103行目から、LEDを点滅させるプログラムを記入します。
便利なHAL関数が用意されているので、High&Lowを切り替えてくれるHAL_GPIO_TogglePin()関数を使ってみます。
Build Allのアイコンをクリック(もしくはCtrl+b)するとビルドが開始されます。
ビルドが上手く行くと、0 errorsと表示されます。
ここまでくれば、Nucleoボードの開発環境構築完了です。
次回は、Nucleoボードにプログラムを書き込んでいきます。