STM32の開発環境を構築する(わりと楽に)

2017年10月10日

STM32の開発環境についての記事をまとめようと思っていました.

ですが,僕がいろいろ調べて構築した開発環境をどうやら一発でやってしまえるシロモノがあるようです.
その名も,Sytem Workbench for STM32

www.st.com

Eclipseをベースとしたマルチプラットフォームの開発環境のようです.
環境構築するために頑張った俺の努力を返してほしい

インストール

サイトにアクセスします.
OpenSTM32 Community Site | HomePage

このコミュニティ(OpenSTM32.org)から開発環境をダウンロードするためにユーザ登録が必要なので,面倒くさいかもしれませんが登録を行ってください.
f:id:Yuqlid:20160613002630p:plain:w300

ユーザ登録,ログインの後インストーラを入手します.
f:id:Yuqlid:20160613002629p:plain:w300

自身のOSにあったものをダウンロードしてインストールなり解凍なりしてください.
ここのインストーラを用いれば一緒にSTLinkのデバイスドライバもインストールされます.
System WorkbenchはEclipseベースのソフトウェアなのでJAVAのランタイム(JRE)をインストールしておいてください.
f:id:Yuqlid:20160613003052p:plain:w300

プロジェクト作成

アイコンをクリックして起動します.
f:id:Yuqlid:20160612234354p:plain:w100

Workspaceを適当に指定します.
projectをC/C++で作成します.
プロジェクト名を設定,今回はf4discoveryとします.
f:id:Yuqlid:20160612234840p:plain:w300
Project type:Ac6 STM32 MCU Project
Toolchains :Ac6 STM32 MCU GCC

プロジェクトのコンフィグレーションを設定します.ここはそのままでいいと思います.
f:id:Yuqlid:20160612234402p:plain:w300

このプロジェクトでのチップを選択します.公式に出ている開発ボードであればドロップダウンリストから選択します.
f:id:Yuqlid:20160612234406p:plain:w300
使う基板はstm32f4discoveryなので
Series:STM32F4
Board:STM32F4DISCOVERY
と設定します.
自分仕様の基板を作成したい時は,「Create a new custom board」から目的に合った基板の設定を作成します.

最後にファームウェアの設定をします.
f:id:Yuqlid:20160612234408p:plain:w300

  • No firmware
  • Standard Peripheral Library(StdPeriph)
  • Hardware Abstraction Layer(Cube HAL)

から選択します.
最初はインターネットからファームウェア(最新版)をPCにダウンロードするので少々時間がかかります.
その後必要なドライバやユーティリティのオプションを確認し.これでプロジェクト作成の完了です.

ビルドとデバッグ

定番のLチカをやってみます.(firmware:Cube HAL)

sw4stm32 helloworld

プロジェクトをビルドします.(プロジェクトを右クリック→Build Projectまたは金槌アイコンをクリック)
f:id:Yuqlid:20160615010510p:plain←これ
エラーが出ずに,Build Finishedと表示されればOKです.

OpenOCDを用いてデバッグをすることが可能です.
OpenOCDの詳細はググってください.

簡単なデバッグor実行の流れ

  1. 虫のアイコンの右にある下矢印(🔻)をクリック
    f:id:Yuqlid:20160615010509p:plain
  2. Debug Configrations… をクリック
  3. AC6 STM32 Debuggingを右クリック→New
  4. 右下のDebugをクリック

すると一度ビルドされその後にデバッグ画面に切り替わります.
このようなボタンが現れます.
f:id:Yuqlid:20160615010507p:plain
これでデバッグを実行したり停止したりすることが可能です.

さっさと実行させたい場合は,虫のアイコンの右側にある再生ボタンのようなアイコンで上記のデバッグと同様のことを行えば,書き込まれてからすぐに実行されます.
f:id:Yuqlid:20160615010508p:plain←これ

さっさと実行させるもうひとつの方法としては

  1. プロジェクトを右クリック→Target
  2. Program chip→OK
  3. 基板のリセットボタンを押す

これで,
stm32f4discoveryの基板のオレンジ色LED(LED3)が点滅します.
LED3~LED6に数字を変更すると,基板の点滅するLEDが変化します.

まとめ

楽なSTM32の開発環境を構築,サンプルコードを書いてLチカしました.

なにかあればコメントをよろしくお願いします.