がれすたさんのDIY日記

電子回路、Python、組み込みシステム開発、自作エフェクターを語るblog

2019年版 STM32環境構築方法

以前よりSTM32について結構な数の記事を書いてきました。
最近ではAtollicTrueStudioが無料になったり、CubeMXが5.0になったり
いろいろ変わった経緯もあり2019年版と題して新しく書いたほうが良いのでは?となったわけです。

そんなわけで僕なりの2019年度版環境構築を書いてみたという記事です。


目次的なやつ

AtollicTrueStudioのインストール

まずIDE統合開発環境)についてですがAtollicTrueStudioを使うのでそれのインストールをしていきます。
Macの人はSW4STM32しかないけど・・・Eclipseなので同じように進めればいいと思う。

atollic.com

上記のサイトに行き、ダウンロードしてもらってあとはインストールしてもらえればいいと思う

CubeMXのインストール

STM32にはマイコンを楽に使うためのライブラリ群がありSTはそれをCubeFxx(xxは数字F7ならCubeF7のような感じ)と呼んでいる。
んでそいつを内包しGUIペリフェラルを設定するためのツールとしてCubeMXというものを提供している。

www.st.com

ページの下のほうにダウンロードリンクがあるのでダウンロードする(登録が必要だったはず
んでインストール

STM32CubeProgのインストール

以前STM32Utilityとして提供していたものとその周辺のソフトが一体になった書き込みソフトとしてSTM32CubeProgが新しく提供された
デバッガとつながらくなった時に何かと便利なのでこれも入れておくのがいいでしょう

www.st.com


評価ボードを買う

次に実際に動かすハードウエアの話
STM32では格安評価ボードとしてNucleoというプラットフォームを提供している。

f:id:gsmcustomeffects:20190311010721p:plainf:id:gsmcustomeffects:20190311010644p:plainf:id:gsmcustomeffects:20190311010616p:plain
STM32 評価ボード

もちろんNucleo以外にもEVALボードやDiscoveryボードというものを用意しているがどちらかというともとからできる人向けのプラットフォーム感がある。

そんなわけで何でもいいんで好きなNucleoボードを買ってください

僕は秋月でも買えるしブレッドボードでも使えるSTM32F303K8をチョイスしてこれで説明していきます。
STM32 Nucleo Board STM32F303K8: マイコン関連 秋月電子通商-電子部品・ネット通販

CubeMXを起動する。

ここからが実際の作業です

起動するとこの画面が出てきます
f:id:gsmcustomeffects:20190311020003p:plain

Access to board selectorをクリックしてくださいそうするとこの画面が開きます。

f:id:gsmcustomeffects:20190311020131p:plain
ボードセレクト画面

次に303K8を探して選ぶとこの画面になると思います。

f:id:gsmcustomeffects:20190311020558p:plain
ボードインフォメーション

そうしましたら赤枠のStartprojectをクリックして進みます。

そうするとこういう画面が出てきます

f:id:gsmcustomeffects:20190311021026p:plain
基本画面

今回はLEDをちかちかしてみたいと思うのでピンの設定をしていきます。
PB3をアウトプットに設定、デバッグピンも設定

f:id:gsmcustomeffects:20190311024446p:plain
ピンの設定

ここでPB3に設定しているのはボード上のLEDを光らせる為です

f:id:gsmcustomeffects:20190312220730p:plain
Nucleo32の回路図(UM1956)

次にクロックの設定です。
まあ初期設定でも動くには動くんですがせっかくやるのでいじり方だけでも覚えておきましょう。
ここではメインクロックを64MHzにしています。

f:id:gsmcustomeffects:20190311021627p:plainf:id:gsmcustomeffects:20190311021923p:plain
クロックの設定(クリックで拡大できます)

次にプロジェクトの設定をします

f:id:gsmcustomeffects:20190311022511p:plainf:id:gsmcustomeffects:20190311022445p:plain
プロジェクトの設定

次にGenerateCodeをクリックしてコードを出力してください
上手くできていればこんな感じにファイルができているはずです
f:id:gsmcustomeffects:20190311023102p:plain

Atollic TrueStudioを起動する。

そうしましたら次はAtollicTrueStudioを起動します。

そして上部メニューからFile/インポートを選択し先ほど作ったプロジェクトをインポートする。

まずはプロジェクトをビルドする

f:id:gsmcustomeffects:20190311023705p:plain
プロジェクトのビルド

ビルドに成功しましたらコード追加します

f:id:gsmcustomeffects:20190311024815p:plain
コードの記述

次にデバッグボタンをクリックします。

f:id:gsmcustomeffects:20190311024922p:plain
デバッグボタンのクリック

そうすると画面が切り替わります。
画像に従ってブレークポイントを設定してあげてプログラムを進めるボタンを押してあげれば500msごとにプログラムが止まりボード上のLD3が光ったり消えたりすると思う
f:id:gsmcustomeffects:20190311025250p:plain

以上で入門は終了!

所感

2019年版の入門を書いたけど日に日にまじで楽になってるね。

軽いQ&A
Q:自分でチップ買ってきてそれに対して書き込むにはどうしたらよいの?
A:別途デバッガが必要です。

語弊があるので補足しておくとNucleo64やNucleo144はSTLINKV2-1ってのがついてるんで外部チップに向けてもデバッグしたり書き込んだりできる。

Q:どんなデバッガがあるの?おすすめは?
A:STLINKV2かV3

2018年まではSTLINKV2が主流だったけど2019年になってV3が出たので今はこれがお勧めです。

f:id:gsmcustomeffects:20190311030017p:plain
STLINKV3

ARMマイコンなので別のメーカー製のでも書き込みやデバッグはできますがSTM32CubeProgが使えるの考えると純正がいいです。

Q:STM32CubeProgは何が出来んの?
A:デバッガのファームウエアをアップデートしたり、書き込みしたりその他オプションをいじったりできます

繋いだ時こんな感じです
f:id:gsmcustomeffects:20190311030334p:plain

Q:他参考になる情報とかは?
A:僕のまとめサイトペリフェラルの説明はしてます

結構前にかいた記事もあるので適宜読み替えてくれればいいと思います。
開発環境の使い方は変わったけどAPIレベルではそんなに変わってないので以下のサイトは役立つはず

gsmcustomeffects.github.io