STM32Cube MXプロジェクト生成

自分の使いたいMCUを検索して右上のStart Projectする。
f:id:katakanan:20190324190425p:plain

Pin Configuration

を適当に
f:id:katakanan:20190328004928p:plain
FPGAならQuartus 13とかProject Navigatorとか
かなり昔からこんな画面のPINコンフィギュレーションソフトウェアがあったのに
代表的なMCUにはなぜないんだろうと思っていた。(PICとかAVRとかSTMも)(あったのかもしれないが)

外部クロックなどSystemに関係する機能はここでオンにしておく。
例として外部クリスタルを使う場合は以下を設定する。
f:id:katakanan:20190329220845p:plain

Clock Configuration

f:id:katakanan:20190328005143p:plain
データシートで見るようなクロックツリーがGUIで操作できる。
ユーザーが本当に求めていたものという感じだ。
外部クロックを使にはHSEをオンにする必要がある。

f:id:katakanan:20190329221042p:plain

Project Manager

ではコード生成するばしょや
Toolchainによってその形を適当にしてくれる。
f:id:katakanan:20190328010040p:plain
今回はWSLでmake + arm-none-eabi-gccでビルドしようと思うので
Makefileを選択。

Tools

ではいろいろな環境を設定できるらしいが今回は無視
f:id:katakanan:20190328010306p:plain

Code generation

を押すと指定した場所に必要なヘッダーファイルとともに
main関数の存在するファイル群が生成される。

f:id:katakanan:20190328010744p:plain
これがいわゆるStdPeriph_Libraryと比較されるHALライブラリか

mainまで作られてるので

sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
sudo apt update
sudo apt install gcc-arm-embedded

だが、リンカスクリプトが空なので自分で書かなければならない?
→生成しなおしたら空じゃなかった。

とりあえず
makeはできる。